Description
In this course, you will :
- How to create recipes for tech stacks that can be used to implement microservices, as well as the benefits and drawbacks of each.
- About some fundamental concepts for implementing microservices.
- About the various technologies used to implement each concept.
- Each technology you learn about is described in detail and then demonstrated using real code.
Syllabus :
1. Preface
- Introduction
- Structure of the Course
2. Self-contained Systems
- Definition
- An Example
- SCSs and Microservices
- Challenges
- Benefits & Variations
3. Frontend Integration
- Frontend: Monolith or Modular?
- Options
- Resource-oriented Client Architecture (ROCA)
- Benefits of ROCA
- Challenges
- Benefits
- Variations
4. Links and Client-side Integration
- Integration in Assurance App
- Other Integration Methods
- Example
- Variations
- Experiments
5. Server-side Integration using Edge Side Includes (ESI)
- Varnish
- ESI in Order & Common
- Variations
- Experiments
6. Asynchronous Microservices
- Definition
- Data Replication, Bounded Contexts, & Protocols
- Events
- Event Sourcing
- Challenges: Inconsistencies & CAP Theorem
- More on Inconsistencies
- Other Challenges
- Advantages & Variations
7. Messaging and Kafka
- Message-oriented Middleware (MOM)
- The Architecture of Kafka
- More on The Architecture of Kafka
- Even More on The Architecture of Kafka
- Events with Kafka
- Example: Introduction
- Example: Data Model
- Example: Technical Structure & Live App
- Example: Topics & Partitions
- Example: Testing & Other Data Formats
- Variations & Experiments
8. Asynchronous Communication with Atom and REST
- The Atom Format
- Atom Caching
- Example
- Variations
- Experiments
9. Synchronous Microservices
- Definition
- Example
- Benefits & Challenges
- Variations
10. REST with the Netflix Stack
- Eureka: Service Discovery
- Router: Zuul
- Load Balancing: Ribbon
- Resilience: Hystrix
- Resilience: Hystrix Implementation
- Variations
- Experiments
11. REST with Consul and Apache httpd
- Service Discovery
- Routing: Apache httpd
- Consul Template
- Consul and Spring Boot
- DNS and Registrator
- Variations
- Experiments
12. Microservices Platforms
- Definition
- Variations
13. Docker Containers with Kubernetes
- The Example with Kubernetes
- The Example in Detail
- Additional Kubernetes Features
- Variations
- Experiments
14. PaaS with Cloud Foundry
- PaaS: Definition
- Cloud Foundry
- The Example with Cloud Foundry
- Variations & Experiments
- Serverless