Course Outline
Foundations of Microservices Architecture
- Defining microservices
- Advantages and complexities of microservices
- 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
- Basics of Docker and containerization
- Constructing and verifying Docker containers
- Leveraging Docker Compose for multi-container setups
- Practical lab: Developing a multi-container application locally
Event-Driven Architecture and Asynchronous Messaging
- Core tenets of event-driven architecture; synchronous vs. asynchronous patterns
- Utilizing Amazon SQS for queue-based messaging
- Employing Amazon SNS for publish-subscribe models
- Routing events with Amazon EventBridge
- Overview of Kafka and Amazon MSK for high-throughput streaming—Optional
- Practical lab: Establishing asynchronous communication between services via 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
- Introduction to Kubernetes and Amazon EKS as an alternative—Comparative overview with ECS
- Service discovery mechanisms in microservices
- Scaling microservices on AWS
- Practical lab: Deploying on ECS and comparing with an EKS configuration
API Management with AWS API Gateway
- Designing and managing RESTful APIs
- Linking APIs to microservices
- API versioning and rate limiting
- Practical lab: Exposing microservices through API Gateway with version control
Observability: Monitoring, Logging, and Distributed Tracing
- Monitoring with AWS CloudWatch
- Configuring logs with Amazon CloudWatch Logs
- Setting up alarms and notifications
- Concepts of distributed tracing
- Request tracing with AWS X-Ray
- Vendor-agnostic instrumentation with OpenTelemetry
- Practical lab: Instrumenting microservices with X-Ray and OpenTelemetry to trace requests across services
CI/CD and Infrastructure as Code
- CI/CD pipeline principles for microservices
- Introduction to Terraform for infrastructure provisioning
Security Best Practices for Microservices
- Configuring IAM roles and policies
- Enhancing security via API Gateway
- Data encryption in transit and at rest
Requirements
Participants are expected to possess the following skills:
- Fundamental to intermediate proficiency in Python
- A basic grasp of REST APIs, HTTP protocols, and web application concepts.
- Basic familiarity with Linux command-line interfaces and Git.
- A foundational understanding of Docker and containerization concepts is advised, though not strictly required.
- Prior exposure to 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 :)