Skip to main content

Section outline

  • Module 1: Introduction to Microservices Architecture (1.5 Hours)

    • Monolithic vs. Microservices
    • Benefits and challenges
    • Principles: Independence, scalability, modularity

    Module 2: Service Decomposition and Design (2 Hours)

    • Identifying microservices in monoliths
    • Service decomposition techniques
    • Hands-on lab: Decomposing an example monolith

    Module 3: Inter-Service Communication (2 Hours)

    • Synchronous vs. asynchronous communication
    • RESTful APIs and messaging queues (RabbitMQ, Kafka)
    • Hands-on lab: REST API implementation between microservices

    Module 4: Microservices Data Management (1.5 Hours)

    • Database per service pattern
    • Data consistency and distributed transactions
    • Hands-on lab: Designing a microservice with its database
  • Module 5: Security and Authentication (1.5 Hours)

    • Securing microservices
    • Token-based authentication (JWT, OAuth2)
    • Hands-on lab: Implementing security for microservices

    Module 6: Deployment and Monitoring (2 Hours)

    • Containerization with Docker
    • Deploying with Docker Compose
    • Monitoring with Prometheus and Grafana
    • Hands-on lab: Microservice deployment and monitoring

    Module 7: Error Handling, Resilience, and Scaling (2 Hours)

    • Circuit breaker patterns and retries
    • Load balancing and horizontal scaling
    • Hands-on lab: Building resilient microservices

    Module 8: Case Study and Group Discussion (2 Hours)

    • Real-world example of microservices architecture
    • Group discussion: Lessons learned and challenges
    • Practical exercises for each module
    • Final project: Design a basic microservices system