Course Outline
Introduction to Microservices Architecture
- Defining microservices
- Advantages and challenges of the microservices approach
- Comparison against monolithic architectures
Configuring AWS Cloud9 for Microservices Development — Rapid Setup
- Provisioning an AWS Cloud9 environment
- Setting up the development workspace
- Linking AWS services with Cloud9
Developing Microservices with Docker
- Fundamentals of Docker and containerization
- Creating and testing Docker containers
- Leveraging Docker Compose for multi-container applications
- Practical lab: building a multi-container application locally
Event-Driven Architecture and Asynchronous Messaging
- Core concepts of event-driven architecture; synchronous vs. asynchronous communication
- Utilizing Amazon SQS for queue-based messaging
- Using Amazon SNS for publish/subscribe messaging
- Employing Amazon EventBridge for event routing and dispatch
- Overview of Kafka and Amazon MSK for high-volume streaming — Optional overview
- Practical lab: establishing asynchronous communication between two services using SQS and SNS, followed by expanding the scope with EventBridge routing
Deploying Microservices on AWS (ECS, Lambda, and EKS)
- Configuring Amazon ECS for container orchestration
- Deploying microservices using AWS Lambda
- Overview of Kubernetes and Amazon EKS as an orchestration alternative — Comparative overview with ECS
- Service discovery mechanisms in microservices architectures
- Scaling microservices on AWS
- Practical lab: deploying on ECS and evaluating it against an EKS configuration
API Management with AWS API Gateway
- Creating and administering RESTful APIs
- Integrating APIs with microservices
- Implementing API versioning and rate limiting
- Practical lab: exposing microservices via API Gateway with version control
Observability, Monitoring, Logging, and Distributed Tracing
- Monitoring with AWS CloudWatch
- Configuring logging via Amazon CloudWatch Logs
- Setting up alerts and notifications
- Foundations of distributed tracing
- Request tracing with AWS X-Ray
- Vendor-neutral instrumentation using OpenTelemetry
- Practical lab: instrumenting microservices with X-Ray and OpenTelemetry to trace requests across services
CI/CD and Infrastructure as Code
- CI/CD pipeline fundamentals for microservices
- Terraform overview for infrastructure provisioning
Microservices Security Best Practices
- Configuring IAM roles and policies
- Securing microservices via API Gateway
- Data encryption in transit and at rest
Requirements
Participants are expected to possess the following:
- Basic to intermediate proficiency in Python
- Fundamental knowledge of REST APIs, HTTP, and web application concepts.
- Basic familiarity with Linux command-line tools and Git.
- A basic understanding of Docker and containerisation concepts is recommended but not required.
- Basic 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 :)