building and deploying applications in a cloud native world · building and deploying applications...

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

Upload: others

Post on 28-May-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

wercker

Building and DeployingApplications in a Cloud

Native WorldToon VerbeekProduct Manager

Wercker

Page 2: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

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

Page 3: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

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

Page 4: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

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

Page 5: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

All businesses are software businesses

Product velocity Opportunity cost

wercker

Business agility Competitive advantage

Value of Developer Productivity

Page 6: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

All businesses are software businesses

Product velocity Opportunity cost

wercker

Business agility Competitive advantage

Value of Developer Productivity

Page 7: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

All businesses are software businesses

Product velocity Opportunity cost

wercker

Business agility Competitive advantage

Value of Developer Productivity

Page 8: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

All businesses are software businesses

Product velocity Opportunity cost

wercker

Business agility Competitive advantage

Value of Developer Productivity

Page 9: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

Complexity

Speed

The need for speed vs increased complexity

SURVIVAL

Page 10: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

WTF isCloudNative?

Highly distributed systems

Elastic infrastructure

Self-healing and Clustered apps

Containers as unit of work

Microservices as topology

Schedulers

wercker

Page 11: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

Containers,microservices,schedulers?

wercker

Page 12: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

Containers,microservices,schedulers?

wercker

Page 13: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

Containers,microservices,schedulers?

wercker

Page 14: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

CLOUD NATIVE

So you want to go Cloud Native?

wercker

How to build and deploy containers

Page 15: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

How we’ve done things

AMI

wercker

Page 16: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

The naive implementation

wercker

Page 17: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

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

Page 18: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

wercker

What to do?Builds & Deploys are insufficient.

Break things apart and split up complexity.

Page 19: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

wercker

Stop using DockerfilesBuilding and releasing containers programmatically

Page 20: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

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

Page 21: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

CLOUD NATIVE

Demo!

wercker

Page 22: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

CLOUD NATIVE

blog.wercker.com

wercker

Page 23: Building and Deploying Applications in a Cloud Native World · Building and Deploying Applications in a Cloud Native World Toon Verbeek Product Manager Wercker. RELEASE INFRA APP

wercker

We’re hiring! wercker.com/careers/