Course Code: ku8sdpbspk
Duration: 21 hours
Prerequisites:
  • Familiarity with using the Linux command line, Linux file system, Linux networking, bash scripting.
  • An understanding of programming concepts and methodologies.
  • Familiarity with Docker and Linux containers technology.
  • Familiarity with Kubernetes concepts.

Audience

  • Developers
  • Operations
  • DevOps
  • QA Engineers
  • IT Project Managers
Overview:

The evolution of microservices and containers in recent years has significantly changed how we design, develop, deploy and run software. Modern applications must be optimized for scalability, elasticity, failure, and change. Driven by these new demands, modern architectures require a different set of patterns and practices. In this training, we examine ways to identify, understand and adjust to these new requirements.

Course Outline:

- Introduction


- Recap about Linux containers technology


- Recap about Kubernetes basic concepts


- Microservice based applications


- The 12 Factors App Principles


- Foundational Patterns: Distributed Primitives, Predictable Demands, Dynamic Placement, Declarative Deployment, Observable Interior, and Life Cycle Conformance.
 

- Behavioral Patterns: Batch Jobs, Scheduled Jobs, Daemon Services, Singleton Services and Self Awareness.
 

- Structural Patterns: Sidecar, Initializer, Ambassador, and Adapter.
 

- Configuration Patterns: Env Var Configuration, Configuration Resources, Configuration Templates, and Immutable Configuration.
 

- Summary and Conclusion


The labs are the following:

12 Factor Apps: 

We’ll use a Kubernetes local cluster to deploy a Java app and apply the 12 Factors (one lab for each factor)

Patterns:

We’ll use a local Kubernetes cluster to deploy a Spring service and will apply the patterns one by one as a lab each. We will focus on the patterns related to what they described as well. Probably we’ll have to skip some patterns to fit the schedule.

It's recommended to download in advance this e-book in which the patterns labs are based. 

https://www.redhat.com/en/engage/kubernetes-containers-architecture-s-201910240918