21
Continuous Delivery leveraging on Docker CaaS @AdrienBlind, Société Générale 1 @AdrienBlind

Continuous Delivery leveraging on Docker CaaS by Adrien Blind

Embed Size (px)

DESCRIPTION

At Societe Generale GBIS, time to market & quality matters; hence we do love continuous delivery. In this context, we’re considering the Container as a Service pattern: artifacts produced by the continuous integration chain would become self-sufficient “dockerized” application modules, onboarding both code and subsequent system requirements; then, a CaaS cloud would enable to host these containers. In this talk, I’ll present our usecase and current findings, considering both technical & operational aspects. We’ll talk about software factories, immutable IT, registries, containers configuration, API-driven infrastructure, DevOps roles shifts. Finally, we’ll discuss pros/cons of this solution toward regular IaaS and PaaS.

Citation preview

Page 1: Continuous Delivery leveraging on Docker CaaS by Adrien Blind

Continuous Delivery leveragingon Docker CaaS

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

1 @AdrienBlind

Page 2: Continuous Delivery leveraging on Docker CaaS by Adrien Blind

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

Page 3: Continuous Delivery leveraging on Docker CaaS by Adrien Blind

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

Page 4: Continuous Delivery leveraging on Docker CaaS by Adrien Blind

Focus on delivery

• Promote DevOps practices

• Feature teams engaged on the whole product lifecycle

• Automate infrastructure & application deployments

• Make environments ephemeral and elastic

@AdrienBlind

Page 5: Continuous Delivery leveraging on Docker CaaS by Adrien Blind

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

Page 6: Continuous Delivery leveraging on Docker CaaS by Adrien Blind

PaaSApp (code)

Leveraging on PaaS cloud

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

• API-centric too

@AdrienBlind

Page 7: Continuous Delivery leveraging on Docker CaaS by Adrien Blind

IaaSCapacity (VM, Storage…)

PaaSApp (code)

CaaSApp container

Introducing CaaS cloud

@AdrienBlind

Page 8: Continuous Delivery leveraging on Docker CaaS by Adrien Blind

The container paradigm

« Self-sufficient artifact enclosing apps modules and

subsequent system requirements »

Software

factoriesCloud

@AdrienBlind

Page 9: Continuous Delivery leveraging on Docker CaaS by Adrien Blind

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

Page 10: Continuous Delivery leveraging on Docker CaaS by Adrien Blind

Rebuild vs Upgrade

Full stack

Versioning

& idempotency

Patch

vs

immutable

@AdrienBlind

Page 11: Continuous Delivery leveraging on Docker CaaS by Adrien Blind

• 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

Page 12: Continuous Delivery leveraging on Docker CaaS by Adrien Blind

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, zerodowntime deployment...

@AdrienBlind

Page 13: Continuous Delivery leveraging on Docker CaaS by Adrien Blind

Continuous Delivery chain

001101010011010

110110101111101

110101111010011

Environments

Binary repo.

CVS+

Soft. factoryDeveloper

@AdrienBlindHow to handle subsequent infra conf ?

Page 14: Continuous Delivery leveraging on Docker CaaS by Adrien Blind

Continuous Delivery chain

001101010011010

110110101111101

110101111010011

Environments

Registry

CVS+

Soft. factoryDeveloper

Ops

@AdrienBlind

Page 15: Continuous Delivery leveraging on Docker CaaS by Adrien Blind

Continuous Delivery chain

001101010011010

110110101111101

110101111010011

Environments

Registry

CVS+

Soft. factoryDeveloper

Ops

@AdrienBlind

Page 16: Continuous Delivery leveraging on Docker CaaS by Adrien Blind

Continuous Delivery chain

001101010011010

110110101111101

110101111010011

Environments

Registry

CVS+

Soft. factoryDeveloper

Ops

@AdrienBlind

Page 17: Continuous Delivery leveraging on Docker CaaS by Adrien Blind

Continuous Delivery chain

001101010011010

110110101111101

110101111010011

Environments

Registry

CVS+

Soft. factoryDeveloper

Ops

@AdrienBlind

Page 18: Continuous Delivery leveraging on Docker CaaS by Adrien Blind

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 handleorchestration

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

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

@AdrienBlind

Page 19: Continuous Delivery leveraging on Docker CaaS by Adrien Blind

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

Page 20: Continuous Delivery leveraging on Docker CaaS by Adrien Blind

Cloud DevOps

Opportunities @AdrienBlind

Take away

Page 21: Continuous Delivery leveraging on Docker CaaS by Adrien Blind

Thank You.

21 @AdrienBlind