Deploying Docker Datacenter on AWS

Deploying Docker
Datacenter on AWS
© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved
Brandon
Chavis
Solutions Architect, AWS
© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved
Focus on differentiating your company
Innovate at start-up like speed
Reduce risk
© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved
TECHNICAL &
BUSINESS
SUPPORT
Support
HYBRID
ARCHITECTURE
Integrated
Networking
MARKETPLACE
Business
Apps
Business
Intelligence
ANALYTICS
APP SERVICES
Data
Warehousing
Professional
Services
Direct
Connect
Business
Intelligence
DevOps
Tools
Security
MOBILE SERVICES
Queuing &
Notifications
Networking
DEVELOPMENT & OPERATIONS
API
Gateway
One-click App
Deployment
Identity
DevOps Resource
Management
Workflow
Hadoop/
Spark
Streaming Data
Analysis
Partner
Ecosystem
Identity
Federation
Streaming Data
Collection
Elastic
Search
Sync
Application Lifecycle
Management
Mobile
Analytics
Containers
Search
IoT
Storage
ENTERPRISE
APPS
Rules
Engine
Virtual
Desktops
Device
Shadows
Sharing &
Collaboration
Device SDKs
Email
Machine
Learning
Training &
Certification
Databases
Transcoding
Single Integrated
Console
Triggers
Push
Notifications
Resource
Templates
Device
Gateway
Registry
Corporate
Email
Backup
Integrated App
Deployments
SECURITY & COMPLIANCE
Solutions
Architects
Identity
Management
Account
Management
Security &
Pricing
Reports
Access
Control
Key
Management &
Storage
Data Backups
Monitoring
& Logs
Configuration
Compliance
Web application
firewall
Assessment
and reporting
Resource &
Usage Auditing
CORE SERVICES
Compute
Storage
VMs, Auto-scaling, &
Load Balancing
Object, Blocks, Archival,
Import/Export
Databases
CDN
Relational, NoSQL,
Caching, Migration
Networking
VPC, DX, DNS
INFRASTRUCTURE
Integrated
Resource
Management
Regions
© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved
Availability
Zones
Points of
Presence
AWS Pace of Innovation
722
280
82
48
2009
2011
* As of June 1st, We have released 368 new features and services in 2016.
© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved
2013
2015
AWS Quick Starts- Docker Data Center
Go launch it!
https://aws.amazon.com/quickstart/
© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved
AWS Quick Starts- Docker Data Center
DDC Components:
• Universal Control Plane
• UCP Swarm Nodes
• Docker Trusted Registry
© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved
AWS Architecture Overview
Elastic Load
Balancer
Internet
gateway
Elastic Load
Balancer
VPC NAT
Public subnet gateway
EC2 instances
Private subnet
Availability Zone
© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved
EC2 instances
VPC NAT
gateway
Private subnet
Availability Zone
Public subnet
Internet
gateway
Zoom...Enhance
DTR Controller
DTR Controller
UCP Controller
UCP Controller
DTR Controller
Swarm Nodes
Swarm Nodes
UCP Controller
Private subnet
Private subnet
Availability Zone
Availability Zone
© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved
Amazon VPC
• All Docker infrastructure lives in
private subnets
• Load Balancers and NAT devices in
public subnets
• Use a bastion host + SSH agent in
public subnet for SSH access to
Docker infrastructure
© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved
NAT Gateway
NAT device as a service
•
•
•
•
•
Highly available and redundant
One per Availability Zone
Supports bursts of 10gbps
No maintenance required
Requires an Elastic IP Address
© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved
Elastic Load Balancers
• Distribute requests across UCP/DTR
nodes
• One for UCP, one for DTR, one for
Swarm node
• Terminate TCP at the ELB- passes
headers unmodified to backend
• Use /_ping endpoint for healthcheck
© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved
Amazon Route 53
Highly-Available DNS Service
• Must be pre-configured!
• Use Alias Records for both ELBs
(solves “zone apex” problem)
• Option: Use Private Hosted Zones
© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved
Amazon EC2 Auto-recovery
Recover from underlying host failures
• Useful for UCP and DTR Controllers
• Recovers instance in case of hardware
failure
• Recovered instance maintains identical
attributes to failed instance
• Uses a Amazon CloudWatch Alarm
© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved
Future Improvements
Continued Quick Starts Iteration
• Allow UCP and DTR controllers to Auto
Scale
• Support Seoul and Sao Paolo regions
(NATGW dependency)
• Better Amazon CloudWatch Metrics for
AutoScaling Swarm Cluster
• Your requests!
© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved
Demo Time
~/src/docker/expressApp$ docker build -t chrisdias/expressapp
Sending build context to Docker daemon 72.18mb
Step 0 : FROM node:latest
–––> 8e20baae42c8
Step 1: COPY . /src
–––> 8e20baae42c8
Removing intermediate container afdcd49c779
Step 0 : FROM node:latest
–––> 8e20baae42c8
Step 1: COPY . /src
–––> 8e20baae42c
© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved
Thank you!
© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved