Course Outline


  • 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


  • An understanding of software and system engineering
  • Java development experience
  • Experience with Spring Framework


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


Related Courses

Introduction to Enterprise Architect

  7 hours

Systems Modeling with SysML and Enterprise Architect (EA)

  21 hours

UML in Enterprise Architect (workshops)

  21 hours

IT4IT™ Foundation (Level 1)

  14 hours

Use Case Modeling

  14 hours

Introduction to Domain Driven Design

  14 hours

Capella in action

  28 hours

SysML by example

  21 hours

OCSMP Model Builder - Fundamentals prep

  21 hours

Spring Cloud for Microservices

  14 hours

Building Microservices with Spring Cloud and Docker

  21 hours

Building Microservices with Spring Cloud and Netflix OSS

  21 hours

Microservices with Spring Cloud and Kafka

  21 hours

Systems and Service Architecture - Microservices Architecture

  14 hours