Oh Behave! Containers and Pods for Kubernetes
We want our apps to be efficient and well-behaved citizens in our first-class clusters.
For a developer, the heart of Kubernetes is running applications in Pods. It's your choice to have bloated containers or distilled containers. In this workshop, we'll look at the important checklist items you should consider to distill your containers and Pods.
The distillation pattern includes modularity, performance, resource consumption, security, and health checks. We'll see how we can attack these items throughout the development process of your application, containerization, and pod declarations.
Some item's we'll look at are:
- 8 distillation steps
- Efficient base containers
- Performance of gRPC vs REST
- Polyglot containers with 12-factor apps
- Webservice frameworks and GraalVM
- Security of containers and RBAC with Pods
- Health checks with probes
- CPU and memory declarations
- Automatic pod scaling
- Pod disruption budgets
About Jonathan Johnson
Jonathan Johnson is an independent software architect with a concentration on helping others unpack the riches in the cloud native and Kubernetes ecosystems.
For 30 years Jonathan has been designing useful software to move businesses forward. His career began creating laboratory instrument software and throughout the years, his focus has been moving with industry advances benefitting from Moore’s Law. He was enticed by the advent of object-oriented design and applied it to financial software. As banking moved to the internet, enterprise applications took off and Java exploded onto the scene. Since then, he has inhabited that ecosystem. After a few years, he returned to laboratory software and leveraged Java-based state machines and enterprise services to manage the terabytes of data flowing out of DNA sequencing instruments. As a hands-on architect, he applied the advantages of microservices, containers, and Kubernetes with a laboratory management platform.
Today he enjoys sharing his experience with peers. He provides perspective on ways to modernize application architectures while adhering to the fundamentals of modularity - high cohesion and low coupling.microservices, containers, and Kubernetes to their laboratory management platform.
More About Jonathan »