Course Outline
Foundations of Microservices Architecture
- Defining microservices
- Advantages and complexities of the microservices model
- Contrasting with monolithic architectures
Configuring AWS Cloud9 for Microservices Workflows — Rapid Setup
- Establishing an AWS Cloud9 environment
- Optimising the development workspace
- Linking AWS services to Cloud9
Developing Microservices with Docker
- Core concepts of Docker and containerisation
- Construction and validation of Docker containers
- Leveraging Docker Compose for multi-container setups
- Practical task: constructing a multi-container application locally
Event-Driven Design and Asynchronous Communication
- Key principles of event-driven architecture; synchronous vs. asynchronous communication
- Utilising Amazon SQS for queue-based messaging
- Implementing Amazon SNS for publish-subscribe patterns
- Routing and dispatching events with Amazon EventBridge
- Kafka and Amazon MSK as options for high-volume streaming — Conceptual overview, optional
- Practical task: establishing asynchronous communication between two services via SQS and SNS, followed by EventBridge routing extensions
Deploying Microservices on AWS (ECS, Lambda, and EKS)
- Configuring Amazon ECS for container orchestration
- Rolling out microservices using AWS Lambda
- Overview of Kubernetes and Amazon EKS as an alternative orchestration method — Comparative overview with ECS
- Service discovery mechanisms in microservices ecosystems
- Scaling strategies for microservices on AWS
- Practical task: deploying on ECS and evaluating against an EKS configuration
API Governance via AWS API Gateway
- Creation and administration of RESTful APIs
- Integrating APIs with microservices
- Implementing API versioning and throttling controls
- Practical task: exposing microservices through API Gateway with versioning implemented
Observability, Monitoring, Logging, and Distributed Tracing
- Utilising AWS CloudWatch for system monitoring
- Configuring logging with Amazon CloudWatch Logs
- Establishing alarms and notification workflows
- Concepts of distributed tracing
- Request tracing using 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 strategies for microservices
- Introduction to Terraform for infrastructure provisioning
Security Best Practices for Microservices
- Configuring IAM roles and policies
- Enhancing security via API Gateway
- Data encryption in transit and at rest
Requirements
Participants are expected to have:
- Fundamental to intermediate proficiency in Python
- A foundational grasp of REST APIs, HTTP, and web application principles.
- Basic knowledge of Linux command-line utilities and Git.
- A basic understanding of Docker and containerisation concepts is advised, though not strictly required.
- General familiarity with 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 :)