Course Outline
Introduction to Microservices Architecture
- Defining microservices
- Advantages and trade-offs of the microservices approach
- Contrasting with monolithic architectures
Configuring AWS Cloud9 for Microservices Development — Rapid Setup
- Provisioning an AWS Cloud9 environment
- Tailoring the development workspace
- Integrating AWS services with Cloud9
Developing Microservices with Docker
- Core concepts of Docker and containerization
- Constructing and validating Docker containers
- Leveraging Docker Compose for multi-container configurations
- Practical task: Developing a multi-container application locally
Event-Driven Architecture and Asynchronous Messaging
- Key principles of event-driven architecture: synchronous vs. asynchronous communication
- Utilizing Amazon SQS for queue-based messaging
- Using Amazon SNS for publish-subscribe patterns
- Employing Amazon EventBridge for event routing and dispatch
- Kafka and Amazon MSK for high-volume streaming — Overview only, optional
- Practical task: Establishing asynchronous communication between two services using SQS and SNS, then expanding with EventBridge routing
Deploying Microservices on AWS (ECS, Lambda, and EKS)
- Configuring Amazon ECS for container orchestration
- Deploying microservices via AWS Lambda
- Exploring Kubernetes and Amazon EKS as an alternative orchestration platform — Overview only, comparative analysis with ECS
- Service discovery mechanisms in microservices ecosystems
- Scaling strategies for microservices in AWS
- Practical task: Deploying on ECS and comparing performance/setup with EKS
API Management with AWS API Gateway
- Creating and administering RESTful APIs
- Linking APIs to backend microservices
- API versioning and throttling strategies
- Practical task: Exposing microservices via API Gateway with version control
Observability, Monitoring, Logging, and Distributed Tracing
- Leveraging AWS CloudWatch for system monitoring
- Configuring logging via Amazon CloudWatch Logs
- Setting up automated alarms and notifications
- Foundations of distributed tracing
- Using AWS X-Ray for request tracing
- OpenTelemetry for vendor-agnostic instrumentation
- Practical task: Instrumenting microservices with X-Ray and OpenTelemetry to trace requests across services
CI/CD and Infrastructure as Code
- Concepts of CI/CD pipelines tailored for microservices
- Introduction to Terraform for infrastructure automation
Microservices Security Best Practices
- Implementing IAM roles and permission policies
- Hardening microservices via API Gateway
- Data encryption protocols for in-transit and at-rest data
Requirements
Participants are expected to have:
- Fundamental to intermediate proficiency in Python
- A basic grasp of REST APIs, HTTP, and web application principles.
- General knowledge of Linux command-line utilities and Git.
- A basic understanding of Docker and containerization concepts is advised, though not strictly 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 :)