Course Outline
Foundations of Microservices Architecture
- Defining microservices
- Advantages and complexities associated with microservices
- Contrasting microservices with monolithic designs
Configuring AWS Cloud9 for Microservices Development — Rapid Setup
- Provisioning an AWS Cloud9 instance
- Tailoring the development workspace
- Integrating AWS services with Cloud9
Developing Microservices with Docker
- Overview of Docker and containerization techniques
- Constructing and validating Docker images
- Managing multi-container applications with Docker Compose
- Practical task: developing a multi-container application on a local machine
Event-Driven Architecture and Asynchronous Messaging
- Core principles of event-driven architecture and the distinction between synchronous and asynchronous communication
- Utilizing Amazon SQS for queue-based messaging
- Implementing Amazon SNS for publish-subscribe messaging
- Routing and dispatching events with Amazon EventBridge
- Exploring Kafka and Amazon MSK for high-throughput streaming — Brief overview, optional module
- Practical task: establishing asynchronous communication between two services using SQS and SNS, followed by adding EventBridge routing
Deploying Microservices on AWS (ECS, Lambda, and EKS)
- Preparing Amazon ECS for container orchestration
- Deploying microservices via AWS Lambda
- Overview of Kubernetes and Amazon EKS as an alternative orchestration platform — Brief overview, comparative analysis with ECS
- Service discovery mechanisms in microservice environments
- Scaling microservices within AWS
- Practical task: deploying to ECS and contrasting with an EKS configuration
API Management with AWS API Gateway
- Developing and administering RESTful APIs
- Linking APIs to backend microservices
- Managing API versions and rate limiting
- Practical task: exposing microservices via API Gateway with versioning controls
Observability, Monitoring, Logging, and Distributed Tracing
- Leveraging AWS CloudWatch for system monitoring
- Configuring logs with Amazon CloudWatch Logs
- Setting up alerts and notifications
- Concepts of distributed tracing
- Using AWS X-Ray for request tracing
- Applying OpenTelemetry for vendor-agnostic instrumentation
- Practical task: instrumenting microservices with X-Ray and OpenTelemetry to trace a request flow across services
CI/CD and Infrastructure as Code
- Principles of CI/CD pipelines tailored for microservices
- Introduction to Terraform for infrastructure provisioning
Security Best Practices for Microservices
- Configuring IAM roles and policies
- Hardening microservices access via API Gateway
- Data encryption strategies for data 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 concepts.
- Initial familiarity with Linux command-line interfaces and Git.
- Basic knowledge of Docker and containerization principles is advised, though not strictly required.
- General awareness 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 :)