Cloud Native Development in Practice

23 lessons


All Roles


Why is this learning path important?

This learning path will take you on a journey of building a greenfield web application from scratch, getting it to run on a modern cloud native platform, and how to deal with it after it goes to production.

If you have not yet completed the Cloud Native Application Development with Spring learning path, complete that first.

This series takes the concepts you learn in the Cloud Native Application Development with Spring learning path and applies them to a specific application context and codebase.

In this learning path you will build a greenfield Spring Boot application and deploy it on Tanzu Application Service (TAS).

Then you will run it and maintain it in production.

You will gain an understanding of how Tanzu Application Service platform works, how its container orchestration compares to Kubernetes, and will recap some fundamentals of Spring and Spring Boot along the way.

You will also apply some of the previous concepts such as Cloud Native Development, Test Driven Development and Continuous Integration and Continuous Delivery.

Who is this learning path for?

This learning path is for software engineers and architects who wish to gain a deeper understanding of modern Cloud Native Platforms and how Spring Boot applications run on them.

Learning outcomes

After completing the learning path, you will be able to

  • Demonstrate the ability to build greenfield, cloud native applications using Java, and Spring Boot
  • Use Tanzu Application Service for web application deployments
  • Discuss the pros and cons of moving a monolith to a microservice-based architecture
  • Describe the steps to move from a monolith to a microservice-based architecture
  • Explain how to implement common distributed systems patterns to mitigate costs/limitations on an existing microservices-based codebase

The Cloud Native Developer

Lesson Intro Lab Wrap
Prerequisites Lab
Introduction Why? Lab Concepts

Build a greenfield app

Lesson Intro Lab Wrap
Initialize an app Lab
Deploy it TAS Push Lab TAS Staging
Configure it Environment Lab TAS Environment
Pipeline Routing Lab Route Names
Build a REST app Web Apps Lab
Backing Services & Database Migrations Services Lab Migrations
Data Access Lab

Run it in production

Lesson Intro Lab Wrap
Health Monitoring App Ops Lab
Logging Logs Lab
Harden your app Lab
Availability Availability Lab
Scaling Scaling Lab
Zero Downtime Upgrades Blue/Green Lab

Evolving your app

Lesson Intro Lab Wrap
Application Evolution App Continuum
Deploy a Distributed System Intro Lab

Advanced topics

Lesson Intro Lab Wrap
Service Discovery and Client Side Load Balancing Concepts Lab Implementations
Fault Tolerance Concepts Lab Implementations
Architecture Styles Intro Lab
Securing a Distributed System Intro Lab
External Configuration with Backing Services Concepts Lab Implementations
API Gateways - coming soon

Keep learning

Reference List