SlideShare a Scribd company logo
1 of 43
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Nathan Peck
April 23, 2018
Introducing ECS Service
Discovery
Communication service for building
containerized microservices on AWS
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Application communication is evolving
Functional calls
Find endpoints,
then connect
Across the room
Dynamic name,
number, and location
Across cities / continents 1:1
Known endpoints, APIs
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Developers need to connect microservices
Build apps
invoking other services
by name
Ensure that service
name resolves to
correct IP/port
DEV OPS
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What is Service Discovery?
“Where is Service X?”
Friendly name -> IP + port
E.g., app: {10.0.4.5:8080, 10.0.4.6:8080 }
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Why is it non trivial?
Dynamic by design:
Number of containers & instances
Auto assigned IP addresses & ports
Placement, scheduling, scaling
Deployments and upgrades
Health and connectivity
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Decision criteria
Discovery mechanism
How does an application send traffic to a
service from the registry?
Registration mechanism
How is a service added to the registry?
Service Registry
Where is info about services stored?
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Current patterns require install, setup and management
Load Balancers Key-value store Service Mesh
Service
registry
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Load Balancers – Server Side Discovery
E.g.,
Load Balancer
Benefits
Client is simpler
Drawbacks
Install, manage
Availability, capacity
More hops
Client
Server
Server
Server
Request Request
LB +
Service
Registry
Register
Register
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
DNS based – Client Side Discovery
E.g.,
Route 53 Based
Benefits
Fewer hops
Drawbacks
Client must be registry aware
Client implements discovery logic
Client
Server
Server
Server
Service
Registry
Request
Register
Register
Register
Query
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Requires registrations by agents
E.g.,
Consul, Etcd and Zookeeper
Benefits
Registrar registers, unregisters
and performs health checks
Service less complex
Drawbacks
State may not reflect whether service can
handle requests, only active or unavailable
Install, configure and manage other
component, unless it is a part of infrastructure
Server
Server
Server
Service
Registry
Update Start, stop,
health change
Registrar/
service manager
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Requires registrations by agents
E.g.,
Consul, Etcd and Zookeeper
Benefits
Registrar registers, unregisters
and performs health checks
Service less complex
Drawbacks
State may not reflect whether service
can handle requests, only active or
unavailable
Install, configure and manage other
component, unless it is a part of
infrastructure
Client
Server
Server
Client
Key
Value
Service
Registry
Registrator
Server
Client
Key
Value
Key
Value
Master
Key
Value
Service
Registry
Key
Value
Key
Value
Master
Registrator
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
This should be easier!
Predictable Names
for services
Auto updated with
latest, healthy IP,
port
Managed: No
overhead of
installation or
monitoring
High availability,
high scale
Extensible:
Flexible
boundaries for
auto discovery
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Introducing managed service discovery for ECS
You build apps where
services are invoked by
name & name resolves to
IP/port dynamically
You turn on service
discovery during
deployment — service
creation
DEV OPS
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ECS service discovery is powered by Route 53
ECS updates service registry based
on naming convention, task
registrations, de-registrations
and health
Route 53 provides Service Registry
Route 53ECS
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Demo
https://servicediscovery.ranman.com/
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Enables these use cases
1
Blue green deployments
• myapp.staging.local
• myapp.prod.local
• Private IP
• abstract cluster
details
2
Internal micro services
• web.myapp.local
• Expose Private IP
3
External micro services
• web.myapp.mycompa
ny.com
• Expose public IP or
ELB EIP
• network + container
health check
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Enables these use cases
4
Across ECS & Kubernetes
• Service1.myapp.ecs
• Service2.myapp.eks
5
Across ECS &
AWS &On-Prem
• Service1.myapp.ecs
• Service2.myapp.ec2
• Service3.myapp.onprem
6
Expose to service mesh
• Service1.myapp.local
• Service2.myapp.local
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What’s New?
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Route 53 provides Service Registry
Route 53 provides APIs to create
• Namespace
• CNAME per service autoname
• A records per task IP
• SRV records per task IP + portService
CNAME: A / SRV record
Namespac
e
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ECS schedules & places service endpoints
ECS Scheduler updates on:
• Service scaling
• Task registrations
• Task de-registrations
• Task health
• Scheduling / Placement changes
• ECS instance changes
ECS maintains latest state of the
dynamic environment in Service
Registry
Cluster: myapp
app
IP
web
IP
app
IP
web
IP
AZ 1 AZ 2
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ECS updates service endpoints in Route 53
Cluster: myapp
AZ 1 AZ 2
app
10.0.6.5:8080
web
10.0.8.6:8080
app
10.0.4.5:8080
web
10.0.3.6:8080
Namespace: myapp.local
Service
web.myapp.local CNAME
10.0.4.5:8080
10.0.3.6:8080
Service
app.myapp.local CNAME
10.0.6.5:8080
10.0.8.6:8080
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Services connect to latest endpoints via DNS
Service
web.myapp.local CNAME
10.0.4.5:8080
10.0.3.6:8080
app
> dig web.myapp.local
> 10.0.4.5:8080
>
app web
web
Cluster: myapp DNS Server:
AZ 1 AZ 2
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Benefits of this approach
Cluster: myapp
AZ 1 AZ 2
Service
Namespace
Managed
• Setup once, use forever
Highly available
• Same availability and
scalability as Route 53
Extensible
• Public APIs that can be used
across AWS
• Works across clusters,
accounts, AZs
• Works across AWS services
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Route 53 Auto Naming
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What is Route 53 Auto Naming?
API that powers ECS
Service Discovery
Service name registration and
management tool
DNS-based service discovery
mechanism
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Introducing new abstractions
Namespace Service Service Instance
Instance
172.10.0.1
frontend
ServiceNamespace
test.internal
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Namespace
Logical group of services
Private or public visibility
Service-linked hosted zone in
Amazon Route 53
Service
staging.internal
frontend
Namespace
backend
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Namespace
Namespace management APIs:
createPublicDnsNamespace
createPrivateDnsNamespace
deleteNamespace
listNamespaces
getNamespace
Service
staging.internal
frontend
Namespace
backend
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Service
ECS: application component run on one
or many tasks
Auto Naming: service naming and
health checking template
staging.internal
frontend
Name = frontend
Record type = A
TTL = 60 sec
Check health = Yes
HC type = path-based
HC path = /ping
Service
Namespace
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Service
staging.internal
frontend
Name = frontend
Record type = A
TTL = 60 sec
Check health = Yes
HC type = path-based
HC path = /ping
Service
Namespace
Service management APIs:
createService
deleteService
updateService
listServices
getService
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Service Instance
Represents an actual endpoint
Addressable by ip or ip:port
staging.internal
frontend
Service
Instance
172.10.0.3
Namespace
Instance
172.10.0.1
Instance
172.10.0.2
Name = frontend
Record type = A
TTL = 60 sec
Check health = Yes
HC type = path-based
HC path = /ping
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Service Instance
staging.internal
frontend
Service
Instance
172.10.0.3
Namespace
Instance
172.10.0.1
Instance
172.10.0.2
Name = frontend
Record type = A
TTL = 60 sec
Check health = Yes
HC type = path-based
HC path = /ping
Service Instance
management APIs:
registerInstance
deregisterInstance
listInstances
getInstance
getInstanceHealthStatus
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Route 53 Auto Naming Route 53 Route 53 Health Check EndpointECS
Route 53 Auto Naming Route 53 Route 53 Health Check EndpointECS
loop
createPrivateDNSNamespace
operationID
createService(DNS,HealthCheck)
store DNS and health check temaplate
service details
loop
loop
[MultipleInstance Registration]
registerInstance(service,IP)
add operationto batch
operationID
create healthcheck
HealthCheckID
Create DNS records
[Health Checking]
create healthstatus
[Auto Naming Batch Processing]
Route 53 Auto Naming Workflow
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Discovery over DNS
* If health-checking is enabled for the corresponding Route 53 Auto Naming Service
Auto Naming uses Route 53
Multivalue Answer Routing
Each DNS query returns up to 8
healthy* endpoints
Client-side load balancing
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Route 53 Auto Naming benefits
Managed API designed for
micro-service architectures
Regional control plane for
better availability
Discovery via Route 53 DNS
with 100% availability SLA
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Under the Hood
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ECS
Cluster
VPC
Services can discover other services using DNS
Service Green -> Service Blue
(option 1)
• Green does a DNS query
• Query hits internal vpc
DNS server
• Green get a list of IP / IP+Port
• Green communicates with that
IP/ IP + Port
(option 2)
• Green calls Service endpoint via
an API
• Gets list of all IP/ IP+port for
a service
Private DNS:
blue.colors.local: green.colors.local:
ECS Control Plane
Cluster: Colors
Service: Blue
Task Defn: Blue
# of tasks: 3
Service: Green
Task Defn: Green
# of tasks: 1
Namespace: colors.local
Service
Blue
Service Green
Hosted Zone: colors.local Route 53
Control Plane
Service Scheduler
Docker
ECS
Agent
Task Green
Container
Docker ECS Agent
Task Blue
Container
Task Blue
Container
AZ 1 AZ 2
Docker ECS Agent
Task Blue
Container
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ECS
Cluster
VPC
Services can discover other services using DNS
Private DNS:
blue.colors.local: IP1, IP2, IP4
green.colors.local: IP3
Cluster: Colors
Service: Blue
Task Defn: Blue
# of tasks: 3
Service: Green
Task Defn: Green
# of tasks: 1
Namespace: colors.local
Service
Blue
Service Green
Hosted Zone: colors.local Route 53
Control Plane
IP 3
Docker
ECS
Agent
Task Green
Container
Docker ECS Agent
Task Blue
Container
IP 1
Task Blue
Container
IP 2
AZ 1 AZ 2
Docker ECS Agent
Task Blue
Container
IP 4
ECS Control Plane
Service Scheduler
Route 53 Internal
1. Distribute ECS Task endpoints to DNS
servers
ECS -> Route 53
1. Register it with R53 Service
ECS Internal
1. Start Task
2. Get Task ENI (awsvpc mode)
ECS -> Route 53
1. Create Namespace (one per cluster)
2. Create R53 Service (one per
ECS Service)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ECS
Cluster
VPC
Services can discover other services using DNS
ECS –> R53 ongoing
1. Register/ DeregisterTasks into
Route 53 Service based on task
state and health
2. UpdatesTasks in Route 53
Service on cluster auto scaling or
service scaling
Route 53 Ongoing
1. For Service query, return IP/Port
2. ForTask HealthCheck details,
update DNS servers
3. For ECSTask state changes,
update DNS servers
Private DNS:
blue.colors.local: IP1,IP2,IP5,IP4
green.colors.local: IP3
Cluster: Colors
Service: Blue
Task Defn: Blue
# of tasks: 4
Service: Green
Task Defn: Green
# of tasks: 1
Namespace: colors.local
Service
Blue
Service Green
Hosted Zone: colors.local Route 53
Control Plane
IP 3
Docker
ECS
Agent
Task Green
Container
Docker ECS Agent
Task Blue
Container
IP 1
Task Blue
Container
IP 2
AZ 1 AZ 2
Docker ECS Agent
Task Blue
Container
IP 5
Task Blue
Container
IP 4
ECS Control Plane
Service Scheduler
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ECS
Cluster
VPC
Services can discover other services using DNS
Service Green -> Service Blue
(option 1)
• Green does a DNS query
• Query hits internal vpc
DNS server
• Green get a list of IP / IP+Port
• Green communicates with that
IP/ IP + Port
(option 2)
• Green calls Service endpoint via
an API
• Gets list of all IP/ IP+port for
a service
Private DNS:
blue.colors.local: IP1,IP2,IP5,IP4
green.colors.local: IP 3
Cluster: Colors
Service: Blue
Task Defn: Blue
# of tasks: 4
Service: Green
Task Defn: Green
# of tasks: 1
Namespace: colors.local
Service
Blue
Service Green
Hosted Zone: colors.local Route 53
Control Plane
IP 3
Docker
ECS
Agent
Task Green
Container
Docker ECS Agent
Task Blue
Container
IP 1
Task Blue
Container
IP 2
AZ 1 AZ 2
Docker ECS Agent
Task Blue
Container
IP 5
Task Blue
Container
IP 4
Health Check
ECS Control Plane
Service Scheduler
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Requirements & Limits
• Tasks must use “awsvpc” network mode
• Must specify container health check
endpoint for essential containers in task
• Console workflow assumes 1:1:1
mapping between vpc:cluster:app
• Dependent on Route 53 propagation
delay for registering new IPs (scaling)
or stopping traffic to unhealthy tasks
• Client side logic needed for query,
resolution and retries, 8 DNS records
fetched in each query
• Private VPC: container health check
only, no way to add on network health
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
How do I use it?
• Native integration with Amazon ECS
Works with Fargate and EC2 launch types
• Also available for Kubernetes!
https://github.com/kubernetes-incubator/external-dns
• Available in all AWS regions where Amazon ECS and Route 53 Auto
Naming are available
https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Thank You!
peckn@amazon.com
nathankpeck
nathanpeck
Learn more at https://aws.amazon.com/ecs/resources

