Course Outline
Introduction to Microservices Architecture
- Defining microservices
- Exploring the advantages and complexities of microservices
- Contrasting microservices 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 using Docker
- Fundamentals of Docker and containerization
- Creating and verifying Docker containers
- Utilizing Docker Compose for multi-container setups
- Practical task: Assembling a multi-container application locally
Event-Driven Architecture and Asynchronous Messaging
- Core tenets of event-driven architecture; synchronous vs. asynchronous communication
- Leveraging Amazon SQS for queue-based messaging
- Utilizing Amazon SNS for publish-subscribe patterns
- Routing and dispatching events with Amazon EventBridge
- Kafka and Amazon MSK for high-volume streaming—Conceptual overview, optional
- Practical task: Establishing asynchronous links between two services via SQS and SNS, then expanding with EventBridge routing
Microservices Deployment on AWS (ECS, Lambda, and EKS)
- Initializing Amazon ECS for container orchestration
- Deploying services via AWS Lambda
- Basics of Kubernetes and Amazon EKS as an alternative—Conceptual overview, comparative analysis with ECS
- Implementing service discovery in microservices contexts
- Scaling strategies for microservices on AWS
- Practical task: Deploying on ECS and conducting a comparative evaluation with an EKS configuration
API Governance with AWS API Gateway
- Building and managing RESTful APIs
- Linking APIs to microservices
- Managing API versions and implementing throttling
- Practical task: Publishing microservices through API Gateway with version control
Observability, Monitoring, Logging, and Distributed Tracing
- Applying AWS CloudWatch for system monitoring
- Configuring logging via Amazon CloudWatch Logs
- Establishing alarms and notification mechanisms
- Concepts in distributed tracing
- Request tracing using AWS X-Ray
- Vendor-agnostic instrumentation with OpenTelemetry
- Practical task: Instrumenting microservices with X-Ray and OpenTelemetry to trace requests across services
CI/CD and Infrastructure as Code
- CI/CD pipeline methodologies for microservices
- Overview of Terraform for infrastructure provisioning
Best Practices for Microservices Security
- Configuring IAM roles and policies
- Enhancing microservices security via API Gateway
- Data encryption during transit and at rest
Requirements
Participants are expected to have:
- Fundamental to intermediate proficiency in Python
- A basic grasp of REST APIs, HTTP, and web application fundamentals.
- Basic competence with Linux command-line tools and Git.
- A foundational understanding of Docker and containerization concepts is advised, though not required.
- Basic familiarity with 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 :)