Course Outline
Foundations of Microservices Architecture
- Defining microservices
- Advantages and complexities of microservices
- Contrasting microservices with monolithic architectures
Configuring AWS Cloud9 for Microservices Development — Rapid Setup
- Establishing an AWS Cloud9 environment
- Customizing the development workspace
- Integrating AWS services with Cloud9
Developing Microservices using Docker
- Overview of Docker and containerization
- Creation and testing of Docker containers
- Leveraging Docker Compose for multi-container setups
- Practical exercise: Constructing a multi-container application locally
Event-Driven Architecture and Asynchronous Messaging
- Core concepts of event-driven architecture and synchronous vs. asynchronous communication
- Amazon SQS for queue-based messaging
- Amazon SNS for publish-subscribe messaging
- Amazon EventBridge for event routing and distribution
- Kafka and Amazon MSK as alternatives for high-throughput streaming — Conceptual overview, optional
- Practical exercise: Implementing asynchronous communication between two services using SQS and SNS, then expanding with EventBridge routing
Deploying Microservices on AWS (ECS, Lambda, and EKS)
- Configuration of Amazon ECS for container orchestration
- Deployment of microservices via AWS Lambda
- Introduction to Kubernetes and Amazon EKS as alternative orchestration — Conceptual overview, comparative with ECS
- Service discovery within a microservices context
- Scaling microservices on AWS
- Practical exercise: Deploying on ECS and comparing the setup with EKS
API Management with AWS API Gateway
- Development and administration of RESTful APIs
- Linking APIs to microservices
- API version control and rate limiting
- Practical exercise: Exposing microservices via API Gateway with versioning
Observability, Monitoring, Logging, and Distributed Tracing
- Leveraging AWS CloudWatch for performance monitoring
- Configuring logging via Amazon CloudWatch Logs
- Setting up alerts and notification systems
- Concepts of distributed tracing
- AWS X-Ray for request tracing
- OpenTelemetry for vendor-agnostic instrumentation
- Practical exercise: Instrumenting microservices with X-Ray and OpenTelemetry and tracing requests across services
CI/CD and Infrastructure as Code
- CI/CD pipeline fundamentals for microservices
- Terraform overview for infrastructure provisioning
Security Best Practices for Microservices
- Application of IAM roles and policies
- Hardening microservices via API Gateway
- Data encryption during transmission and storage
Requirements
Participants are expected to have the following:
- Foundational to intermediate proficiency in Python
- A basic grasp of REST APIs, HTTP protocols, and web application fundamentals.
- Basic familiarity with Linux command-line interfaces and Git.
- A basic understanding of Docker and containerization principles is advised but not required.
- Basic knowledge 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 :)