Course Outline
Foundations of Microservices Architecture
- Defining microservices
- Advantages and complexities associated with microservices
- Contrasting microservices with monolithic structures
Configuring AWS Cloud9 for Microservices Workflows — Rapid Setup
- Provisioning an AWS Cloud9 environment
- Tailoring the development workspace
- Integrating AWS services with Cloud9
Developing Microservices with Docker
- Overview of Docker and the containerization process
- Constructing and validating Docker containers
- Leveraging Docker Compose for multi-container setups
- Practical task: creating a multi-container application locally
Event-Driven Design and Asynchronous Messaging
- Core concepts of event-driven architecture; synchronous vs. asynchronous patterns
- Utilizing Amazon SQS for queue-based messaging
- Implementing publish-subscribe patterns with Amazon SNS
- Routing and dispatching events via Amazon EventBridge
- Overview of Kafka and Amazon MSK for high-throughput streaming — Optional module
- Practical task: establishing asynchronous communication between two services via SQS and SNS, followed by extending with EventBridge
Deploying Microservices on AWS (ECS, Lambda, and EKS)
- Configuring Amazon ECS for container orchestration
- Deploying microservices using AWS Lambda
- Introduction to Kubernetes and Amazon EKS as an alternative — Comparative overview with ECS
- Service discovery mechanisms in microservices
- Scaling strategies for microservices on AWS
- Practical task: deploying on ECS and contrasting with an EKS configuration
API Governance with AWS API Gateway
- Building and administering RESTful APIs
- Linking APIs to backend microservices
- Managing API versions and implementing throttling
- Practical task: exposing microservices via API Gateway with version control
Observability, Monitoring, Logging, and Distributed Tracing
- Monitoring applications with AWS CloudWatch
- Configuring logging via Amazon CloudWatch Logs
- Setting up alarms and alert notifications
- Understanding distributed tracing concepts
- Using AWS X-Ray for request tracking
- Employing OpenTelemetry for standardized, vendor-agnostic instrumentation
- Practical task: instrumenting services with X-Ray and OpenTelemetry to trace requests across multiple services
CI/CD and Infrastructure as Code
- Concepts of CI/CD pipelines tailored for microservices
- Introduction to Terraform for automating infrastructure provisioning
Security Best Practices for Microservices
- Configuring IAM roles and permission policies
- Enhancing security through API Gateway settings
- Encrypting data during transmission and storage
Requirements
Learners are expected to have:
- Fundamental to intermediate proficiency in Python
- A basic grasp of REST APIs, HTTP, and general web application principles.
- Working knowledge of Linux command-line interfaces and Git.
- An introductory understanding of Docker and containerization is advised, though not strictly required.
- General awareness of cloud computing paradigms and AWS offerings 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 :)