2. 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
3. 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
4. Focus on delivery
• Promote DevOps practices
• Feature teams engaged on the whole product lifecycle
• Automate infrastructure & application deployments
• Make environments ephemeral and elastic
@AdrienBlind
5. 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)
Capacity (VM, Storage…) IaaS
@AdrienBlind
6. Leveraging on PaaS cloud
App (code) PaaS
• Provide high-level building blocks: DBs, middlewares, etc.
• API-centric too
@AdrienBlind
8. The container paradigm
« Self-sufficient artifact enclosing apps modules and
subsequent system requirements »
Software
factories
Cloud
@AdrienBlind
9. 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
10. Rebuild vs Upgrade
Full stack
Versioning
& idempotency
Patch
vs
immutable
@AdrienBlind
11. • 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
12. 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
13. Continuous Delivery chain
001101010011010
110110101111101
110101111010011
Binary repo.
Environments
CVS+
Soft. factory
Developer
@AdrienBlind
How to handle subsequent infra conf ?
18. 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
19. 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