Course Outline
Foundations of Microservices Architecture
- Defining microservices
- Advantages and complexities of the microservices model
- Contrasting microservices with monolithic designs
Configuring AWS Cloud9 for Microservices Development — Rapid Environment Setup
- Provisioning an AWS Cloud9 instance
- Tailoring the development workspace
- Integrating AWS resources with Cloud9
Developing Microservices with Docker
- Core concepts of Docker and containerization
- Building and verifying Docker containers
- Leveraging Docker Compose for multi-container stacks
- Practical exercise: assembling a multi-container application in a local environment
Event-Driven Architectures and Asynchronous Messaging
- Event-driven design principles and synchronous vs. asynchronous patterns
- Utilizing Amazon SQS for queue-based messaging
- Employing Amazon SNS for publish-subscribe workflows
- Managing event routing with Amazon EventBridge
- Overview of Kafka and Amazon MSK for high-throughput streaming (optional)
- Practical exercise: enabling asynchronous communication via SQS and SNS, followed by EventBridge routing
Deploying Microservices on AWS (ECS, Lambda, and EKS)
- Configuring Amazon ECS for container orchestration
- Deploying services via AWS Lambda
- Overview of Kubernetes and Amazon EKS as an alternative orchestration layer (comparative analysis with ECS)
- Service discovery mechanisms in microservices
- Strategies for scaling microservices on AWS
- Practical exercise: deployment on ECS with a comparative evaluation against EKS
API Governance with AWS API Gateway
- Designing and managing RESTful interfaces
- Bridging APIs to backend microservices
- Implementing API versioning and rate limiting
- Practical exercise: exposing services via API Gateway with version control
Observability, Monitoring, Logging, and Distributed Tracing
- Monitoring applications with AWS CloudWatch
- Configuring logs via Amazon CloudWatch Logs
- Setting up alarms and alerting mechanisms
- Concepts in distributed tracing
- Request tracing using AWS X-Ray
- Vendor-agnostic instrumentation with OpenTelemetry
- Practical exercise: instrumenting services with X-Ray and OpenTelemetry to trace requests across components
CI/CD Pipelines and Infrastructure as Code
- CI/CD workflow principles for microservices
- Introduction to Terraform for infrastructure automation
Security Best Practices for Microservices
- Configuring IAM roles and permission policies
- Hardening services via API Gateway
- Encrypting data during transmission and storage
Requirements
Prospective participants are expected to have:
- Fundamental to intermediate proficiency in Python
- A working grasp of REST APIs, HTTP protocols, and web application fundamentals.
- Basic knowledge of Linux command-line utilities and Git version control.
- Foundational awareness of Docker and containerization principles is advised, though not strictly required.
- General familiarity with cloud computing paradigms and AWS offerings is beneficial
Testimonials (4)
The instructor was knowledgeable about the course topic and also other related topics, and was able to answer our questions, or even make a note of questions he didn't immediately know the answer to and got back to use later.
Abe Sabbagh - Enbridge
Course - Advanced RabbitMQ - 2 Days
Possibility to perform independent exercises in the training environment.
Tomasz - PKO Zycie Towarzystwo Ubezpieczen S.A.
Course - Kafka for Administrators
the technical preparation of teachers
Giorgio - Asystel-BDF S.p.A.
Course - Creating a Service Mesh with Istio and Kubernetes
Very practical examples. The trainer has tried to keep a pace where everybody is able to go with even though the group was quite inhomogeneous regarding the knowhow. He has provided a lot of support to basically everybody who asked for it :)