Microservices Architecture: Best Practices, Tools and Frameworks (Java-based) course

A two-day training course, exploring microservices-based architecture in a cloud-native environment with best practices. Participants will create a Java application, supporting scaling and zero-downtime upgrades using blue-green deployments. To help select a suitable technology stack, an overview of various tools, services, and frameworks is included.

Why enroll

By the end of the training, participants will be able to:

  • understand general concepts of cloud-native development and a microservices architecture
  • solve tasks in such areas as designing a scalable and resilient architecture, service discovery, centralized cloud configuration, fully automated delivery pipelines, as well as monitoring and troubleshooting in distributed systems
  • predict and avoid common issues and bottlenecks in microservices-oriented systems
  • use Cloud Foundry as a cloud-native platform to manage application state

Who should attend

Software engineers:

  • Seeking to understand the advantages and pitfalls of microservices architecture
  • Willing to study the microservices toolset for Java in a short period of time and get hands-on experience with one of the cloud platforms
  • Looking to become more efficient and speed up the development workflow
)

Training program

1
DAY 1
see details
Introduction
  • Agenda for the training
    Theory
Introduction to cloud platforms
  • Platforms overview
    Theory
  • Verification of the environment configuration
    Practice
Monoliths vs. microservices
  • Use cases where microservices can be helpful.
    Theory
  • Scenarios where microservices shouldn’t be used.
    Theory
Orchestration vs. choreography
  • A comparison of both approaches based on the example in the previous step
    Theory
  • Decomposing a monolithic architecture into microservices
    Practice
Introduction to Spring Boot
  • An overview of Spring Boot
    Theory
  • The most important Spring Boot components
    Theory
  • Comparing Spring Boot with Spring
    Theory
  • Create a simple REST service
    Practice
Codebase
  • What happens when multiple apps use the same codebase?
    Theory
  • What are the consequences?
    Theory
Dependencies
  • Why is it a bad idea to use indirectly defined dependencies?
    Theory
  • How can they affect applications, which are provisioned automatically?
    Theory
Configuration
  • Working with environment variables
    Practice
  • Changing a log level in the runtime
    Practice
Services
  • Spring Cloud and services configuration
    Theory
Build, release, and run
  • Define goals for each of the stages
    Theory
Processes
  • Working with persistent information: sessions, files, etc.
    Practice
  • Using Redis and sessionManager to keep a session in a database
    Practice
  • Running two instances and testing the connection
    Practice
Network operations in Cloud Foundry
  • Network operations, TCP routing
    Theory
Concurrency
  • Comparing platforms: what approaches do they provide for scalability?
    Theory
Disposability
  • Application life cycleWhat can an application running on the platform do at shutdown?
    Theory
Dev/prod parity
  • The difference between dev and prod environments, how to use third-party services, and the changes that need to be introduced to the team structure and developers’ mindset
    Theory
  • Emulate similar local and production environments
    Practice
2
DAY 2
see details
Logs
  • Log processing
    Theory
  • The cloud-native approach to working with logs: Elasticsearch, Logstash, and Kibana (ELK stack)
    Theory
  • Sending logs to the ELK stack and reading values from the dashboard
    Practice
Admin processes
  • Why using a unified approach when working with even minor changes? An example with Liquibase
    Theory
  • Managing changes to the database schema in dev/QA/prod environments
    Practice
Security
  • Web app SSO, configuring TLS, HTTPS, and security key management
    Theory
  • Demo
    Theory
  • How to use the SSL service
    Theory
Service discovery
  • General concepts of service discovery with examples for Eureka
    Theory
Blue-green deployments
  • Domains and routes in Cloud Foundry
    Theory
  • Blue-green deployments
    Theory
  • Upgrade an application in a zero-downtime mode
    Practice
Trade-offs and benefits of local vs. remote calls between services
  • The pros and cons of both approaches
    Theory
  • HystrixSession propagation
    Theory
  • Creating ar REST service and using Hystrix for cross-service communication
    Practice
Troubleshooting
  • Debugging techniques, remote debugging
    Theory
  • Troubleshooting containerized services
    Practice
Continuous integration and continuous delivery
  • How to work with CI/CD tools and examples for Concourse
    Theory
  • Organizing a development process using
    Practice
  • Concourse for enabling continuous integration/delivery
    Practice
Metrics and monitoring
  • Tools and services
    Theory
  • Examples
    Theory
checked
Prerequisites
See details

Altoros recommends that all students have:

  • Previous experience with Java
  • A basic understanding of the cloud computing concept
  • A workstation with the following capabilities: Visual Studio v.15.6 installed, a web browser (Chrome/Firefox), Internet connection
Maximize your team's talent with customized hands-on training

Our customers

nike logo
pivotal logo
roche logo
toyota logo
siemens logo
imb logo

What trainees say about Altoros courses

video play
Kubernetes Deep Dive Training in San Jose
video play
Kubernetes Deep Dive Training in San Jose
video play
Kubernetes Deep Dive Training, Washington DC
video play
Kubernetes Deep Dive Training, Washington DC
video play
Cloud Foundry for DevOps Training
video play
Cloud Foundry Training at Cloud Foundry Summit, 2017
video play
Kubernetes Deep Dive Training, Los Angeles
Get updates on upcoming events and new courses, discounts and special offers
Email*

Resources

Contact us

Contact me if you have any questions or want to request a quote

Alexandra Mironova

Alexandra Mironova

Training Coordinator

Headquarters

location icon830 Stewart Dr., Suite 119Sunnyvale, CA 94085
First Name*
Last Name*
Email*
Phone*
Your company name*
Your Message (optional)