System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud Training Course
Course
In City Of London
Description
-
Type
Course
-
Location
City of london
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.
Spring Cloud is introduced as a platform for building Java-based distributed systems and microservices. 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.
Audience
Java developers wishing to rapidly build and deploy microservices
System architects wishing to implement a microservice architecture
Format of the course
Part lecture, part discussion, exercises and heavy hands-on practice
Facilities
Location
Start date
Start date
Reviews
Subjects
- Systems
- Design
- Java
Course programme
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
System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud Training Course