Dive into the world of Microservices Architectures with this comprehensive course, designed to provide a clear understanding of both the theoretical and practical aspects of building scalable and robust systems. Beginning with the concept of program slicing, this course will guide you through the intricacies of Microservices, contrasting them against monolithic systems, and demonstrating the art and science behind their design, deployment, and maintenance.
What You'll Learn:
Program Slicing and its Relevance: Dive into the foundational concepts of program slicing, its significance in system design, and its relationship with Microservices.
Monoliths vs. Microservices: Contrast the architectural styles, understanding the strengths, weaknesses, and practical differences of each approach.
Decoupling and Invocation Dynamics: Grasp the intricacies of service decoupling, hidden couplings, and the complexities of service invocation within a Microservices environment.
Deployment, Scalability, and Dependency Management: Delve into the challenges and consequences of adopting Microservices, focusing on deployment strategies, scalability issues, and dependency isolation.
Building Resilient Systems: Explore client-side load balancing, circuit breakers, fallback strategies, and other resilience techniques to ensure system stability and robustness.
Who Should Enroll:
Students should have intermediate Java programming experience.
Overview
Syllabus
- Microservices I & Program Slicing
- The Pros and Cons of Microservices
- Microservices Architectural Patterns
Taught by
Dr. Douglas C. Schmidt and Dr. Jules White