Choose your language:

Hong Kong
New Zealand
United Kingdom
United States

AWS Microservices

Course Code



3 Days

Because the course focuses on microservice properties and design, no particular programming language expertise is required though participants should have experience with at least one programming language.
This intensive three day hands–on course is designed to provide working developers, DevOps staff and other technology professionals with a comprehensive introduction to microservices and the AWS microservice environment. Participants will leave with a clear understanding of microservices and how to maximize them on AWS. Participants will gain hands on experience working with AWS and microservices in a range of labs. The course covers the benefits of container based microservice packaging and use of EC2 Container Registry (ECR) as well as dynamic application management using the EC2 Container Service (ECS). Participants will examine various use cases and architecture patterns for microservice based applications throughout the course, with focused discussion on microservice communications, transactions and state management. Upon completion of the course participants will have the skills and information necessary to begin designing and working with microservice based applications on AWS.
This course is designed for Developers, Architects, Engineering Managers, and DevOps personnel.
This course is designed to provide engineering staff with a comprehensive overview of the microservices architecture style and the AWS tools and platform features which support microservice architectures.
Day 1 – Core Concepts
Microservice Overview

Definition of microservice
Microservices benefits
Microservice challenges
Microservices contrasted with other architectural patterns
Principles and Practices

Microservice Communications I – Client/Server
Interfaces and Contracts
Cohesion and Bounded Context
The value of IDL (cases examining OpenAPI, gRPC/ProtoBuf and Thrift)
Service decomposition and recomposition
Breaking down monoliths

Container Packaging
Why packaging is so important in microservice systems
Evolution of application runtime environments
Isolation and constraints
Introduction to Docker
Images, metadata and distribution
Amazon EC2 Container Registry

Day 2 – State
Microservice Communications II – Messaging

Loosely coupled systems
Asynchronous operations
Messaging patterns (oneway, streaming, req/resp, pub/sub, broadcast, anycast, multicast, etc.)
Brokered and Brokerless fabrics
Amazon SQS
Amazon Kinesis

Cloud Native Transactions and Event Sourcing
Local and distributed transactions
Eventual consistency
Event sourcing
State logs and ordering
Immutability and Idempotence

Stateless Services and Polyglot Persistence
Benefits of stateless systems
The challenges of state
Cloud native state management, patterns and practices
Monolithic and distributed state managers
Polyglot persistence

Day 3 – Microservices in Practice
Microservice Orchestration

Introduction to ECS
Load balancing and scaling (ELB, ALB, Routing Meshes, Custom Solutions)
Service discovery schemes (Route 53 DNS)
Orchestration cases: Kubernetes, Mesos/Marathon, Swarm

Serverless computing overview
AWS Lambda
Integrating Lambda functions with services
Accessing state from Lambda functions
Lambda triggers

API Gateways
The role of gateways
Revisiting bounded context
Ingres integration schemes
Access control
Proxy, aggregate and translation operations
Amazon API Gateway
Send Us a Message
Choose one