Course Outline
Foundations of Microservices Architecture
- Defining microservices
- Advantages and complexities of a microservices approach
- Contrast with monolithic architectures
Configuring AWS Cloud9 for Microservices Development — Rapid Setup
- Provisioning an AWS Cloud9 environment
- Tailoring the development workspace
- Linking AWS services to Cloud9
Developing Microservices with Docker
- Overview of Docker and containerization
- Constructing and validating Docker images
- Utilizing Docker Compose for multi-container workflows
- Practical task: Assembling a multi-container application locally
Event-Driven Architecture and Asynchronous Messaging
- Core principles of event-driven design and synchronous vs. asynchronous communication
- Leveraging Amazon SQS for queue-based messaging
- Using Amazon SNS for publish-subscribe patterns
- Employing Amazon EventBridge for event routing and distribution
- Overview of Kafka and Amazon MSK as high-volume streaming alternatives — 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)
- Initializing Amazon ECS for container orchestration
- Deploying microservices via AWS Lambda
- Introduction to Kubernetes and Amazon EKS as an orchestration alternative — Overview and comparative analysis with ECS
- Service discovery mechanisms in microservices
- Scaling microservices within AWS
- Practical task: Deployment on ECS with a comparative review of an EKS configuration
API Management via AWS API Gateway
- Creation and administration of RESTful APIs
- Linking APIs to backend microservices
- API versioning and rate limiting
- Practical task: Publishing microservices through API Gateway with versioning support
Observability, Monitoring, Logging, and Distributed Tracing
- Utilizing AWS CloudWatch for system monitoring
- Configuring logging with Amazon CloudWatch Logs
- Setting up alarms and alert notifications
- Concepts in distributed tracing
- AWS X-Ray for request-level tracing
- OpenTelemetry for vendor-neutral instrumentation
- Practical task: Instrumenting microservices with X-Ray and OpenTelemetry to trace requests across services
CI/CD Pipelines and Infrastructure as Code
- CI/CD pipeline strategies for microservices
- Introduction to Terraform for infrastructure automation
Security Best Practices for Microservices
- Implementing IAM roles and permission policies
- Securing microservices via API Gateway
- Data encryption for data in transit and at rest
Requirements
Participants are expected to possess:
- Fundamental to intermediate proficiency in Python
- A basic grasp of REST APIs, HTTP protocols, and web application fundamentals.
- Entry-level familiarity with Linux command-line utilities and Git.
- An introductory understanding of Docker and containerization principles is advised, though not strictly required.
- Basic knowledge of cloud computing concepts 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 :)