This course explores how to build microservices in Go and deploy them on Kubernetes to create reusable components that can be fully managed in the cloud. We'll talk about what a microservice is and its overall architecture. We'll then take a look at the Go programming language, its benefits, and why it works well for building microservices.
You'll also get an intro to Kubernetes including what it is, what it is used for, and the key components that are needed to get a microservice from code to be exposed on the internet.
We'll then combine these three services to do an example use case where we'll build a microservice in Go and deploy it on Kubernetes. Finally, we'll look at CI/CD integration with GitHub and Google Cloud and how you can automate your deployments.
Learning Objectives
- Learn about microservices and their overall architecture
- Learn about the Go programming language and why it's good for building microservices
- Understand how Kubernetes can be used to deploy microservices
- Learn about CI/CD with GitHub and Google Cloud
Intended Audience
This course is intended for engineers throughout the tech stack or anyone who wants to get their feet wet in DevOps and learn how programs can be managed in the cloud.
Prerequisites
There are no essential prerequisites for this course. However, we recommend that you have:
- Experience with at least one high-level programming language, whether that be Java, Python, or Ruby
- A conceptual understanding of Linux containers and/or Docker
Before we end this course, I wanna review the key points from each of our previous topics, starting with microservices. Remember, microservices are small, independent applications that perform a specific set of operations. Each microservice can be managed by a small team and microservices should embrace the Unix Philosophy, do one thing and do it well.
The Go programming language is a great choice for your next microservice application because it offers you a powerful standard library, simple to use concurrency patterns with channels and goroutines, and when compiled comes down to a small binary and reduces your overall footprint when compared to runtime languages, such as Python or Java.
Kubernetes is a container orchestration tool that can easily manage your microservices and provide you with high availability, automatic scaling, networking, and network exposure through services. Pods are the smallest unit in Kubernetes that house your containerized applications.
Deployments automatically manage your pods and keep them running. Services are the resources needed to expose your pods to the internet. When you can, leverage CI/CD to automate your build and deployment processes.
Google Cloud Build is a great choice since it easily integrates with your GitHub repositories and all the other options provided to you on Google Cloud. It can also manage the container pushes to both the Registry and the Kubernetes Cluster.
I know it was a lot covered, but I wanna thank you so much for watching this course. If you have any questions, comments or concerns, please feel free to reach out, and if you can, please take a moment to rate this course and let us know what you thought. Thank you, and take care.
Calculated Systems was founded by experts in Hadoop, Google Cloud and AWS. Calculated Systems enables code-free capture, mapping and transformation of data in the cloud based on Apache NiFi, an open source project originally developed within the NSA. Calculated Systems accelerates time to market for new innovations while maintaining data integrity. With cloud automation tools, deep industry expertise, and experience productionalizing workloads development cycles are cut down to a fraction of their normal time. The ability to quickly develop large scale data ingestion and processing decreases the risk companies face in long development cycles. Calculated Systems is one of the industry leaders in Big Data transformation and education of these complex technologies.