Unleash your containerization and microservices strategy with Kubernetes.
The Executive’s Guide to Kubernetes
Kubernetes is emblematic of a movement in technology — a movement away from monolithic architectures, towards what’s known as microservices architecture, where services are decoupled, isolated, and only as big as they absolutely have to be. These individual microservices are deployed in containers that are launched in seconds and may be terminated only after minutes of usage.
So, why go through the work of unbundling and containerizing your monolith if the end result is near-identical to an end user? Simple: it’s easier to develop and maintain in nearly every way. From executing upgrades, to allocating resources with precision, to isolating performance issues, the advantages of a microservices architecture over a monolithic one are vast.
In this guide, we’ll go over everything you need to know to begin preparing your applications for life in cloud containers. But first, let’s start with some basic ideas you’ll see mentioned throughout all of these chapters.
Key Terms & Concepts
- Containers: A standalone, executable package of software that includes all necessary code and dependencies.
- Immutable Architecture: An infrastructure paradigm where servers are never modified, only replaced.
- Infrastructure-as-Code: The practice of provisioning and managing data center resources using humanly-readable declarative definition files (e.g., YAML).
- Microservices: A series of independently deployable software services that, together, make up an application.
- Vertical Scaling: Where you allocate more CPU or memory to your individual machines or containers.
- Horizontal Scaling: Where you add more machines or containers to your load-balanced computing resource pool.
Putting it all Together
By decoupling your services and converting them into micro services, you enable containerization for each individual service. This containerization compartmentalizes any resource needs, configuration needs, and performance issues for a particular service–allowing your engineering department to align individual contributors with teams specialized to support a unique tech stack best tailored to power that service. Once containerized, your architecture can then become immutable to ensure the stability of production environments while also allowing for accurate and thorough testing of new image configurations.
Each of the following chapters provides a deeper look into the concepts, best practices, and challenges of transitioning to a Kubernetes-based containerized set of microservices.
Comparing Containers to Virtual Machines
Chapter 2: Benefits of Microservice-Based Architecture
Chapter 3: Reasons to Use Immutable Architecture
Chapter 4: Why Containers are Challenging Without Kubernetes
Chapter 5: History of Kubernetes
Chapter 6:An Overview of Kubernetes Architecture
Chapter 7: The Challenges with Kubernetes
Chapter 8: The Kubernetes Skills Required For Success
Chapter 9: Hosted Kubernetes – A Strategic Overview
Chapter 10: Kubernetes Best Practices
Chapter 11: Kubernetes Management Tools
Microservices, containers, and Kubernetes in plain English
See where Kubernetes solves the unique challenges of deployment, scaling, configuration and lifecycle management of containers.