23
wercker Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker

Building and Deploying Applications in a Cloud Native World

Embed Size (px)

Citation preview

wercker

Building and DeployingApplications in a Cloud

Native WorldToon VerbeekProduct Manager

Wercker

RELEASE

INFRA

APP

BUILD/DEPLOY

2000 2010 2016

Weekly Daily Hourly

Single server VM’S Containers

FTP DevOps ?

Simple deployment model. FTP code to single server.

PHSingle app Multi Tiered Microservices

2xDBAPPAPPAPP

AB

C

Developer Abstractions

wercker

RELEASE

INFRA

APP

BUILD/DEPLOY

2000 2010 2016

Weekly Daily Hourly

Single server VM’S Containers

FTP DevOps ?

Simple deployment model. FTP code to single server.

PHSingle app Multi Tiered Microservices

2xDBAPPAPPAPP

AB

C

Daily releases at an increased scale resulting in multiple applications and databases on multiple virtual machines.

Developer Abstractions

wercker

RELEASE

INFRA

APP

BUILD/DEPLOY

2000 2010 2016

Weekly Daily Hourly

Single server VM’S Containers

FTP DevOps ?

Hourly releases, with applications being broken apart in smaller responsibilities (microservices), are running on a large number of servers in thousands of containers.

Simple deployment model. FTP code to single server.

Daily releases at an increased scale resulting in multiple applications and databases on multiple virtual machines.

PHSingle app Multi Tiered Microservices

2xDBAPPAPPAPP

AB

C

Developer Abstractions

wercker

All businesses are software businesses

Product velocity Opportunity cost

wercker

Business agility Competitive advantage

Value of Developer Productivity

All businesses are software businesses

Product velocity Opportunity cost

wercker

Business agility Competitive advantage

Value of Developer Productivity

All businesses are software businesses

Product velocity Opportunity cost

wercker

Business agility Competitive advantage

Value of Developer Productivity

All businesses are software businesses

Product velocity Opportunity cost

wercker

Business agility Competitive advantage

Value of Developer Productivity

Complexity

Speed

The need for speed vs increased complexity

SURVIVAL

WTF isCloudNative?

Highly distributed systems

Elastic infrastructure

Self-healing and Clustered apps

Containers as unit of work

Microservices as topology

Schedulers

wercker

Containers,microservices,schedulers?

wercker

Containers,microservices,schedulers?

wercker

Containers,microservices,schedulers?

wercker

CLOUD NATIVE

So you want to go Cloud Native?

wercker

How to build and deploy containers

How we’ve done things

AMI

wercker

The naive implementation

wercker

Why naive?We’re in flux. We’re in need of best practices and new tools.

Dockerfiles

1 container to rule them all

Build != Runtime containers

Fat containers

Tag your images

wercker

wercker

What to do?Builds & Deploys are insufficient.

Break things apart and split up complexity.

wercker

Stop using DockerfilesBuilding and releasing containers programmatically

1. You should create your containers programatically

2. You should be able to create as many pipelines as you want

3. Pipelines should be chainable

4. Pipelines should be able to build on each others artefacts

5. Pipelines should be able to run in parallel (fan in/ fan out)

6. Pipelines should be version controlled

7. Pipelines should be able to work cross-application

wercker

ConclusionKey requirements for application delivery in Cloud Native world

CLOUD NATIVE

Demo!

wercker

CLOUD NATIVE

blog.wercker.com

wercker

wercker

We’re hiring! wercker.com/careers/