deploying docker datacenter on aws by brandon chavis

17
Brandon Chavis Solutions Architect, AWS © 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved

Upload: docker-inc

Post on 22-Mar-2017

263 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Deploying Docker Datacenter on AWS by Brandon Chavis

Brandon ChavisSolutions Architect, AWS

© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved

Page 2: Deploying Docker Datacenter on AWS by Brandon Chavis

Deploying Docker Datacenter on AWS

© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved

Page 3: Deploying Docker Datacenter on AWS by Brandon Chavis

Focus on differentiating your company

Innovate at start-up like speed

Reduce risk

© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved

Page 4: Deploying Docker Datacenter on AWS by Brandon Chavis

ENTERPRISE APPS

DEVELOPMENT & OPERATIONSMOBILE SERVICESAPP SERVICESANALYTICS

DataWarehousing

Hadoop/Spark

Streaming Data Collection

Machine Learning

Elastic Search

Virtual Desktops

Sharing & Collaboration

Corporate Email

Backup

Queuing & Notifications

Workflow

Search

Email

Transcoding

One-click App Deployment

Identity

Sync

Single Integrated Console

PushNotifications

DevOps Resource Management

Application Lifecycle Management

Containers

Triggers

Resource Templates

TECHNICAL & BUSINESS SUPPORT

Account Management

Support

Professional Services

Training & Certification

Security & Pricing Reports

Partner Ecosystem

Solutions Architects

MARKETPLACE

Business Apps

Business Intelligence DatabasesDevOps

Tools NetworkingSecurity Storage

Regions Availability Zones

Points of Presence

INFRASTRUCTURE

CORE SERVICES

ComputeVMs, Auto-scaling, & Load Balancing

StorageObject, Blocks, Archival, Import/Export

DatabasesRelational, NoSQL, Caching, Migration

NetworkingVPC, DX, DNSCDN

Access Control

Identity Management

Key Management & Storage

Monitoring & Logs

Assessment and reporting

Resource & Usage Auditing

SECURITY & COMPLIANCE

Configuration Compliance

Web application firewall

HYBRID ARCHITECTURE

Data Backups

Integrated App Deployments

DirectConnect

IdentityFederation

IntegratedResource Management

Integrated Networking

API Gateway

IoT

Rules Engine

Device Shadows

Device SDKs

Registry

Device Gateway

Streaming Data Analysis

Business Intelligence

MobileAnalytics

© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved

Page 5: Deploying Docker Datacenter on AWS by Brandon Chavis

* As of June 1st, We have released 368 new features and services in 2016.

2009

48

280

722

82

2011 2013 2015

AWS Pace of Innovation

© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved

Page 6: Deploying Docker Datacenter on AWS by Brandon Chavis

Go launch it!AWS Quick Starts- Docker Data Center

© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved

https://aws.amazon.com/quickstart/

Page 7: Deploying Docker Datacenter on AWS by Brandon Chavis

DDC Components:

• Universal Control Plane• UCP Swarm Nodes• Docker Trusted Registry

AWS Quick Starts- Docker Data Center

© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved

Page 8: Deploying Docker Datacenter on AWS by Brandon Chavis

AWS Architecture Overview

Availability Zone Availability Zone

Private subnet

Public subnet Public subnet

Private subnet

EC2 instancesEC2 instances

Elastic Load Balancer

Elastic Load Balancer

Internet gatewayVPC NAT

gateway

VPC NAT gateway

Internet gateway

© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved

Page 9: Deploying Docker Datacenter on AWS by Brandon Chavis

Zoom...Enhance

Availability Zone Availability Zone

Private subnet Private subnet

Swarm NodesSwarm Nodes

DTR Controller

DTR Controller

DTR Controller

UCP Controller

UCP Controller UCP Controller

© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved

Page 10: Deploying Docker Datacenter on AWS by Brandon Chavis

• 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

Amazon VPC

© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved

Page 11: Deploying Docker Datacenter on AWS by Brandon Chavis

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

NAT Gateway

© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved

Page 12: Deploying Docker Datacenter on AWS by Brandon Chavis

• 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

Elastic Load Balancers

© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved

Page 13: Deploying Docker Datacenter on AWS by Brandon Chavis

Highly-Available DNS Service

• Must be pre-configured!• Use Alias Records for both ELBs

(solves “zone apex” problem)• Option: Use Private Hosted Zones

Amazon Route 53

© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved

Page 14: Deploying Docker Datacenter on AWS by Brandon Chavis

• 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

Amazon EC2 Auto-recoveryRecover from underlying host failures

© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved

Page 15: Deploying Docker Datacenter on AWS by Brandon Chavis

• 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!

Future ImprovementsContinued Quick Starts Iteration

© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved

Page 16: Deploying Docker Datacenter on AWS by Brandon Chavis

Demo Time

~/src/docker/expressApp$ docker build -t chrisdias/expressappSending build context to Docker daemon 72.18mbStep 0 : FROM node:latest–––> 8e20baae42c8Step 1: COPY . /src–––> 8e20baae42c8Removing intermediate container afdcd49c779Step 0 : FROM node:latest–––> 8e20baae42c8Step 1: COPY . /src–––> 8e20baae42c

© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved

Page 17: Deploying Docker Datacenter on AWS by Brandon Chavis

Thank you!

© 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved