Course Outline
Foundations of Microservices Architecture
- Definition and scope of microservices
- Advantages and potential pitfalls of microservices
- Contrasting microservices with monolithic designs
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 containers
- Utilizing Docker Compose for multi-container scenarios
- Practical session: Creating a multi-container application locally
Event-Driven Architecture and Asynchronous Messaging
- Core concepts of event-driven design and synchronous vs. asynchronous interaction
- Amazon SQS for queue-based message processing
- Amazon SNS for publish-subscribe messaging
- Amazon EventBridge for event routing and distribution
- Kafka and Amazon MSK for high-throughput streaming — Brief overview, optional module
- Practical session: Establishing asynchronous communication between two services via SQS and SNS, followed by expansion with EventBridge routing
Deploying Microservices on AWS (ECS, Lambda, and EKS)
- Configuring Amazon ECS for container orchestration
- Deploying microservices using AWS Lambda
- Overview of Kubernetes and Amazon EKS as an alternative orchestration platform — Comparative analysis with ECS, optional overview
- Service discovery mechanisms in microservices environments
- Scaling strategies for microservices on AWS
- Practical session: Deployment on ECS and comparison with an EKS configuration
API Administration via AWS API Gateway
- Creation and maintenance of RESTful APIs
- Integration of APIs with microservices
- API versioning and rate limiting
- Practical session: Exposing microservices through an API Gateway with version control
Observability, Monitoring, Logging, and Distributed Tracing
- Leveraging AWS CloudWatch for system monitoring
- Configuring logging via Amazon CloudWatch Logs
- Setting up alarms and notification systems
- Concepts of distributed tracing
- Request tracing with AWS X-Ray
- Vendor-agnostic instrumentation using OpenTelemetry
- Practical session: Instrumenting microservices with X-Ray and OpenTelemetry to trace requests across services
CI/CD and Infrastructure as Code
- CI/CD pipeline principles tailored for microservices
- Introduction to Terraform for infrastructure provisioning
Security Best Practices for Microservices
- Implementation of IAM roles and policies
- Securing microservices via API Gateway
- Data encryption during transit and at rest
Requirements
Learners are expected to possess the following:
- Foundational to intermediate proficiency in Python
- A basic grasp of REST APIs, HTTP protocols, and web application fundamentals.
- Familiarity with Linux command-line utilities and Git.
- Basic knowledge of Docker and containerization principles is advisable, though not required.
- General awareness of cloud computing concepts and AWS offerings 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 :)