Software Development

Cloud Native Development Boot Camp

Overview

This course is designed to provide engineers new to modern distributed systems with an in-depth and intensive introduction to the principles and practices of cloud native software development and operation.

This five-day hands-on course is designed to provide developers new to cloud native systems with a comprehensive introduction to microservices, Microservices Application Architecture, containers, orchestration and the Kubernetes ecosystem. Attendees will leave with a clear understanding of microservices and how to maximize them in cloud native systems. Each day is organized into four modules, each with a hands-on lab designed to give attendees practical experience with the key topics covered in lecture. The course covers the benefits of container-based microservice packaging and the use of registries as well as dynamic application management using orchestration tools. Attendees will examine various use cases and architecture patterns for microservice based applications throughout the course, with focused discussion on microservice communications, transactions and state management. Upon completion of the course attendees will have the skills and information necessary to begin designing and working with microservice based applications in a Kubernetes environment.

Duration

5 Days

Who Should Take This Course

Audience

Developers new to cloud native systems, tools and practices.

Prerequisites

Because the course focuses on microservice properties and design, no particular programming language expertise is required though attendees should have experience with at least one programming language. All students will need to be able to run the 64 bit lab VM. Code examples are provided in Go and Python.

Course Outline

Cloud Native Development Boot Camp

Day 1 – Modern Distributed Applications

    1. Software Architecture Evolution
    2. Microservice Overview
    3. Microservice Communications I – REST
    4. Microservice Communications II – RPC

Day 2 – Container Technology

    1. Container Overview
    2. Working with Containers
    3. Container Images and Distribution
    4. Packaging Microservices in Containers

Day 3 – Cloud Native State Design and Management

    1. Microservice Communications III – Messaging
    2. Cloud Native Transactions and Idempotence
    3. Event Sourcing and Immutability
    4. Stateless Services and Polyglot Persistence

Day 4 – Application Orchestration

    1. Container Orchestration Overview
    2. Deploying Workloads (Pods)
    3. Controllers, Liveness and Readiness
    4. Service Discovery, Services and Ingress

Day 5 – Managing Applications

    1. Configuring Applications
    2. Observability
    3. Debugging and Troubleshooting
    4. Packaging Applications with Helm
Search UMBC Training Centers