Microservice Architecture Basics for Product People: Learn the Key Concepts in 10 Minutes
A large part of your job as a Product Manager consists of talking with engineers. You need to understand what they’re saying, what frameworks and architecture your company uses and why.
When it comes to modern web architecture it usually does not take long that terms like microservices, packages, Pods, Nodes, JWT, Docker containers and Kubernetes blown in your face. If you sit in a meeting and ask yourself what the heck they are talking about, it’s time to update.
Below are 3 great solutions to get a basic, but very useful understanding of the concepts of modern infrastructure, deployment and microservices architecture. Admittedly the “10 Minutes” are very ambitious. They were borrowed from the following blogpost. But it’s a great opening!
Learn the Kubernetes Key Concepts in 10 Minutes
The Blogpost Learn the Kubernetes Key Concepts in 10 Minutes of Omer Dawelbeit gives a short overview and he explains the basic components: Pods, Containers, Label, Replication Controllers, Service, Nodes and Kubernetes Master.
In this post I will provide a brief explanation of the key concepts of Kubernetes. I will avoid using lengthy definitions, these are already available in the Kubernetes documentations. Rather, I will be using a few diagrams (some animated) and examples to explain these concepts. I found a few of the concepts difficult to fully grasp without a diagram (Service for example). Where appropriate I will also provide links to the Kubernetes documentations if you want to deep dive.
Free Online-Course “Master Infrastructure Management” by Google
The Udacity course is actually designed for Students with backgrounds in operations and development. But about 2 hours time is also well invested for Product Managers or Product Owners who are interested in the concepts of highly resilient and scalable infrastructure to roll out new features frequently.
We’ve built this course in partnership with experts such as Kelsey Hightower and Carter Morgan from Google and Netflix’s former Cloud Architect, Adrian Cockcroft.
In this course you will learn to:
- Containerize an application by creating Docker config files and build processes to produce all the necessary Docker images
- Configure and launch an auto-scaling, self-healing Kubernetes cluster
- Use Kubernetes to manage deploying, scaling, and updating your applications
- Employ best practices for using containers in general, and specifically Kubernetes, when architecting and developing new microservices
Getting Startet with Kubernetes on Google Container Engine
This video is a hands-on tutorial on deploying a Kubernetes cluster on the Google Container Engine.
In this video:
- Introduce an example web app cluster.
- Create a Kubernetes cluster on Google Container Engine.
- Deploy containers using Replication Controllers.
- Test the Replication Controllers’ ability to restart failed Pods
- Deploy Services
- Test the Services’ abilities to provide load balancing and DNS resolution.
- Udacity Online-Course “Master Infrastructure Management”
- Blogpost Learn the Kubernetes Key Concepts in 10 Minutes of Omer Dawelbeit
- Omer Dawelbeits Getting Started with Kubernetes on Google Container Engine
- Martin Fowler on the Pros and Cons of Microservices
- 12-Fractured Apps — One of Carters favorites articles where Kelsey breaks down problems with many modern apps and how 12-factor app methodology solves those technical woes.
- Tim O’Reilly, “Open Data: Small Pieces Loosely Joined” For the history nerds: Quite possibly the first article about Microservices Architecture (before it even had a name).
- Adrian Cockroft “The Evolution of Microservices”
- Adrian Cockroft “The State of the Art in Microservices” (docker specific)
- Martin Fowler “Microservices” at goto
- Craig McLuckie “The Next Chapter in Native Cloud Computing” on cloud-native computing as being: container-packaged, dynamically-scheduled, and microservices-oriented