Chapter 1: The Impact of Kubernetes on developmentChapter Goal: Understand the foundations of Kubernetes and how it disrupted development and operations
No of pages 30
Sub -Topics
- Introduction to Kubernetes
- Services provided by Kubernetes (Infrastructure, Cluster, Application, Developer)
- Why change development behaviour?
- How Kubernetes and DevOps fit together
Chapter 2: Application Design Decisions
Chapter Goal: Discuss various design decisions before you start with development
No of pages: 40
Sub - Topics
- Domain Driven Design
- Microservices
- Choosing the right programming platform (Quarkus, Javascript, Go ... (Python: )
- Application Deployment Models (App Server, Modular App Server, e.g. Galleon, Bootable Jar, Serverless, Function as a Service)
Chapter 3: Developing on and with Kubernetes
Chapter Goal: Learn different development models and options
No of pages: 50
Sub - Topics:
Local Development, Build and Testing - Hybrid Models (local coding / remote build / remote test, local coding / local build / remote test)
- Coding on Kubernetes
Chapter 4: Writing Kubernetes-native Applications
Chapter Goal: Explain how to leverage Kubernetes API, Resources, CRDs
No of pages: 20
Sub - Topics:
1. Using the Kubernetes API to make the application control the infrastructure
2. Create Custom Resource Definitions to interact with the application 3. Use Custom Resource Definitions to store application data
Chapter 5: Kubernetes-native CI/CD
No of pages: 30
Chapter Goal: How to Leverage Kubernetes for Build (pipelines)
- Staging environments
- Container Builds
- Kubernetes Build Pipelines
- Continuous Deployment
GitOps Chapter 6: Reproducible Deployments and Operations to Kubernetes
No of pages: 30
Chapter Goal: Show different ways of packaging and deploying applications and separating environment-specific configuration
- HELM
- What are Operators?
- Writing your own Operator
- Configuration Management
Chapter 7: Running Distributed Applications
No of pages: 30
Chapter Goal: Explain the different runtime aspects and how to use application service to shift technical responsibilities to the platform
- Composing applications from services
- Databases
- Leveraging platform services to purify business logic (Service Mesh, Prometheus, EFK)
- Kubernetes-native Middleware
Chapter 8: Managing the Application Lifecycle
No of pages: 20
Chapter Goal: Illustrate how to scale an application, release new features, manage traffic and make services more resilient in a distributed environment.
- Scaling your application
- Serverless / Function as a Service
- Canary Releases, Blue/Green Deployment, Dark Releases, A/B Testing
- Improving robustness and resiliency