Building cloud native applications






What you'll learn, and how you can apply it
By the end of this two-day 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
And you'll be able 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
Who is this presentation for?
- You're a software developer or architect who wants to get an overview of cloud native development and principles and start developing cloud native applications.
Level
Prerequisites:
- A basic understanding of containers, Docker, and Kubernetes
- Familiarity with at least one of the popular programming languages such as C#, Java, Go, or JavaScript
Hardware and/or installation requirements:
- A laptop with Docker and Kubernetes installed (You can either use Minikube or Docker for macOS or Windows or a managed Kubernetes solution from one of the cloud providers.)
Outline
Day 1
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
- Meaning of serverless computing
- 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
Day 2
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
- Testing with the service mesh
- Developing resiliency services
- Security in the mesh
Portability
- Portability considerations
- Packaging options
- Special cases: Air gapped environments
About your instructor

Peter Jausovec is a software engineer with more than 10 years of experience in the field of software development and tech. He’s spent time in various roles, starting with QA then moving to software engineering and leading tech teams. His early career was mostly focused on developer and cloud tooling; however, in recent years he’s been focusing on developing distributed systems and cloud native solutions.
Conference registration
Get the Platinum pass or the Training pass to add this course to your package.
Premier Diamond Sponsor
Gold Sponsors
Silver Sponsors
Innovators
Exhibitors
Contact us
confreg@oreilly.com
For conference registration information and customer service
partners@oreilly.com
For more information on community discounts and trade opportunities with O’Reilly conferences
velocity@oreilly.com
For information on exhibiting or sponsoring a conference
pr@oreilly.com
For media/analyst press inquires