Course Outline
Foundational Concepts of Microservices Architecture
- Defining the scope and characteristics of microservices
- Evaluating operational advantages and potential complexities of microservices
- Analytical review of microservices versus monolithic system designs
Establishing an AWS Cloud9 Environment for Microservices Development — Expedited Configuration
- Provisioning a dedicated AWS Cloud9 workspace
- Optimizing the development environment configuration
- Integrating AWS native services with Cloud9
Developing Microservices Utilizing Docker
- Foundations of Docker and the benefits of containerization
- Procedures for constructing and validating Docker containers
- Employing Docker Compose to manage multi-container applications
- Practical application: Deploying a multi-container system in a local environment
Event-Driven Architecture and Asynchronous Communication Patterns
- Core principles of event-driven design and the distinction between synchronous and asynchronous messaging
- Utilizing Amazon SQS for queue-based message handling
- Implementing Amazon SNS for publish-subscribe communication
- Leveraging Amazon EventBridge for centralized event routing and distribution
- Examining Kafka and Amazon MSK for high-throughput streaming scenarios — Overview only, optional
- Practical application: Orchestrating asynchronous data exchange between services via SQS and SNS, followed by the integration of EventBridge for advanced routing
Deploying Microservices on AWS Infrastructure (ECS, Lambda, and EKS)
- Configuring Amazon ECS for container orchestration
- Implementing microservices using AWS Lambda
- Overview of Kubernetes and Amazon EKS as an alternative orchestration platform — Overview only, comparative analysis with ECS
- Strategies for service discovery within a microservices ecosystem
- Techniques for scaling microservices within AWS
- Practical application: Deploying workloads on ECS and conducting a comparative evaluation with an EKS configuration
API Governance and Management with AWS API Gateway
- Development and administration of RESTful APIs
- Integration of APIs with underlying microservices
- Implementing API versioning and throttling controls
- Practical application: Publishing microservices via API Gateway with implemented versioning schemes
Observability, Monitoring, Logging, and Distributed Tracing
- Leveraging AWS CloudWatch for system monitoring
- Configuring centralized logging with Amazon CloudWatch Logs
- Establishing alarm triggers and notification mechanisms
- Theoretical framework for distributed tracing
- Utilizing AWS X-Ray for request flow analysis
- Implementing OpenTelemetry for vendor-neutral instrumentation
- Practical application: Applying X-Ray and OpenTelemetry to trace request lifecycles across distributed services
CI/CD Pipelines and Infrastructure as Code
- Foundational concepts of CI/CD automation for microservices
- Overview of Terraform for automated infrastructure provisioning
Security Best Practices for Microservices
- Implementation of IAM roles and policy controls
- Enhancing microservices security through API Gateway features
- Protocols for encrypting data in transit and at rest
Requirements
Participants are expected to possess the following competencies:
- Basic to intermediate proficiency in Python
- Fundamental understanding of REST APIs, HTTP protocols, and web application architecture.
- Basic familiarity with Linux command-line utilities and Git version control.
- Basic understanding of Docker and containerization concepts is recommended, though not strictly required.
- Basic familiarity with cloud computing principles and AWS service offerings is advantageous
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 :)