More Related Content

What's hot

SRV316 Serverless Data Processing at Scale: An Amazon.com Case Study
 SRV316 Serverless Data Processing at Scale: An Amazon.com Case Study SRV316 Serverless Data Processing at Scale: An Amazon.com Case Study
SRV316 Serverless Data Processing at Scale: An Amazon.com Case StudyAmazon Web Services
 
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...Best Practices for Centrally Monitoring Resource Configuration & Compliance (...
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...Amazon Web Services
 
Migrate & Optimize Microsoft Applications on AWS
Migrate & Optimize Microsoft Applications on AWSMigrate & Optimize Microsoft Applications on AWS
Migrate & Optimize Microsoft Applications on AWSAmazon Web Services
 
Executing a Large Scale Migration to AWS (ENT337-R2) - AWS re:Invent 2018
Executing a Large Scale Migration to AWS (ENT337-R2) - AWS re:Invent 2018Executing a Large Scale Migration to AWS (ENT337-R2) - AWS re:Invent 2018
Executing a Large Scale Migration to AWS (ENT337-R2) - AWS re:Invent 2018Amazon Web Services
 
Securing SaaS/Web and Windows Apps in a Hybrid Cloud World (SEC314-S) - AWS r...
Securing SaaS/Web and Windows Apps in a Hybrid Cloud World (SEC314-S) - AWS r...Securing SaaS/Web and Windows Apps in a Hybrid Cloud World (SEC314-S) - AWS r...
Securing SaaS/Web and Windows Apps in a Hybrid Cloud World (SEC314-S) - AWS r...Amazon Web Services
 
Best Practices to Secure Data Lake on AWS (ANT327) - AWS re:Invent 2018
Best Practices to Secure Data Lake on AWS (ANT327) - AWS re:Invent 2018Best Practices to Secure Data Lake on AWS (ANT327) - AWS re:Invent 2018
Best Practices to Secure Data Lake on AWS (ANT327) - AWS re:Invent 2018Amazon Web Services
 
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...Amazon Web Services
 
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...Amazon Web Services
 
Analyze your Data Lake, Fast @ Any Scale - AWS Online Tech Talks
Analyze your Data Lake, Fast @ Any Scale - AWS Online Tech TalksAnalyze your Data Lake, Fast @ Any Scale - AWS Online Tech Talks
Analyze your Data Lake, Fast @ Any Scale - AWS Online Tech TalksAmazon Web Services
 
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...Amazon Web Services
 
SRV304 IoT Building Blocks From Edge Devices to Analytics in the Cloud
SRV304 IoT Building Blocks From Edge Devices to Analytics in the Cloud SRV304 IoT Building Blocks From Edge Devices to Analytics in the Cloud
SRV304 IoT Building Blocks From Edge Devices to Analytics in the Cloud Amazon Web Services
 
Develop Containerized Apps with AWS Fargate
Develop Containerized Apps with AWS Fargate Develop Containerized Apps with AWS Fargate
Develop Containerized Apps with AWS Fargate Amazon Web Services
 
DEM04 Fearless: From Monolith to Serverless with Dynatrace
DEM04 Fearless: From Monolith to Serverless with DynatraceDEM04 Fearless: From Monolith to Serverless with Dynatrace
DEM04 Fearless: From Monolith to Serverless with DynatraceAmazon Web Services
 
Building Serverless Analytics Solutions with Amazon QuickSight (ANT391) - AWS...
Building Serverless Analytics Solutions with Amazon QuickSight (ANT391) - AWS...Building Serverless Analytics Solutions with Amazon QuickSight (ANT391) - AWS...
Building Serverless Analytics Solutions with Amazon QuickSight (ANT391) - AWS...Amazon Web Services
 
BDA305 Building Data Lakes and Analytics on AWS
BDA305 Building Data Lakes and Analytics on AWSBDA305 Building Data Lakes and Analytics on AWS
BDA305 Building Data Lakes and Analytics on AWSAmazon Web Services
 
Achieving Business Value with AWS - AWS Online Tech Talks
Achieving Business Value with AWS - AWS Online Tech TalksAchieving Business Value with AWS - AWS Online Tech Talks
Achieving Business Value with AWS - AWS Online Tech TalksAmazon Web Services
 
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...Amazon Web Services
 

What's hot (20)

SRV316 Serverless Data Processing at Scale: An Amazon.com Case Study
 SRV316 Serverless Data Processing at Scale: An Amazon.com Case Study SRV316 Serverless Data Processing at Scale: An Amazon.com Case Study
SRV316 Serverless Data Processing at Scale: An Amazon.com Case Study
 
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...Best Practices for Centrally Monitoring Resource Configuration & Compliance (...
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...
 
Migrate & Optimize Microsoft Applications on AWS
Migrate & Optimize Microsoft Applications on AWSMigrate & Optimize Microsoft Applications on AWS
Migrate & Optimize Microsoft Applications on AWS
 
Executing a Large Scale Migration to AWS (ENT337-R2) - AWS re:Invent 2018
Executing a Large Scale Migration to AWS (ENT337-R2) - AWS re:Invent 2018Executing a Large Scale Migration to AWS (ENT337-R2) - AWS re:Invent 2018
Executing a Large Scale Migration to AWS (ENT337-R2) - AWS re:Invent 2018
 
Securing SaaS/Web and Windows Apps in a Hybrid Cloud World (SEC314-S) - AWS r...
Securing SaaS/Web and Windows Apps in a Hybrid Cloud World (SEC314-S) - AWS r...Securing SaaS/Web and Windows Apps in a Hybrid Cloud World (SEC314-S) - AWS r...
Securing SaaS/Web and Windows Apps in a Hybrid Cloud World (SEC314-S) - AWS r...
 
Managed NoSQL databases
Managed NoSQL databasesManaged NoSQL databases
Managed NoSQL databases
 
Best Practices to Secure Data Lake on AWS (ANT327) - AWS re:Invent 2018
Best Practices to Secure Data Lake on AWS (ANT327) - AWS re:Invent 2018Best Practices to Secure Data Lake on AWS (ANT327) - AWS re:Invent 2018
Best Practices to Secure Data Lake on AWS (ANT327) - AWS re:Invent 2018
 
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...
 
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
 
Analyze your Data Lake, Fast @ Any Scale - AWS Online Tech Talks
Analyze your Data Lake, Fast @ Any Scale - AWS Online Tech TalksAnalyze your Data Lake, Fast @ Any Scale - AWS Online Tech Talks
Analyze your Data Lake, Fast @ Any Scale - AWS Online Tech Talks
 
Amazon EBS: Deep Dive
Amazon EBS: Deep DiveAmazon EBS: Deep Dive
Amazon EBS: Deep Dive
 
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...
 
Amazon Container Services
Amazon Container ServicesAmazon Container Services
Amazon Container Services
 
SRV304 IoT Building Blocks From Edge Devices to Analytics in the Cloud
SRV304 IoT Building Blocks From Edge Devices to Analytics in the Cloud SRV304 IoT Building Blocks From Edge Devices to Analytics in the Cloud
SRV304 IoT Building Blocks From Edge Devices to Analytics in the Cloud
 
Develop Containerized Apps with AWS Fargate
Develop Containerized Apps with AWS Fargate Develop Containerized Apps with AWS Fargate
Develop Containerized Apps with AWS Fargate
 
DEM04 Fearless: From Monolith to Serverless with Dynatrace
DEM04 Fearless: From Monolith to Serverless with DynatraceDEM04 Fearless: From Monolith to Serverless with Dynatrace
DEM04 Fearless: From Monolith to Serverless with Dynatrace
 
Building Serverless Analytics Solutions with Amazon QuickSight (ANT391) - AWS...
Building Serverless Analytics Solutions with Amazon QuickSight (ANT391) - AWS...Building Serverless Analytics Solutions with Amazon QuickSight (ANT391) - AWS...
Building Serverless Analytics Solutions with Amazon QuickSight (ANT391) - AWS...
 
BDA305 Building Data Lakes and Analytics on AWS
BDA305 Building Data Lakes and Analytics on AWSBDA305 Building Data Lakes and Analytics on AWS
BDA305 Building Data Lakes and Analytics on AWS
 
Achieving Business Value with AWS - AWS Online Tech Talks
Achieving Business Value with AWS - AWS Online Tech TalksAchieving Business Value with AWS - AWS Online Tech Talks
Achieving Business Value with AWS - AWS Online Tech Talks
 
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...
 

Similar to New Features for Building Powerful Containerized Microservices on AWS - AWS Online Tech Talks

Introducing Service Discovery for Amazon ECS - CON403 - re:Invent 2017
Introducing Service Discovery for Amazon ECS - CON403 - re:Invent 2017Introducing Service Discovery for Amazon ECS - CON403 - re:Invent 2017
Introducing Service Discovery for Amazon ECS - CON403 - re:Invent 2017Amazon Web Services
 
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...Amazon Web Services
 
Patterns and Considerations in Service Discovery - Con327 - re:Invent 2017
Patterns and Considerations in Service Discovery - Con327 - re:Invent 2017Patterns and Considerations in Service Discovery - Con327 - re:Invent 2017
Patterns and Considerations in Service Discovery - Con327 - re:Invent 2017Amazon Web Services
 
Patterns and Considerations in Service Discovery - Con327 - re:Invent 2017
Patterns and Considerations in Service Discovery - Con327 - re:Invent 2017Patterns and Considerations in Service Discovery - Con327 - re:Invent 2017
Patterns and Considerations in Service Discovery - Con327 - re:Invent 2017Roven Drabo
 
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018Amazon Web Services
 
Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...
Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...
Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...Amazon Web Services
 
Debug your Container and Serverless Applications with AWS X-Ray in 5 Minutes ...
Debug your Container and Serverless Applications with AWS X-Ray in 5 Minutes ...Debug your Container and Serverless Applications with AWS X-Ray in 5 Minutes ...
Debug your Container and Serverless Applications with AWS X-Ray in 5 Minutes ...Amazon Web Services
 
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...Amazon Web Services
 
[NEW LAUNCH!] How to Architect for Multi-Region Redundancy Using Anycast IPs ...
[NEW LAUNCH!] How to Architect for Multi-Region Redundancy Using Anycast IPs ...[NEW LAUNCH!] How to Architect for Multi-Region Redundancy Using Anycast IPs ...
[NEW LAUNCH!] How to Architect for Multi-Region Redundancy Using Anycast IPs ...Amazon Web Services
 
Building API Driven Microservices
Building API Driven MicroservicesBuilding API Driven Microservices
Building API Driven MicroservicesChris Munns
 
Leadership Session: Using DevOps, Microservices, and Serverless to Accelerate...
Leadership Session: Using DevOps, Microservices, and Serverless to Accelerate...Leadership Session: Using DevOps, Microservices, and Serverless to Accelerate...
Leadership Session: Using DevOps, Microservices, and Serverless to Accelerate...Amazon Web Services
 
[REPEAT 1] Elastic Load Balancing: Deep Dive and Best Practices (NET404-R1) -...
[REPEAT 1] Elastic Load Balancing: Deep Dive and Best Practices (NET404-R1) -...[REPEAT 1] Elastic Load Balancing: Deep Dive and Best Practices (NET404-R1) -...
[REPEAT 1] Elastic Load Balancing: Deep Dive and Best Practices (NET404-R1) -...Amazon Web Services
 
Serverless Architectural Patterns and Best Practices
Serverless Architectural Patterns and Best PracticesServerless Architectural Patterns and Best Practices
Serverless Architectural Patterns and Best PracticesAmazon Web Services
 
Migration Planning with AWS Application Discovery Service - ENT308 - Chicago ...
Migration Planning with AWS Application Discovery Service - ENT308 - Chicago ...Migration Planning with AWS Application Discovery Service - ENT308 - Chicago ...
Migration Planning with AWS Application Discovery Service - ENT308 - Chicago ...Amazon Web Services
 
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...Amazon Web Services
 
Serverless best practices plus design principles 20m version
Serverless   best practices plus design principles 20m versionServerless   best practices plus design principles 20m version
Serverless best practices plus design principles 20m versionHeitor Lessa
 
Migrating Single-Tenant Applications to Multi-Tenant SaaS (ARC326-R1) - AWS r...
Migrating Single-Tenant Applications to Multi-Tenant SaaS (ARC326-R1) - AWS r...Migrating Single-Tenant Applications to Multi-Tenant SaaS (ARC326-R1) - AWS r...
Migrating Single-Tenant Applications to Multi-Tenant SaaS (ARC326-R1) - AWS r...Amazon Web Services
 
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 - 유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 -  유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 -  유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 - 유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...Amazon Web Services Korea
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteArun Gupta
 

Similar to New Features for Building Powerful Containerized Microservices on AWS - AWS Online Tech Talks (20)

Introducing Service Discovery for Amazon ECS - CON403 - re:Invent 2017
Introducing Service Discovery for Amazon ECS - CON403 - re:Invent 2017Introducing Service Discovery for Amazon ECS - CON403 - re:Invent 2017
Introducing Service Discovery for Amazon ECS - CON403 - re:Invent 2017
 
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
 
Patterns and Considerations in Service Discovery - Con327 - re:Invent 2017
Patterns and Considerations in Service Discovery - Con327 - re:Invent 2017Patterns and Considerations in Service Discovery - Con327 - re:Invent 2017
Patterns and Considerations in Service Discovery - Con327 - re:Invent 2017
 
Patterns and Considerations in Service Discovery - Con327 - re:Invent 2017
Patterns and Considerations in Service Discovery - Con327 - re:Invent 2017Patterns and Considerations in Service Discovery - Con327 - re:Invent 2017
Patterns and Considerations in Service Discovery - Con327 - re:Invent 2017
 
Microservices for Startups
Microservices for StartupsMicroservices for Startups
Microservices for Startups
 
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
 
Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...
Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...
Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...
 
Debug your Container and Serverless Applications with AWS X-Ray in 5 Minutes ...
Debug your Container and Serverless Applications with AWS X-Ray in 5 Minutes ...Debug your Container and Serverless Applications with AWS X-Ray in 5 Minutes ...
Debug your Container and Serverless Applications with AWS X-Ray in 5 Minutes ...
 
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
 
[NEW LAUNCH!] How to Architect for Multi-Region Redundancy Using Anycast IPs ...
[NEW LAUNCH!] How to Architect for Multi-Region Redundancy Using Anycast IPs ...[NEW LAUNCH!] How to Architect for Multi-Region Redundancy Using Anycast IPs ...
[NEW LAUNCH!] How to Architect for Multi-Region Redundancy Using Anycast IPs ...
 
Building API Driven Microservices
Building API Driven MicroservicesBuilding API Driven Microservices
Building API Driven Microservices
 
Leadership Session: Using DevOps, Microservices, and Serverless to Accelerate...
Leadership Session: Using DevOps, Microservices, and Serverless to Accelerate...Leadership Session: Using DevOps, Microservices, and Serverless to Accelerate...
Leadership Session: Using DevOps, Microservices, and Serverless to Accelerate...
 
[REPEAT 1] Elastic Load Balancing: Deep Dive and Best Practices (NET404-R1) -...
[REPEAT 1] Elastic Load Balancing: Deep Dive and Best Practices (NET404-R1) -...[REPEAT 1] Elastic Load Balancing: Deep Dive and Best Practices (NET404-R1) -...
[REPEAT 1] Elastic Load Balancing: Deep Dive and Best Practices (NET404-R1) -...
 
Serverless Architectural Patterns and Best Practices
Serverless Architectural Patterns and Best PracticesServerless Architectural Patterns and Best Practices
Serverless Architectural Patterns and Best Practices
 
Migration Planning with AWS Application Discovery Service - ENT308 - Chicago ...
Migration Planning with AWS Application Discovery Service - ENT308 - Chicago ...Migration Planning with AWS Application Discovery Service - ENT308 - Chicago ...
Migration Planning with AWS Application Discovery Service - ENT308 - Chicago ...
 
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
 
Serverless best practices plus design principles 20m version
Serverless   best practices plus design principles 20m versionServerless   best practices plus design principles 20m version
Serverless best practices plus design principles 20m version
 
Migrating Single-Tenant Applications to Multi-Tenant SaaS (ARC326-R1) - AWS r...
Migrating Single-Tenant Applications to Multi-Tenant SaaS (ARC326-R1) - AWS r...Migrating Single-Tenant Applications to Multi-Tenant SaaS (ARC326-R1) - AWS r...
Migrating Single-Tenant Applications to Multi-Tenant SaaS (ARC326-R1) - AWS r...
 
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 - 유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 -  유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 -  유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 - 유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 Keynote
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

New Features for Building Powerful Containerized Microservices on AWS - AWS Online Tech Talks

  • 1. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Nathan Peck April 23, 2018 Introducing ECS Service Discovery Communication service for building containerized microservices on AWS
  • 2. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Application communication is evolving Functional calls Find endpoints, then connect Across the room Dynamic name, number, and location Across cities / continents 1:1 Known endpoints, APIs
  • 3. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Developers need to connect microservices Build apps invoking other services by name Ensure that service name resolves to correct IP/port DEV OPS
  • 4. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What is Service Discovery? “Where is Service X?” Friendly name -> IP + port E.g., app: {10.0.4.5:8080, 10.0.4.6:8080 }
  • 5. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Why is it non trivial? Dynamic by design: Number of containers & instances Auto assigned IP addresses & ports Placement, scheduling, scaling Deployments and upgrades Health and connectivity
  • 6. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Decision criteria Discovery mechanism How does an application send traffic to a service from the registry? Registration mechanism How is a service added to the registry? Service Registry Where is info about services stored?
  • 7. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Current patterns require install, setup and management Load Balancers Key-value store Service Mesh Service registry
  • 8. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Load Balancers – Server Side Discovery E.g., Load Balancer Benefits Client is simpler Drawbacks Install, manage Availability, capacity More hops Client Server Server Server Request Request LB + Service Registry Register Register
  • 9. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. DNS based – Client Side Discovery E.g., Route 53 Based Benefits Fewer hops Drawbacks Client must be registry aware Client implements discovery logic Client Server Server Server Service Registry Request Register Register Register Query
  • 10. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Requires registrations by agents E.g., Consul, Etcd and Zookeeper Benefits Registrar registers, unregisters and performs health checks Service less complex Drawbacks State may not reflect whether service can handle requests, only active or unavailable Install, configure and manage other component, unless it is a part of infrastructure Server Server Server Service Registry Update Start, stop, health change Registrar/ service manager
  • 11. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Requires registrations by agents E.g., Consul, Etcd and Zookeeper Benefits Registrar registers, unregisters and performs health checks Service less complex Drawbacks State may not reflect whether service can handle requests, only active or unavailable Install, configure and manage other component, unless it is a part of infrastructure Client Server Server Client Key Value Service Registry Registrator Server Client Key Value Key Value Master Key Value Service Registry Key Value Key Value Master Registrator
  • 12. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. This should be easier! Predictable Names for services Auto updated with latest, healthy IP, port Managed: No overhead of installation or monitoring High availability, high scale Extensible: Flexible boundaries for auto discovery
  • 13. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Introducing managed service discovery for ECS You build apps where services are invoked by name & name resolves to IP/port dynamically You turn on service discovery during deployment — service creation DEV OPS
  • 14. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ECS service discovery is powered by Route 53 ECS updates service registry based on naming convention, task registrations, de-registrations and health Route 53 provides Service Registry Route 53ECS
  • 15. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Demo https://servicediscovery.ranman.com/
  • 16. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Enables these use cases 1 Blue green deployments • myapp.staging.local • myapp.prod.local • Private IP • abstract cluster details 2 Internal micro services • web.myapp.local • Expose Private IP 3 External micro services • web.myapp.mycompa ny.com • Expose public IP or ELB EIP • network + container health check
  • 17. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Enables these use cases 4 Across ECS & Kubernetes • Service1.myapp.ecs • Service2.myapp.eks 5 Across ECS & AWS &On-Prem • Service1.myapp.ecs • Service2.myapp.ec2 • Service3.myapp.onprem 6 Expose to service mesh • Service1.myapp.local • Service2.myapp.local
  • 18. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What’s New?
  • 19. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Route 53 provides Service Registry Route 53 provides APIs to create • Namespace • CNAME per service autoname • A records per task IP • SRV records per task IP + portService CNAME: A / SRV record Namespac e
  • 20. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ECS schedules & places service endpoints ECS Scheduler updates on: • Service scaling • Task registrations • Task de-registrations • Task health • Scheduling / Placement changes • ECS instance changes ECS maintains latest state of the dynamic environment in Service Registry Cluster: myapp app IP web IP app IP web IP AZ 1 AZ 2
  • 21. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ECS updates service endpoints in Route 53 Cluster: myapp AZ 1 AZ 2 app 10.0.6.5:8080 web 10.0.8.6:8080 app 10.0.4.5:8080 web 10.0.3.6:8080 Namespace: myapp.local Service web.myapp.local CNAME 10.0.4.5:8080 10.0.3.6:8080 Service app.myapp.local CNAME 10.0.6.5:8080 10.0.8.6:8080
  • 22. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Services connect to latest endpoints via DNS Service web.myapp.local CNAME 10.0.4.5:8080 10.0.3.6:8080 app > dig web.myapp.local > 10.0.4.5:8080 > app web web Cluster: myapp DNS Server: AZ 1 AZ 2
  • 23. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Benefits of this approach Cluster: myapp AZ 1 AZ 2 Service Namespace Managed • Setup once, use forever Highly available • Same availability and scalability as Route 53 Extensible • Public APIs that can be used across AWS • Works across clusters, accounts, AZs • Works across AWS services
  • 24. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Route 53 Auto Naming
  • 25. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What is Route 53 Auto Naming? API that powers ECS Service Discovery Service name registration and management tool DNS-based service discovery mechanism
  • 26. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Introducing new abstractions Namespace Service Service Instance Instance 172.10.0.1 frontend ServiceNamespace test.internal
  • 27. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Namespace Logical group of services Private or public visibility Service-linked hosted zone in Amazon Route 53 Service staging.internal frontend Namespace backend
  • 28. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Namespace Namespace management APIs: createPublicDnsNamespace createPrivateDnsNamespace deleteNamespace listNamespaces getNamespace Service staging.internal frontend Namespace backend
  • 29. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Service ECS: application component run on one or many tasks Auto Naming: service naming and health checking template staging.internal frontend Name = frontend Record type = A TTL = 60 sec Check health = Yes HC type = path-based HC path = /ping Service Namespace
  • 30. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Service staging.internal frontend Name = frontend Record type = A TTL = 60 sec Check health = Yes HC type = path-based HC path = /ping Service Namespace Service management APIs: createService deleteService updateService listServices getService
  • 31. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Service Instance Represents an actual endpoint Addressable by ip or ip:port staging.internal frontend Service Instance 172.10.0.3 Namespace Instance 172.10.0.1 Instance 172.10.0.2 Name = frontend Record type = A TTL = 60 sec Check health = Yes HC type = path-based HC path = /ping
  • 32. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Service Instance staging.internal frontend Service Instance 172.10.0.3 Namespace Instance 172.10.0.1 Instance 172.10.0.2 Name = frontend Record type = A TTL = 60 sec Check health = Yes HC type = path-based HC path = /ping Service Instance management APIs: registerInstance deregisterInstance listInstances getInstance getInstanceHealthStatus
  • 33. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Route 53 Auto Naming Route 53 Route 53 Health Check EndpointECS Route 53 Auto Naming Route 53 Route 53 Health Check EndpointECS loop createPrivateDNSNamespace operationID createService(DNS,HealthCheck) store DNS and health check temaplate service details loop loop [MultipleInstance Registration] registerInstance(service,IP) add operationto batch operationID create healthcheck HealthCheckID Create DNS records [Health Checking] create healthstatus [Auto Naming Batch Processing] Route 53 Auto Naming Workflow
  • 34. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Discovery over DNS * If health-checking is enabled for the corresponding Route 53 Auto Naming Service Auto Naming uses Route 53 Multivalue Answer Routing Each DNS query returns up to 8 healthy* endpoints Client-side load balancing
  • 35. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Route 53 Auto Naming benefits Managed API designed for micro-service architectures Regional control plane for better availability Discovery via Route 53 DNS with 100% availability SLA
  • 36. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Under the Hood
  • 37. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ECS Cluster VPC Services can discover other services using DNS Service Green -> Service Blue (option 1) • Green does a DNS query • Query hits internal vpc DNS server • Green get a list of IP / IP+Port • Green communicates with that IP/ IP + Port (option 2) • Green calls Service endpoint via an API • Gets list of all IP/ IP+port for a service Private DNS: blue.colors.local: green.colors.local: ECS Control Plane Cluster: Colors Service: Blue Task Defn: Blue # of tasks: 3 Service: Green Task Defn: Green # of tasks: 1 Namespace: colors.local Service Blue Service Green Hosted Zone: colors.local Route 53 Control Plane Service Scheduler Docker ECS Agent Task Green Container Docker ECS Agent Task Blue Container Task Blue Container AZ 1 AZ 2 Docker ECS Agent Task Blue Container
  • 38. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ECS Cluster VPC Services can discover other services using DNS Private DNS: blue.colors.local: IP1, IP2, IP4 green.colors.local: IP3 Cluster: Colors Service: Blue Task Defn: Blue # of tasks: 3 Service: Green Task Defn: Green # of tasks: 1 Namespace: colors.local Service Blue Service Green Hosted Zone: colors.local Route 53 Control Plane IP 3 Docker ECS Agent Task Green Container Docker ECS Agent Task Blue Container IP 1 Task Blue Container IP 2 AZ 1 AZ 2 Docker ECS Agent Task Blue Container IP 4 ECS Control Plane Service Scheduler Route 53 Internal 1. Distribute ECS Task endpoints to DNS servers ECS -> Route 53 1. Register it with R53 Service ECS Internal 1. Start Task 2. Get Task ENI (awsvpc mode) ECS -> Route 53 1. Create Namespace (one per cluster) 2. Create R53 Service (one per ECS Service)
  • 39. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ECS Cluster VPC Services can discover other services using DNS ECS –> R53 ongoing 1. Register/ DeregisterTasks into Route 53 Service based on task state and health 2. UpdatesTasks in Route 53 Service on cluster auto scaling or service scaling Route 53 Ongoing 1. For Service query, return IP/Port 2. ForTask HealthCheck details, update DNS servers 3. For ECSTask state changes, update DNS servers Private DNS: blue.colors.local: IP1,IP2,IP5,IP4 green.colors.local: IP3 Cluster: Colors Service: Blue Task Defn: Blue # of tasks: 4 Service: Green Task Defn: Green # of tasks: 1 Namespace: colors.local Service Blue Service Green Hosted Zone: colors.local Route 53 Control Plane IP 3 Docker ECS Agent Task Green Container Docker ECS Agent Task Blue Container IP 1 Task Blue Container IP 2 AZ 1 AZ 2 Docker ECS Agent Task Blue Container IP 5 Task Blue Container IP 4 ECS Control Plane Service Scheduler
  • 40. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ECS Cluster VPC Services can discover other services using DNS Service Green -> Service Blue (option 1) • Green does a DNS query • Query hits internal vpc DNS server • Green get a list of IP / IP+Port • Green communicates with that IP/ IP + Port (option 2) • Green calls Service endpoint via an API • Gets list of all IP/ IP+port for a service Private DNS: blue.colors.local: IP1,IP2,IP5,IP4 green.colors.local: IP 3 Cluster: Colors Service: Blue Task Defn: Blue # of tasks: 4 Service: Green Task Defn: Green # of tasks: 1 Namespace: colors.local Service Blue Service Green Hosted Zone: colors.local Route 53 Control Plane IP 3 Docker ECS Agent Task Green Container Docker ECS Agent Task Blue Container IP 1 Task Blue Container IP 2 AZ 1 AZ 2 Docker ECS Agent Task Blue Container IP 5 Task Blue Container IP 4 Health Check ECS Control Plane Service Scheduler
  • 41. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Requirements & Limits • Tasks must use “awsvpc” network mode • Must specify container health check endpoint for essential containers in task • Console workflow assumes 1:1:1 mapping between vpc:cluster:app • Dependent on Route 53 propagation delay for registering new IPs (scaling) or stopping traffic to unhealthy tasks • Client side logic needed for query, resolution and retries, 8 DNS records fetched in each query • Private VPC: container health check only, no way to add on network health
  • 42. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How do I use it? • Native integration with Amazon ECS Works with Fargate and EC2 launch types • Also available for Kubernetes! https://github.com/kubernetes-incubator/external-dns • Available in all AWS regions where Amazon ECS and Route 53 Auto Naming are available https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services
  • 43. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Thank You! peckn@amazon.com nathankpeck nathanpeck Learn more at https://aws.amazon.com/ecs/resources