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
- Customizing the development workspace
- Linking AWS services to Cloud9
Developing Microservices with Docker
- Overview of Docker and containerization
- Constructing and verifying Docker containers
- Leveraging Docker Compose for multi-container setups
- Practical exercise: developing a multi-container application locally
Event-Driven Architectures and Asynchronous Messaging
- Core principles of event-driven design and synchronous vs. asynchronous communication
- Utilizing Amazon SQS for queue-based messaging
- Using Amazon SNS for publish-subscribe models
- Routing events with Amazon EventBridge
- Overview of Kafka and Amazon MSK for high-volume streaming—optional module
- Practical exercise: establishing asynchronous communication between two services using SQS and SNS, then expanding to EventBridge routing
Deploying Microservices on AWS (ECS, Lambda, and EKS)
- Configuring Amazon ECS for container orchestration
- Deploying services via AWS Lambda
- Overview of Kubernetes and Amazon EKS as an alternative orchestration option—comparative analysis with ECS
- Service discovery mechanisms in microservices
- Scaling strategies for AWS microservices
- Practical exercise: deploying on ECS and comparing with an EKS environment
API Management with AWS API Gateway
- Building and administering RESTful APIs
- Integrating APIs with microservices
- API versioning and rate limiting
- Practical exercise: exposing microservices via API Gateway with versioning
Observability, Monitoring, Logging, and Distributed Tracing
- Leveraging AWS CloudWatch for monitoring
- Configuring logging with Amazon CloudWatch Logs
- Setting up alarms and alerts
- 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 Pipelines and Infrastructure as Code
- CI/CD pipeline principles for microservices
- Introduction to Terraform for infrastructure automation
Security Best Practices for Microservices
- Implementing IAM roles and policies
- Enhancing security via API Gateway
- Encryption of data in transit and at rest
Requirements
To fully benefit from this course, participants are expected to possess:
- Fundamental to intermediate proficiency in Python
- A basic grasp of REST APIs, HTTP protocols, and web application fundamentals.
- Basic command-line experience on Linux systems and familiarity with Git.
- A foundational understanding of Docker and containerization concepts is advised, though not strictly required.
- General familiarity with cloud computing principles and AWS service offerings will be 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 :)