16
Continuous Delivery with Docker Christoph Lukas @cluk33 http://pingworks.de

Continuous Delivery with Docker - Continuous Lifecycle Londoncontinuouslifecycle.london/wp-content/uploads/2017/... · Container single Process Container Process Binaries/ Libraries

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Continuous Deliverywith Docker

Christoph Lukas @cluk33

http://pingworks.de

Containerizing Applications

Hardware

Host OS / Kernel

Hypervisor

virtualHW

GuestOS

Apps

Binaries/Libraries

Virtualization Containerization

Process

Binaries/Libraries

Container

singleProcess

Binaries/Libraries

Container

Process

Binaries/Libraries

Container

singleProcess

Binaries/Libraries

Container

Process

Binaries/Libraries

Container

singleProcess

Binaries/Libraries

Container

Hardware

Host OS / Kernel

virtualHW

GuestOS

Apps

Binaries/Libraries

virtualHW

GuestOS

Apps

Binaries/Libraries

1st

Module 1

Bundler

Commit Stage Acceptancetest Stage

Module 2

Module 3

2nd

Integration

UI

Performance

Each change triggers the pipeline immediately

SCM

1st

Module 1

BundlerModule 2

Module 3

2nd

Integration

UI

Performance

If any part of the pipeline fails stop the line

SCM

1st

Module 1

BundlerModule 2

Module 3

2nd

Integration

UI

Performance

Only build your binaries once

SCM

1st

Module 1

Bundler

Binary-Repo

Module 2

Module 3

2nd

Integration

UI

Performance

Building the application: Virtualization

SCM

1st

Module 1

Bundler

Binary-Repo

Module 2

Module 3Binary Artefact: *.jar, *.deb, *.rpm

Repository: Artifactory, Nexus, ...

Build the application: Containerization

SCM

1st

Module 1

Bundler

Binary-Repo

Module 2

Module 3Binary Artefact: Docker Image

Repository: Private Docker Registry

Deploy the same way to every environment

SCM

1st

Module 1

Bundler

Binary-Repo

Module 2

Module 3

2nd

Integration

UI

Performance

Deploying the application: Virtualization

Deployment:*.jar, *.deb

virtualHW

GuestOS

Apps

Binaries/Libraries

Hypervisor

Hardware

Host OS / Kernel

ProvisioningChef,

Puppet,Ansible

SCMBinary-Repo

Build-Pipeline

SCM

Deploying Applications: Containerization

SCMBinary-Repo

Build-Pipeline

Deployment:Docker Image

Hardware

Host OS / Kernel

Process

Binaries/Libraries

Container

Time for a demo....

Security

+ pingworks/ruby-phonebook:019ab7bab4cc

+ ruby:2.2

+ buildpack-deps:jessie

+ buildpack-deps:jessie-scm

+ buildpack-deps:jessie-curl

+ debian:jessie

+ scratch

Docker builds images by stacking filesystem layers

Example:

Benefits & Tradeoffs

Minimized overhead

Simplified deployment

Simplified setup for developers

New technology

Security?

Workshop@Heise:http://heise.de/-2176380

Trainings:https://pingworks.de/cd

Christoph [email protected]

@cluk33