Course Outline
Introduction to Microservices Architecture
- Defining microservices
- Advantages and complexities of microservices design
- Contrasting microservices with monolithic architectures
Setting Up AWS Cloud9 for Microservices Development — Quick setup
- Provisioning an AWS Cloud9 environment
- Configuring the development workspace
- Establishing connections between AWS services and Cloud9
Building Microservices with Docker
- Overview of Docker and containerization
- Constructing and validating Docker containers
- Leveraging Docker Compose for multi-container stacks
- Practical exercise: developing a multi-container application locally
Event Driven Architecture and Asynchronous Messaging
- Core tenets of event-driven design and synchronous vs. asynchronous communication
- Utilizing Amazon SQS for queue-based messaging
- Employing Amazon SNS for publish-subscribe patterns
- Using Amazon EventBridge for event routing and dispatch
- Introduction to Kafka and Amazon MSK for high-volume streaming — Overview only, optional
- Practical exercise: implementing asynchronous service-to-service communication via SQS and SNS, then expanding with EventBridge routing
Deploying Microservices on AWS (ECS, Lambda and EKS)
- Configuring Amazon ECS for container orchestration
- Implementing microservices using AWS Lambda
- Overview of Kubernetes and Amazon EKS as an alternative orchestration platform — Comparative analysis with ECS
- Service discovery mechanisms in distributed systems
- Scaling strategies for microservices on AWS
- Practical exercise: deploying workloads on ECS and benchmarking against an EKS configuration
Managing APIs with AWS API Gateway
- Designing and governing RESTful APIs
- Integrating APIs with microservice backends
- API versioning control and throttling policies
- Practical exercise: exposing microservices via API Gateway with version management
Observability, Monitoring, Logging and Distributed Tracing
- Leveraging AWS CloudWatch for system monitoring
- Configuring logging via Amazon CloudWatch Logs
- Establishing alerts and notification workflows
- Foundations of distributed tracing
- Request tracing with AWS X-Ray
- Vendor-agnostic instrumentation using OpenTelemetry
- Practical exercise: instrumenting microservices with X-Ray and OpenTelemetry to trace requests across service boundaries
CI/CD and Infrastructure as Code
- CI/CD pipeline structures tailored for microservices
- Introduction to Terraform for automated infrastructure provisioning
Microservices Security Best Practices
- Implementing IAM roles and permission policies
- Hardening microservices through API Gateway security features
- Data encryption strategies for in-transit and at-rest scenarios
Requirements
Candidates are expected to possess the following foundations:
- Familiarity with Python at a basic to intermediate level
- A fundamental grasp of REST APIs, HTTP protocols, and web application concepts.
- Working knowledge of Linux command-line utilities and Git.
- A basic understanding of Docker and containerization concepts is advantageous, though not required.
- General awareness of cloud computing principles 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 :)