The way developers design, build, and run software has changed significantly with the evolution of microservices and containers. These modern architectures use new primitives that require a different set of practices than most developers, tech leads, and architects are accustomed to. With this focused guide, Bilgin Ibryam and Roland Huß from Red Hat provide common reusable elements, patterns, principles, and practices for designing and implementing cloud-native applications on Kubernetes.
Each pattern includes a description of the problem and a proposed solution with Kubernetes specifics. Many patterns are also backed by concrete code examples. This book is ideal for developers already familiar with basic Kubernetes concepts who want to learn common cloud-native patterns.
You'll learn about the following pattern categories:
- Foundational patterns cover the core principles and practices for building container-based cloud-native applications.
- Behavioral patterns explore finer-grained concepts for managing various types of container and platform interactions.
- Structural patterns help you organize containers within a pod, the atom of the Kubernetes platform.
- Configuration patterns provide insight into how application configurations can be handled in Kubernetes.
- Advanced patterns cover more advanced topics such as extending the platform with operators.
About the Author: Bilgin Ibryam is a principal middleware architect at Red Hat, and a committer to multiple projects at the Apache Software Foundation. He is a regular blogger, open source evangelist, blockchain enthusiast, speaker, and the author of Camel Design Patterns book. He has over a decade of experience building and designing highly scalable, resilient, distributed systems.
In his day-to-day job, Bilgin enjoys mentoring, coding and leading enterprise companies to be successful with building open source solutions. His current work focuses on enterprise blockchain, distributed systems, microservices, and cloud-native applications in general.
Dr. Roland Huß is a software engineer at Red Hat who worked as tech lead on Fuse Online and landed recently in the OCF team for coding on Knative. He has been developing in Java for over twenty years now and found recently another love with Golang. However, he never forgot his roots as a system administrator. Roland is an active open source contributor, lead developer of the JMX-HTTP bridge Jolokia and some popular Java build tools for creating container images and deploying them on Kubernetes and OpenShift. Besides coding, he enjoys to spread the word on conferences and writing about his work.