containers and the evolution of computing

33
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. July 2016 Containers and the Evolution of Computing Paul Maddox, Solution Architect, AWS Phil Dalbeck, Principal Architect, Skyscanner @paulmaddox @w0nderd0g

Upload: amazon-web-services

Post on 17-Jan-2017

930 views

Category:

Technology


0 download

TRANSCRIPT

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

July 2016

Containers and the Evolution of Computing

Paul Maddox, Solution Architect, AWSPhil Dalbeck, Principal Architect, Skyscanner

@paulmaddox @w0nderd0g

Scaling Applications

Order UI User UI Shipping UI

Order Service

User Service

Shipping Service

Data Access

Order UI User UI Shipping UI

Order Service

User Service

Shipping Service

Order UI User UI UI

Order Service Service Shipping

Service

Order UIOrder UI

User UI UIShipping UI

Order ServiceOrder

ServiceService

ServiceService

ServiceUser

Service

Shipping Service

Containers: A natural fit for microservices

Simple to model; any app, in any language

Portable, Fast, Efficient

Built in versioning

Test & deploy same artifact

Stateless servers decrease change risk

FROM java:7

COPY . /usr/src/appWORKDIR /usr/src/appRUN javac Main.java

EXPOSE 80

CMD [ “java”, “Main” ]

Server

Guest OS

Bins/Libs Bins/Libs

App2App1

Managing One Host is Straightforward

Managing a Fleet is Hard

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

AZ 1 AZ 2

AZ 3

What is Amazon ECS?

Amazon EC2 Container Service (Amazon ECS) is a highly scalable, high performance container management service.

You can use Amazon ECS to schedule the placement of containers across your cluster.

Amazon ECS will maintain the state of your cluster, ensuring availability of your containers and tasks .

Container Management at Any Scale

Nothing to run

Manages resources & availability

Control and monitoring

Scale

Nothing to run…

https://convox.comAn open source PaaS built on Amazon ECS.

Build, deploy, and manage applications with ease.

Stop worrying about servers and focus on your code.

CONVOX

h t t p s : / / c o n v o x . c o m

Flexible Container Placement

Long running applications

Batch jobs

Multiple schedulers

CPU

Memory

Ports

Disk space

Disk IOPS

Network bandwidth

Resources

Integration with the AWS Platform

Elastic Load Balancing

Amazon Elastic Block Store

Amazon Virtual Private Cloud

Amazon CloudWatch

AWS Identity and Access Management

AWS CloudTrail

$ docker run -it demo:latest

Containerization & Microservices

Phil DalbeckPrincipal Engineer

Who are Skyscanner?

• 40m app downloads• 50m Unique monthly visitors• Rapidly growing B2B relationships• 800 staff, with 50 nationalities• 10 offices around the globe• Regard ourselves as a Tech company, rather than a Travel company• 50% of our staff are engineers

We aim to be the most trustedand most used online travel brand in the world

A (brief) evolution of computing @ Skyscanner

5000+ Production VM’s2000+ Development

VM’s

A (brief) evolution of computing @ Skyscanner - Part Deux

18 Months~1500 EC2 instances

Critical Production workloads

9 Months Aggressive containerization

using Docker + ECS

Honorable Mention: Lambda

Why do we need containerization?

Rapid growth is one of the nicer problems to have

Why do we need to evolve?

Growth necessitates change

“Ch-ch-ch-ch-chaaaaaanges”

Organizational change

• Adopted a squads/tribes model• Localized ownership of services• “You build it, you run it”• Remove bottlenecks to delivery• Delegation of previously

centralized capabilities

Architectural change

• Adopt Cloud• Monolithic code releases are

too slow• Loosely coupled

microservices• Data driven experiments• Automate all the things

Enabling change in a non-scary way…

Developer Enablement Tribe

• AWS Architectural guidance• Set and enforce best practices• Provide internal training• Create reusable code snippets• Build automation and deployment tooling • Provide template microservices containers• Maintain shared platforms and tooling• Handle shared VPC’s, Direct connects, DNS,

SSL.• Co-ordinate cost management activities• Perform vulnerability auditing and testing • Run demo’s and showcases• “Eat the dogfood”• Etc….

WS

MBA Conan! What is best in life?

“To accelerate your product delivery --

Satisfy your users needs faster and better,

and hear the lamentation of your competitors!“

Accelerating product delivery

3 Years ago? àToday? à

How?• Containerized Microservices• In-house automation tooling • AWS API driven infrastructure

6 to 8 weeks6 to 8 minutes

More pipeline problems than Mario

Hands up if you’re a developer!Does your development/deployment pipeline look a bit like this?

Why Microservices?

Old school release pipeline

Development à Integration à Test à Pre-prod à Production

New release pipeline

Development à Live!

Automation tooling - Slingshot

Gitlab

BuildPacka

ge

Continuous Integration

Continuous Deployment

SWF

“From source to service in zero clicks…”

Your Service

ECS

API

Lambda

Publish Route 53

ELB

Please remember to rate this session under My Agenda on

awssummit.london

@paulmaddox @w0nderd0g

Thank you!