Course Outline
Foundations of Microservices Architecture
- Defining microservices
- Advantages and complexities of microservices
- Contrast with monolithic systems
Preparing AWS Cloud9 for Microservices Development — Rapid configuration
- Provisioning an AWS Cloud9 workspace
- Tailoring the development environment
- Integrating AWS services with Cloud9
Developing Microservices using Docker
- Overview of Docker and containerization
- Construction and testing of Docker containers
- Leveraging Docker Compose for multi-container scenarios
- Practical task: developing a multi-container application in a local environment
Event-Driven Design and Asynchronous Messaging
- Core tenets of event-driven design and synchronous vs. asynchronous communication
- Amazon SQS for queue-based messaging
- Amazon SNS for publish-subscribe patterns
- Amazon EventBridge for event routing and distribution
- Kafka and Amazon MSK as options for high-volume streaming — Overview only, optional
- Practical task: establishing asynchronous communication between two services via SQS and SNS, followed by expanding 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 orchestration strategy — Overview only, comparative with ECS
- Service discovery within microservices frameworks
- Scaling microservices on AWS
- Practical task: deployment on ECS and comparison with an EKS configuration
API Management with AWS API Gateway
- Creation and administration of RESTful APIs
- Linking APIs to microservices
- API versioning and rate limiting
- Practical task: exposing microservices via an API Gateway with versioning capabilities
Observability, Monitoring, Logging, and Distributed Tracing
- Leveraging AWS CloudWatch for monitoring
- Configuring logging with Amazon CloudWatch Logs
- Implementing alerts and notifications
- Concepts of distributed tracing
- AWS X-Ray for request tracking
- OpenTelemetry for vendor-agnostic instrumentation
- Practical task: instrumenting microservices with X-Ray and OpenTelemetry to trace a request across services
CI/CD and Infrastructure as Code
- CI/CD pipeline principles for microservices
- Overview of Terraform for infrastructure provisioning
Security Best Practices for Microservices
- Implementing IAM roles and policies
- Protecting microservices via API Gateway
- Data encryption in transit and at rest
Requirements
Learners are expected to possess:
- Foundational to intermediate proficiency in Python
- A basic grasp of REST APIs, HTTP protocols, and web application principles.
- General knowledge of Linux command-line utilities and Git.
- A foundational understanding of Docker and containerization concepts is advised, though not strictly required.
- Basic awareness of cloud computing principles and AWS offerings would 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 :)