Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
The Complete Kubernetes Guide

You're reading from   The Complete Kubernetes Guide Become an expert in container management with the power of Kubernetes

Arrow left icon
Product type Course
Published in May 2019
Publisher Packt
ISBN-13 9781838647346
Length 628 pages
Edition 1st Edition
Arrow right icon
Authors (3):
Arrow left icon
Jesse White Jesse White
Author Profile Icon Jesse White
Jesse White
Gigi Sayfan Gigi Sayfan
Author Profile Icon Gigi Sayfan
Gigi Sayfan
Jonathan Baier Jonathan Baier
Author Profile Icon Jonathan Baier
Jonathan Baier
Arrow right icon
View More author details
Toc

Table of Contents (26) Chapters Close

Title Page
Copyright and Credits
About Packt
Contributors
Preface
1. Introduction to Kubernetes FREE CHAPTER 2. Understanding Kubernetes Architecture 3. Building a Foundation with Core Kubernetes Constructs 4. Working with Networking, Load Balancers, and Ingress 5. Using Critical Kubernetes Resources 6. Exploring Kubernetes Storage Concepts 7. Monitoring and Logging 8. Monitoring, Logging, and Troubleshooting 9. Operating Systems, Platforms, and Cloud and Local Providers 10. Creating Kubernetes Clusters 11. Cluster Federation and Multi-Tenancy 12. Cluster Authentication, Authorization, and Container Security 13. Running Stateful Applications with Kubernetes 14. Rolling Updates, Scalability, and Quotas 15. Advanced Kubernetes Networking 16. Kubernetes Infrastructure Management 17. Customizing Kubernetes - API and Plugins 18. Handling the Kubernetes Package Manager 19. The Future of Kubernetes 1. Other Books You May Enjoy Index

Microservices and orchestration


As we break down an application into very specific domains, we need a uniform way to communicate between all the various pieces and domains. Web services have served this purpose for years, but the added isolation and granular focus that containers bring have paved the way for microservices.

A definition for microservices can be a bit nebulous, but a definition from Martin Fowler, a respected author and speaker on software development, says this:

In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.

As the pivot to containerization and as microservices evolve in an organization, they will soon need a strategy to maintain many containers and microservices. Some organizations will have hundreds or even thousands of containers running in the years ahead.

Future challenges

Life cycle processes alone are an important piece of operation and management. How will we automatically recover when a container fails? Which upstream services are affected by such an outage? How will we patch our applications with minimal downtime? How will we scale up our containers and services as our traffic grows?

Networking and processing are also important concerns. Some processes are part of the same service and may benefit from proximity to the network. Databases, for example, may send large amounts of data to a particular microservice for processing. How will we place containers near each other in our cluster? Is there common data that needs to be accessed? How will new services be discovered and made available to other systems?

Resource utilization is also key. The small footprint of containers means that we can optimize our infrastructure for greater utilization. Extending the savings started in the Elastic cloud will take us even further toward minimizing wasted hardware. How will we schedule workloads most efficiently? How will we ensure that our important applications always have the right resources? How can we run less important workloads on spare capacity?

Finally, portability is a key factor in moving many organizations to containerization. Docker makes it very easy to deploy a standard container across various operating systems, cloud providers, and on-premise hardware or even developer laptops. However, we still need tooling to move containers around. How will we move containers between different nodes on our cluster? How will we roll out updates with minimal disruption? What process do we use to perform blue-green deployments or canary releases?

Whether you are starting to build out individual microservices and separating concerns into isolated containers or you simply want to take full advantage of the portability and immutability in your application development, the need for management and orchestration becomes clear. This is where orchestration tools such as Kubernetes offer the biggest value.

You have been reading a chapter from
The Complete Kubernetes Guide
Published in: May 2019
Publisher: Packt
ISBN-13: 9781838647346
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime