Course Outline
Introduction to Microservices Architecture
- Definition of microservices
- Advantages and obstacles of microservices
- Contrast with monolithic designs
Configuring AWS Cloud9 for Microservices Development — Rapid setup
- Establishing an AWS Cloud9 workspace
- Setting up the development workspace
- Linking AWS services to Cloud9
Creating Microservices using Docker
- Overview of Docker and containerization
- Constructing and testing Docker containers
- Utilizing Docker Compose for multi-container apps
- Practical exercise: building a multi-container app locally
Event-Driven Architecture and Asynchronous Messaging
- Core tenets of event-driven architecture and 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 as an alternative for high-volume streaming — Overview only, optional
- Practical exercise: implementing asynchronous communication between two services using SQS and SNS, then expanding with EventBridge routing
Deploying Microservices on AWS (ECS, Lambda and EKS)
- Configuring Amazon ECS for container orchestration
- Launching microservices with AWS Lambda
- Introduction to Kubernetes and Amazon EKS as an alternative orchestration choice — Overview only, comparative with ECS
- Service discovery in microservices architecture
- Scaling microservices in AWS
- Practical exercise: deploying on ECS and comparing with an EKS setup
Managing APIs with AWS API Gateway
- Developing and managing RESTful APIs
- Linking APIs to microservices
- API versioning and throttling
- Practical exercise: exposing microservices through an API Gateway with versioning
Observability, Monitoring, Logging and Distributed Tracing
- Utilizing AWS CloudWatch for monitoring
- Configuring logging with Amazon CloudWatch Logs
- Setting up alarms and notifications
- Concepts of distributed tracing
- AWS X-Ray for request tracing
- OpenTelemetry for vendor-neutral instrumentation
- Practical exercise: instrumenting microservices with X-Ray and OpenTelemetry and tracing a request across services
CI/CD and Infrastructure as Code
- CI/CD pipeline concepts for microservices
- Overview of Terraform for infrastructure provisioning
Microservices Security Best Practices
- Implementing IAM roles and policies
- Securing microservices with API Gateway
- Encrypting data in transit and at rest
Requirements
Learners are expected to possess:
- Fundamental to intermediate proficiency in Python
- A foundational grasp of REST APIs, HTTP and web application principles.
- Basic familiarity with Linux command-line utilities and Git.
- A basic understanding of Docker and containerisation principles is advised, though not required.
- Basic knowledge 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 :)