Are you ready to migrate your Java application to the cloud? Join expert Russ Miles in this 3-day Cloud Native course and learn what Cloud Native applications are, why they're important and how to build them. You will learn best practices for Cloud Native application design, that will help you transition your Java application to the Cloud (either partially or in full), the Strangler Application pattern, deployment and management and monitoring. You will also gain an understanding of the different deployment models, from traditional Container-based deployment models right through to Serverless, and harness new techniques like the Chaos Engineering Approach.
Learn how to:
- Build complex Cloud Native applications from the ground up, applying best practices
- Migrate existing applications towards Cloud Native
- Use the tools and platforms that are emerging to help you build and manage your cloud native solutions including Kubernetes, Prometheus, and platforms from Google, Amazon and Microsoft.
- Understand how a Cloud Native approach may change your company’s IT strategy.
Day 1 - Understanding and Migrating Towards Cloud Native
- Twelve Factors and Cloud Native Applications
- The Hexagonal Architecture
- Externalising Configuration
- Building for Separate Environments
- Server Configuration
- Externalising Secrets
- Spring Cloud Vault
- Consumer Driven Contracts
- CI/CD to Containers
- Managing State
Day 2 - Designing and Building Cloud Native RESTful and Event-Driven Services
- REST and Rest Maturity
- RESTful service API with Spring MVC
- Spring Cloud Feign
- Service Discovery and Routing
- Connecting to the outside world
- Zuul and Filtering and Proxying
- Edge Security with OAuth
- Microservice-level Security
- Implementing Messaging with Spring Cloud Stream
Day 3 - Being an Observable System, Going Serverless & Chaos
- Building the Observable System
- Auditing - from IDE to Production
- Effective Application Logging
- Identifying your Services
- Implementing Healthchecks
- Implementing Distributed Tracing
- Going Serverless: When and How
- Serverless Functions for AWS
- Understanding Chaos Engineering
- Chaos Engineering Experiments for Cloud Native Applications
If there is time additional topics may be covered:
- Cloud Native Integration Testing 101
- CQRS using Spring Cloud Data Flow
- Implementing Event Sourcing
If you are a Java developer looking to build 12-factor, Cloud Native applications that are ready for production, this Cloud Native course is for you!
To benefit from this Cloud Native course, you should have be an experienced Java developer and have some familiarity with Netflix OSS and SpringBoot/Cloud prior to attending.
Bring your own hardware
You are invited to bring your own laptop to this Cloud Native course, so you can learn with a familiar IDE. Please make sure to pre-install an environment that is suitable for Java, and that enables you to clone and work with git repositories on Github.
If you are unable to bring your own laptop and you are able to let us know at least 3 weeks prior to your attendance of this course, our team will be able to provide you with a laptop pre-installed with the above environment.