Developing Cloud Native Applications with Microservices Architectures on Cloud Foundry platform

This course provides knowledge on Cloud Native Applications development in the context of Microservices architecture.
The participants will get a solid understanding of the Microservices architectural style in combination with practical exercises on Spring Boot and Spring Cloud technologies using Cloud Foundry platform.
If you have no experience with Spring Boot and Spring Cloud, this course will provide a brief introduction and exercises, which will be enough to become familiar with these technologies and get hands-on experience to work with their components.

Why enroll

By the end of the course, the participants will:

  • Gain a deep understanding of cloud-native applications development approach and microservice architecture;
  • Learn main aspects of Cloud Foundry and it’s components;
  • Get hands-on experience with approaches on how to handle and manage data, configuration, session, etc. in cloud-native applications;
  • 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.

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
Setting up an environment
  • Verify the environment configuration and install tools required for completion of this course
    Theory
  • Installation and configuration:
    Practice
    • Java
    • Maven
    • Git client
    • CF CLI
    • Eclipse IDE
An overview of Cloud Foundry and its components
  • Cloud Foundry overall overview
    Theory
  • Cloud Foundry components overview
    Theory
  • Cloud Foundry basic terminology
    Theory
CF CLI basic commands
  • Describing and explaining main CF CLI commands
    Theory
  • Running main Cloud Foundry commands
    Practice
  • Implementing and deploying a Static Web Application
    Practice
Cloud-native
  • Cloud-native approach overview
    Theory
The Twelve-Factor App methodology
  • Describing and explaining each of the twelve factors
    Theory
Microservice architecture
  • Main principles
    Theory
  • Main patterns
    Theory
  • Advantages and disadvantages
    Theory
Migration from monolith to microservice
  • Technical aspects
    Theory
  • Organisational aspects
    Theory
Inter-microservice communication
  • An overview of Synchronous and Asynchronous communication
    Theory
  • Pros and cons
    Theory
An overview of Spring Boot and it’s main features
  • Describing the main features of Spring Boot
    Theory
  • Creating a simple application with REST API and deploying it to Cloud Foundry
    Practice
CF manifest
  • An overview of configuration parameters
    Theory
  • Application deployment to Cloud Foundry
    Practice
  • Horizontal scaling
    Practice
  • Environment variables handling
    Practice
Cloud Foundry services overview
  • Get understanding of the services conception in Cloud Foundry
    Theory
  • Main services overview
    Theory
Data management (PostgreSQL)
  • Setting up PostgreSQL service in Cloud Foundry
    Practice
  • Configuring PostgreSQL
    Practice
  • Binding a Cloud Foundry database instance to the application
    Practice
2
DAY 2
see details
Application session management (Redis)
  • Description and understanding of a session
    Theory
  • Setting up Redis service in Cloud Foundry
    Practice
  • Creating applications which show session management processing
    Practice
Fault tolerance (Circuit Breaker pattern)
  • Circuit Breaker pattern overview
    Theory
  • Hystrix overview and main features
    Theory
  • Creating applications which show how to protect distributed apps from cascading failures by using circuit breakers
    Practice
Asynchronous communication based on a message queue (RabbitMQ)
  • Event-driven architecture overview
    Theory
  • Main principles of a message queue component
    Theory
  • RabbitMQ overview
    Theory
  • Setting up RabbitMQ service in Cloud Foundry
    Practice
  • Creating applications which represent async communication
    Practice
Configuration management (Spring Config Server)
  • Spring Cloud Config overview
    Theory
  • Setting up Spring Cloud Config
    Practice
  • Creating Git repositories with configuration
    Practice
  • Creating applications which show management of the external properties of the application distributed across multiple environments
    Practice
Distributed tracing
  • Distributed tracing overview and understanding
    Theory
  • OpenTracing component overview
    Theory
  • Setting up and configuring OpenTracing
    Practice
  • Creating application which shows distributed tracing aspect
    Practice
CI/CD pipeline
  • Overview of the various deployment strategies
    Theory
  • CI overview and explanation
    Theory
  • CD overview and explanation
    Theory
  • Concourse tool overview
    Theory
  • Setting up Concourse in Cloud Foundry
    Practice
  • Creating CI/CD pipeline
    Practice
checked
Prerequisites
See details

Altoros recommends that all students have:

  • At least basic experience with Java and Spring Framework
  • A basic understanding of cloud computing concepts
  • Basic experience with Git

A workstation with the following capabilities:

  • A web browser (Chrome/Firefox)
  • The Internet connection
  • The operating systems supported in the class are: Linux, Mac, or Windows
  • Administrative rights to install software (at least that listed below) and the ability to download ZIP files (containing a starter source code)

The following developer utilities should be installed before the training (all these tools/languages can be also installed at the “Setting up an environment” phase of the training):

  • Java 8 or higher
  • Maven 3
  • a Git client (command line at a minimum)
  • the CF CLI
  • IDE (Eclipse, Intellij IDEA)
See all
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*
Your Message (optional)