Course Outline
Foundations of Microservices Architecture
- Defining microservices
- Advantages and complexities of microservices
- Contrasting with monolithic architectures
Configuring AWS Cloud9 for Microservices Development — Rapid initialisation
- Provisioning an AWS Cloud9 environment
- Customising the development workspace
- Linking AWS services to Cloud9
Constructing Microservices with Docker
- Overview of Docker and containerisation
- Building and validating Docker containers
- Leveraging Docker Compose for multi-container systems
- Practical task: developing 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 patterns
- Amazon EventBridge for event routing and distribution
- Kafka and Amazon MSK for high-throughput streaming — Brief overview, optional
- Practical task: establishing asynchronous communication between two services via SQS and SNS, followed by extending with EventBridge routing
Deploying Microservices on AWS (ECS, Lambda, and EKS)
- Configuring Amazon ECS for container orchestration
- Deploying microservices via AWS Lambda
- Introduction to Kubernetes and Amazon EKS as an alternative orchestration method — Brief overview, comparative analysis with ECS
- Service discovery mechanisms in microservices
- Scaling microservices within AWS
- Practical task: deploying on ECS and benchmarking against an EKS configuration
API Management via AWS API Gateway
- Developing and governing RESTful APIs
- Integrating APIs with microservices
- API versioning and rate limiting
- Practical task: exposing microservices through API Gateway with versioning
Observability, Monitoring, Logging, and Distributed Tracing
- Leveraging AWS CloudWatch for monitoring
- Configuring logging via Amazon CloudWatch Logs
- Setting up alerts and notifications
- Principles of distributed tracing
- Utilising AWS X-Ray for request tracing
- OpenTelemetry for vendor-agnostic instrumentation
- Practical task: instrumenting microservices with X-Ray and OpenTelemetry to trace requests across services
CI/CD and Infrastructure as Code
- CI/CD pipeline principles for microservices
- Introduction to Terraform for infrastructure provisioning
Security Best Practices for Microservices
- Implementing IAM roles and policies
- Securing microservices via API Gateway
- Encrypting data in transit and at rest
Requirements
Learners are expected to possess:
- A foundational to intermediate grasp of Python
- A basic comprehension of REST APIs, HTTP, and web application principles.
- Basic proficiency with Linux command-line utilities and Git.
- A preliminary understanding of Docker and containerisation principles is advised but not essential.
- General familiarity with 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 :)