Course Code: microarchitecturespring
Duration: 21 hours
Prerequisites:
  • An understanding of software and system engineering
  • Java development experience
  • Experience with Spring Framework

Audience

  • Java developers wishing to rapidly build and deploy microservices
  • System architects wishing to implement a microservice architecture
Overview:

Spring Cloud is a platform for building Java-based distributed systems and microservices.

Building complex enterprise applications is challenging. Any change made to a part of the systems could trigger the need for changing the design of the entire system.

In this instructor-led, live training, participants will learn how to evaluate different technologies and approaches for the design of a services-based system architecture. The training begins with a discussion and comparison of monolithic systems and service architectures, then digs into the details of microservice architecture.

Participants are given a chance to put their knowledge into practice as they step through the creation and deployment of a set of proof-of-concept microservices built with Spring Cloud, Spring Boot and Docker.

Finally, the relevant infrastructure building blocks are examined to help participants determine the most suitable tools and approaches to use for different organizational requirements.

By the end of this training, participants will have a solid understanding of Service-Oriented Architecture (SOA) and Microservice Architecture as well practical experience using Spring Cloud and related Spring technologies for rapidly developing their own cloud-scale, cloud-ready microservices.

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice
Course Outline:

Introduction

  • System and service architecture, PaaS, and cloud-native design

Overview of Monolithic System Architecture

  • Running an entire monolithic applications functionality in a single process
  • Scalability through replication across multiple servers
  • Protocols used in monolithic systems: EAI, CORBA, etc.

Overview of Webservices

  • Service Oriented Architecture (SOA) and Microservices Architecture

Service-Oriented Architecture (SOA)

  • Benefit and Costs of SOA
  • Successes and failures in implementing SOA
  • Messaging and ESB
  • Infrastructure and tools supporting SOA

How Microservices Implement Web Service Concepts

  • Do one thing and do it well
  • DevOps
  • Continuous Deployment and Delivery (Continuous Integration, Continuous Build Process, etc.)
  • Lightweight protocols

Microservice Protocols and Standards

  • HTTP, JMS, AMQP, Websockets, JSON, etc.

Development Frameworks for Building Microservices

  • Java-based frameworks (Spring Cloud)
  • Javascript-based frameworks (Seneca)

Decomposing a Monolith Application

  • Developing independently deployable applications
  • Organizing microservice applications around business capabilities
  • Case study: Migrating a monolith application to three core microservices

Setting up a Spring Cloud Development Environment

  • Setting up Docker and Docker Compose
  • Setting environment variables

Overview of Spring Cloud and Spring Boot

  • Spring Cloud sub-projects: Config Server & Bus, Eureka, Ribbon, Feign, and Hystrix
  • Spring Boot

Creating a Spring Boot application

Centralized, versioned configuration management with Spring Cloud Config

Dynamic configuration updates with Spring Cloud Bus

Service discovery with Eureka

Load balancing with Ribbon

Applying circuit breakers with Hystrix

Declarative REST clients with Feign

Working with API Gateway

Securing a microservice application

Tracing microservices to uncover latencies

Deploying Microservices

  • Containers (Docker, K8N, LXC, etc...)
  • Configuration Management (Ansible, etc...)
  • Service discovery
  • Monitoring and Managing Microservices
  • Infrastructure for Microservices

Cloud and Auto Scalability of Microservices

  • Microservice redundancy and fail-over
  • Performance scalability for Microservices
  • Auto scalability
  • Implementing Microservices on OpenStack, AWS, and other cloud platforms

Troubleshooting Common Problems for Distributed Applications

  • Complexity of ecosystem
  • Network Performance
  • Security
  • Deployment
  • Testing
  • Nano-services

Final Considerations for Building Production-ready Systems

  • Making system easy for beginners
  • Making system complete so that it can serve as the foundation for enterprise applications

Summary and Conclusion

Sites Published:

United Arab Emirates - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Qatar - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Egypt - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Saudi Arabia - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

South Africa - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Brasil - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Canada - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

中国 - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

香港 - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

澳門 - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

台灣 - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

USA - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Österreich - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Schweiz - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Deutschland - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Czech Republic - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Denmark - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Estonia - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Finland - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Greece - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Magyarország - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Ireland - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Luxembourg - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Latvia - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

España - Arquitectura de sistema, arquitectura de servicio y arquitectura de microservicio con Spring Cloud

Italia - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Lithuania - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Nederland - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Norway - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Portugal - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

România - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Sverige - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Türkiye - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Malta - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Belgique - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

France - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

日本 - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Australia - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Malaysia - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

New Zealand - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Philippines - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Singapore - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Thailand - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Vietnam - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

India - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Argentina - Arquitectura de sistema, arquitectura de servicio y arquitectura de microservicio con Spring Cloud

Chile - Arquitectura de sistema, arquitectura de servicio y arquitectura de microservicio con Spring Cloud

Costa Rica - Arquitectura de sistema, arquitectura de servicio y arquitectura de microservicio con Spring Cloud

Ecuador - Arquitectura de sistema, arquitectura de servicio y arquitectura de microservicio con Spring Cloud

Guatemala - Arquitectura de sistema, arquitectura de servicio y arquitectura de microservicio con Spring Cloud

Colombia - Arquitectura de sistema, arquitectura de servicio y arquitectura de microservicio con Spring Cloud

México - Arquitectura de sistema, arquitectura de servicio y arquitectura de microservicio con Spring Cloud

Panama - Arquitectura de sistema, arquitectura de servicio y arquitectura de microservicio con Spring Cloud

Peru - Arquitectura de sistema, arquitectura de servicio y arquitectura de microservicio con Spring Cloud

Uruguay - Arquitectura de sistema, arquitectura de servicio y arquitectura de microservicio con Spring Cloud

Venezuela - Arquitectura de sistema, arquitectura de servicio y arquitectura de microservicio con Spring Cloud

Polska - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

United Kingdom - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

South Korea - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Pakistan - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Sri Lanka - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Bulgaria - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Bolivia - Arquitectura de sistema, arquitectura de servicio y arquitectura de microservicio con Spring Cloud

Indonesia - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Kazakhstan - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Moldova - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Morocco - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Tunisia - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Kuwait - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Oman - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Slovakia - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Kenya - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Nigeria - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Botswana - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Slovenia - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Croatia - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Serbia - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Bhutan - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Nepal - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud

Uzbekistan - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud