Course Outline
Foundations of Microservices Architecture
- Defining microservices
- Advantages and complexities of microservices
- Contrasting with monolithic architectures
Configuring AWS Cloud9 for Microservices Development — Rapid Setup
- Provisioning an AWS Cloud9 environment
- Tailoring the development workspace
- Linking AWS services to Cloud9
Developing Microservices with Docker
- Overview of Docker and containerization
- Construction and validation of Docker containers
- Leveraging Docker Compose for multi-container setups
- Practical task: Developing a multi-container application locally
Event-Driven Architecture and Asynchronous Messaging
- Core tenets 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 with Amazon EventBridge
- Kafka and Amazon MSK for high-throughput streaming — Overview only, optional
- Practical task: Implementing asynchronous communication between two services using SQS and SNS, extended with EventBridge routing
Deploying Microservices on AWS (ECS, Lambda, and EKS)
- Establishing Amazon ECS for container orchestration
- Deploying microservices via AWS Lambda
- Kubernetes and Amazon EKS as alternative orchestration options — Overview only, comparative with ECS
- Service discovery within microservices architectures
- Scalability strategies for microservices on AWS
- Practical task: Deployment on ECS with a comparative analysis of an EKS setup
API Management with AWS API Gateway
- Creation and administration of RESTful APIs
- Integration of APIs with microservices
- API versioning and rate limiting
- Practical task: Exposing microservices via API Gateway with versioning controls
Observability, Monitoring, Logging, and Distributed Tracing
- Monitoring with AWS CloudWatch
- Configuring logging via Amazon CloudWatch Logs
- Setting up alarms and notifications
- Concepts in distributed tracing
- Request tracing with AWS X-Ray
- Vendor-agnostic instrumentation with OpenTelemetry
- Practical task: Instrumenting microservices with X-Ray and OpenTelemetry to trace requests across services
CI/CD and Infrastructure as Code
- CI/CD pipeline principles for microservices
- Introduction to Terraform for infrastructure provisioning
Security Best Practices for Microservices
- Application of IAM roles and policies
- Protecting microservices via API Gateway
- Encryption of data in transit and at rest
Requirements
Participants are expected to have:
- Foundational to intermediate proficiency in Python
- A fundamental grasp of REST APIs, HTTP, and web application concepts.
- Basic knowledge of Linux command-line utilities and Git.
- A basic understanding of Docker and containerisation principles is advised but not required.
- Familiarity with cloud computing concepts 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 :)