Course Outline
Introduction to Microservices Architecture
- Definition and scope of microservices
- Advantages and potential pitfalls of microservices
- Contrast with monolithic architectures
Preparing AWS Cloud9 for Microservices Development — Rapid Configuration
- Provisioning an AWS Cloud9 environment
- Customizing the development workspace
- Linking AWS services to Cloud9
Constructing Microservices with Docker
- Fundamentals of Docker and containerization
- Building and validating Docker containers
- Leveraging Docker Compose for multi-container setups
- Practical task: Creating a multi-container application locally
Event-Driven Architecture and Asynchronous Messaging
- Core concepts of event-driven design and synchronous vs. asynchronous interaction
- Amazon SQS for queue-based messaging
- Amazon SNS for publish-subscribe messaging
- Amazon EventBridge for event routing and distribution
- Kafka and Amazon MSK as high-volume streaming alternatives — Overview only, optional
- Practical task: Establishing asynchronous communication between two services using SQS and SNS, followed by extending with EventBridge routing
Deploying Microservices on AWS (ECS, Lambda, and EKS)
- Configuring Amazon ECS for container orchestration
- Deploying microservices via AWS Lambda
- Overview of Kubernetes and Amazon EKS as an alternative orchestration method — Overview only, comparative analysis with ECS
- Service discovery within microservices architectures
- Scaling strategies for microservices in AWS
- Practical task: Deployment on ECS and comparison with an EKS setup
Managing APIs with AWS API Gateway
- Creation and administration of RESTful APIs
- Integrating APIs with microservices
- API versioning and throttling mechanisms
- Practical task: Exposing microservices through API Gateway with versioning enabled
Observability, Monitoring, Logging, and Distributed Tracing
- Utilizing AWS CloudWatch for monitoring purposes
- Configuring logging via Amazon CloudWatch Logs
- Setting up alarms and notification workflows
- Concepts of distributed tracing
- AWS X-Ray for request-level tracing
- OpenTelemetry for vendor-neutral instrumentation
- Practical task: Instrumenting microservices with X-Ray and OpenTelemetry to trace requests across services
CI/CD and Infrastructure as Code
- CI/CD pipeline principles tailored for microservices
- Introduction to Terraform for infrastructure provisioning
Microservices Security Best Practices
- Implementing IAM roles and policies
- Enhancing security via API Gateway
- Data encryption in transit and at rest
Requirements
Participants are expected to have:
- Foundational to intermediate proficiency in Python
- A basic grasp of REST APIs, HTTP, and web application concepts.
- Basic familiarity with Linux command-line tools and Git.
- A fundamental understanding of Docker and containerization concepts is advised, though not strictly required.
- Basic awareness of 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 :)