Dockercon Europe 2014 - Continuous Delivery leveraging on Docker CaaS

Post on 21-Apr-2017

2.549 views 0 download

Transcript of Dockercon Europe 2014 - Continuous Delivery leveraging on Docker CaaS

Continuous Delivery leveragingon Docker CaaS

@AdrienBlind, Société Générale

1 @AdrienBlind

Let’s push some context• Major CIB european bank, and so relying on a dense & complex

IT• Thousands apps & IT people• Dozen of thousands servers• A large technology stack

• IT split in two departments committed on different roles• Siloted build & operation of applications• Deliver infrastructure capabilities

@AdrienBlind

Ambition“Build a simple, agile & efficient IS in a

risk controlled environment”Carlos Goncalves, CIO

• Become a busines partner: generate more business value, adapt to change

• Reduce TTM, strengthen reliability• Introduced agility in our DNA for some years now (40% apps

covered)• Engage on continuous delivery practices from end-to-end:

involve Biz, Craftmanship, DevOps, Architecture for 50% of critical apps• Transform people (coaching, training) & toolset @AdrienBlind

Focus on delivery

• Promote DevOps practices• Feature teams engaged on the whole product

lifecycle• Automate infrastructure & application

deployments• Make environments ephemeral and elastic

@AdrienBlind

Leveraging on private IaaS cloud

• IaaS brings flexibility (on demand, self-service, pay-per-use)

• API centric: plug environment creation in continuous integration

• Post-configure with a conf. mgmt tools (infra as code)

IaaSCapacity (VM, Storage…)

@AdrienBlind

PaaSApp (code)

Leveraging on PaaS cloud

• Provide high-level building blocks: DBs, middlewares, etc.

• API-centric too

@AdrienBlind

IaaSCapacity (VM, Storage…)

PaaSApp (code)

CaaSApp container

Introducing CaaS cloud

@AdrienBlind

The container paradigm

« Self-sufficient artifact enclosing apps modules and subsequent system requirements »

Softwarefactories Cloud> <

@AdrienBlind

DevOps Roles shift

Apps team focuses on container’s content

Don’t care about where the container will run

Knows how to build the container and operate the app

“You build it, you run it!”

CaaS team concerned about external shape

Ignore how images are built

Knows how to operate huge amount of containers

@AdrienBlind

Rebuild vs Upgrade

Full stackVersioning

& idempotency

Patchvs

immutable

@AdrienBlind

• Extract data from the container• Leverage on applicative storage

services• OpenStack Swift, Ceph...• Hadoop, Cassandra, Elastic

Search...• Externalize on system storage

• Data containers• Host mounting points

Data consideration

@AdrienBlind

Architecture consideration• Trends

• Application deploiement frequency • Micro services• Commodity infrastructure

• High availability & scalability more and more embedded in apps. New emerging patterns:

• Stateless, design for failure, loose coupling, zero downtime deployment...

@AdrienBlind

Continuous Delivery chain

001101010011010110110101111101110101111010011

Environments

Binary repo.

CVS+Soft. factory

Developer

@AdrienBlindHow to handle subsequent infra conf ?

Continuous Delivery chain

001101010011010110110101111101110101111010011

Environments

Registry

CVS+Soft. factory

Developer

Ops

@AdrienBlind

Continuous Delivery chain

001101010011010110110101111101110101111010011

Environments

Registry

CVS+Soft. factory

Developer

Ops

@AdrienBlind

Continuous Delivery chain

001101010011010110110101111101110101111010011

Environments

Registry

CVS+Soft. factory

Developer

Ops

@AdrienBlind

Continuous Delivery chain

001101010011010110110101111101110101111010011

Environments

Registry

CVS+Soft. factory

Developer

Ops

@AdrienBlind

The CaaS provider• Internal / External offers consider brokering?• Key services

• Manage underlying IaaS (multihosts, multi-tenancy, system management, SLA...)

• Expose management API for containers and handle orchestration

• Expose transversal services API (load balancers, DNS, service directories)

• But don’t forget to move step by step to make it happen. Remind how virutalization arrived!

@AdrienBlind

Tips & tricks• Think DevOps: don’t forget your Ops • Expect a shift in traditional apps

• Importance of the architecture• Application configuration management

• Move pro-gres-siv-ely: baby steps first• Start at the Dev workstation• Avoid discussing big CaaS cloud,

orchestration, right from the begining@AdrienBlind

Cloud DevOps

Opportunities @AdrienBlind

Take away

Thank You.

21 @AdrienBlind