Course Outline
Foundations of Microservices Architecture
- Defining microservices
- Advantages and complexities of microservices adoption
- Contrast with monolithic architectures
Configuring AWS Cloud9 for Microservices Development — Rapid Setup
- Provisioning an AWS Cloud9 environment
- Setting up the development workspace
- Integrating AWS services with Cloud9
Developing Microservices with Docker
- Overview of Docker and containerization
- Building and validating Docker containers
- Leveraging Docker Compose for multi-container applications
- Practical session: Constructing a multi-container application locally
Event-Driven Architecture and Asynchronous Messaging
- Core principles of event-driven architecture and synchronous vs. asynchronous communication
- Queue-based messaging with Amazon SQS
- Publish-subscribe messaging with Amazon SNS
- Event routing and dispatch via Amazon EventBridge
- Kafka and Amazon MSK as alternatives for high-volume streaming — Introduction only, optional module
- Practical session: Establishing asynchronous communication between two services using SQS and SNS, followed by EventBridge routing
Deploying Microservices on AWS (ECS, Lambda, and EKS)
- Configuring Amazon ECS for container orchestration
- Deploying microservices via AWS Lambda
- Introduction to Kubernetes and Amazon EKS as an alternative orchestration platform — Introduction only, comparison with ECS
- Service discovery within microservices architectures
- Scaling microservices in the AWS environment
- Practical session: Deploying to ECS and comparing with an EKS configuration
API Management with AWS API Gateway
- Creation and administration of RESTful APIs
- Linking APIs to microservices
- API versioning and throttling mechanisms
- Practical session: Exposing microservices via API Gateway with version control
Observability, Monitoring, Logging, and Distributed Tracing
- Monitoring capabilities with AWS CloudWatch
- Configuring logging with Amazon CloudWatch Logs
- Establishing alarms and notification systems
- Concepts of distributed tracing
- Request tracing using AWS X-Ray
- Vendor-agnostic instrumentation with OpenTelemetry
- Practical session: Instrumenting microservices with X-Ray and OpenTelemetry to trace requests across services
CI/CD and Infrastructure as Code
- CI/CD pipeline strategies for microservices
- Introduction to Terraform for infrastructure provisioning
Security Best Practices for Microservices
- Implementing IAM roles and policies
- Hardening microservices via API Gateway
- Data encryption in transit and at rest
Requirements
Learners are expected to have the following background:
- Foundational to intermediate proficiency in Python
- A basic grasp of REST APIs, HTTP protocols, and web application fundamentals
- Basic knowledge of Linux command-line utilities and Git
- Basic awareness of Docker and containerization principles is advised, though not a strict requirement
- Basic familiarity with cloud computing paradigms and AWS services 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 :)