Building Cloud-Native Applications

This training course goes through the fundamental building blocks of the next-generation cloud native apps. You will learn to decide on containers versus functions, which communication patterns to use, how to set up development and debugging environments, CI and CD pipelines ...

Learn more

Interested in private workshops for your company?

We can tailor the course material that matters to you. Contact us for more information.

Building Cloud-Native Applications

This training course goes through the fundamental building blocks of the next-generation cloud native apps. You'll learn to decide on containers versus functions, which communication patterns to use, how to set up development and debugging environments, CI/CD pipelines, and to monitor and observe your applications using key metrics through theory, demos, and exercises, using Kubernetes.

What will I learn?

By the the end of this training course, you'll understand:

  • What makes an application a cloud-native application
  • How to get started designing and building cloud-native applications
  • Understand when to use containers versus functions

By the end of the workshop, you will learn how to:

  • Set up the environment for development and debugging, CI/CD pipelines for builds and deployments, and monitoring for key application metrics
  • Decide on communication patterns
  • Use a service mesh to do zero-downtime deployments, A/B tests, and canary deployments

Course Outline

Cloud native fundamentals

  • Fallacies of distributed computing and why they’re still valid in a cloud native world
  • Availability and SLAs in cloud-native applications
  • Microservices, containers, and functions
  • Application modernization

Architecting cloud-native applications

  • Choosing the right compute option
  • Choosing the right data option<
  • Service communication patterns
  • Understanding gateways, ingress, and egress
  • Defense in depth

Developing cloud-native applications

  • Development process - tools and environments
  • Local and in-cloud debugging
  • Configuration and secret management

Testing cloud-native applications

  • Testing in the cloud-native world
  • Development, testing, and staging environments
  • Testing in production
  • Mock services

Operating cloud-native applications

  • Setting up effective CI/CD pipelines
  • Builds, deployments, and releases
  • Importance of monitoring and observability
  • Centralized logging and visualizing metrics
  • Alerting and on-call

Service mesh

  • What is it and why is it interesting?
  • Traffic management: zero-downtime deployments, A/B testing, canary
  • Ingress and egress
  • Developing resilient services
  • Security in the mesh

Audience

This training course is for software developers or architects who want to get an overview of cloud native development and principles and start developing cloud native applications.

Prerequisites

The participants should be familiar with containers and Docker basics.

You should also be familiar with one of the popular programming languages such as C#, Java, Go, Javascript. You will need a Mac, Linux or Windows computer with the following installed:

  • Git
  • Docker
  • Kubernetes
  • Code/text editor (e.g. VS Code or equivalent)

Get notified when Building Cloud-Native Applications is available.