- 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
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
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
Qatar - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud
Egypt - 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
Schweiz - 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
Ireland - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud
Latvia - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud
Italia - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud
Norway - 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
France - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud
日本 - 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
Polska - 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
Kenya - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud
Nigeria - 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