Course Outline
Foundations of Microservices Architecture
- Definition and nature of microservices
- Advantages and complexities associated with microservices
- Differentiation from monolithic architectures
Configuring AWS Cloud9 for Microservices Development — Rapid Setup
- Establishing an AWS Cloud9 environment
- Setting up the development workspace
- Integrating AWS services with Cloud9
Developing Microservices with Docker
- Overview of Docker and containerization
- Constructing and validating Docker containers
- Leveraging Docker Compose for multi-container applications
- Practical exercise: creating a multi-container application locally
Event-Driven Architecture and Asynchronous Messaging
- Core tenets of event-driven architecture; 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 for high-volume streaming — Overview only, optional
- Practical exercise: establishing asynchronous communication between two services via SQS and SNS, followed by extending with EventBridge routing
Deploying Microservices on AWS (ECS, Lambda, and EKS)
- Configuration of Amazon ECS for container orchestration
- Deployment of microservices using AWS Lambda
- Introduction to Kubernetes and Amazon EKS as an alternative orchestration platform — Overview only, comparison with ECS
- Service discovery within a microservices framework
- Scaling microservices within AWS
- Practical exercise: deploying to ECS and comparing with an EKS configuration
API Management via AWS API Gateway
- Creation and administration of RESTful APIs
- Linking APIs to microservices
- API version control and rate limiting
- Practical exercise: exposing microservices through an API Gateway with versioning
Observability, Monitoring, Logging, and Distributed Tracing
- Leveraging AWS CloudWatch for system monitoring
- Configuring logging with Amazon CloudWatch Logs
- Setting up alarms and alerts
- Concepts of distributed tracing
- Request tracing using AWS X-Ray
- Vendor-agnostic instrumentation via OpenTelemetry
- Practical exercise: instrumenting microservices with X-Ray and OpenTelemetry to trace requests across services
CI/CD and Infrastructure as Code
- CI/CD pipeline principles for microservices
- Terraform overview for infrastructure provisioning
Microservices Security Best Practices
- Implementation of IAM roles and policies
- Securing microservices through API Gateway
- Data encryption during transit and storage
Requirements
Participants are expected to possess the following knowledge:
- Foundational to intermediate proficiency in Python
- A basic grasp of REST APIs, HTTP protocols, and web application principles.
- Familiarity with fundamental Linux command-line utilities and Git.
- Basic knowledge of Docker and containerization concepts is advised, though not 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 :)