Course Outline
Introduction to Microservices Architecture
- Defining microservices
- Advantages and challenges associated with microservices
- Contrast with monolithic architectures
Setting Up AWS Cloud9 for Microservices Development — Quick setup
- Provisioning an AWS Cloud9 environment
- Configuring the development workspace
- Integrating AWS services with Cloud9
Building Microservices with Docker
- Foundations of Docker and containerization
- Creating and testing Docker containers
- Leveraging Docker Compose for multi-container applications
- Practical exercise: developing a multi-container application locally
Event Driven Architecture and Asynchronous Messaging
- Core tenets 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 as high-volume streaming alternatives — Optional, overview only
- Practical exercise: establishing asynchronous communication between two services via SQS and SNS, followed by expansion using 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 alternative orchestration options — Comparative overview only
- Service discovery mechanisms in microservices architectures
- Scaling strategies for microservices on AWS
- Practical exercise: deployment on ECS and comparison with an EKS setup
Managing APIs with AWS API Gateway
- Development and administration of RESTful APIs
- Linking APIs to microservices
- API versioning and throttling techniques
- Practical exercise: publishing 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
- Concepts of distributed tracing
- Request tracing with AWS X-Ray
- Vendor-agnostic instrumentation with OpenTelemetry
- Practical exercise: instrumenting microservices with X-Ray and OpenTelemetry to trace requests across services
CI/CD and Infrastructure as Code
- CI/CD pipeline principles for microservices
- Overview of Terraform for infrastructure provisioning
Microservices Security Best Practices
- Application of IAM roles and policies
- Hardening microservices via API Gateway
- Data encryption in transit and at rest
Requirements
Participants are expected to have the following:
- Foundational to intermediate proficiency in Python
- A basic grasp of REST APIs, HTTP, and web application principles.
- Initial familiarity with Linux command-line utilities and Git.
- Basic knowledge of Docker and containerization concepts is advised but not required.
- A basic understanding of 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 :)