devops e a nova cultura - tdc florianopolis 2015

47
Christophe Marchal | Software Architect DevOps e a nova Cultura

Upload: christophe-marchal

Post on 30-Jul-2015

166 views

Category:

Technology


0 download

TRANSCRIPT

Christophe Marchal | Software Architect

DevOps e a nova Cultura

www.ilegra.com

What DevOps is not

❏ Process

❏ Methodology

❏ Set of Practices

❏ Set of Tools

❏ Certification

❏ Team / Role / Department

❏ SaaS

❏ Framework

What DevOps is

❏ A journey to a desirable state

❏ A way of thinking

❏ A continuous transformation process

❏ The result of experiences

❏ A movement ...

Start up example

Let’s deploy!

Start up example

Open a ticket

Start up example

Start of the success

Application grow

Let’s deploy!

Application grow

Too unstable!

Start some XP Practices

Only commit in trunk

Use of SCM toolContinuous Integration

➔ unit tests #compilation➔ integration tests #runtime➔ acceptance tests #runtime

Continuous Integration

CompilationUnit Tests

Deploy em Staging

Integration Tests

Automatic AcceptanceTests

UserAcceptanceTests

Quality Improvement

Team and Application keep growing

❏ Time spent merging

❏ Time spent compiling

❏ Time spent testing

❏ Time to put a feature in production

❏ Application Response time

❏ Hardware consumption

Isolation via Modularization

Move dependency from Compilation

to Runtime

New Deploy

Service

Service

Application grow

I cannot deploy separately!

This is safe! Only 1 line of code changed

Service Service

Service Service

Service dependencies

Service

ServiceService

Service

Service

SOA

SOA

Service Service

Contract

Service

➔ Dependency only depends on service contract➔ Service contract has versions➔ No branch

Service

ContractContract

Service

Contract

Contract

➔ unit tests #compilation➔ contract tests #compilation➔ integration tests #runtime➔ acceptance tests #runtime➔ performance tests #runtime

Update one service

I only deploy 1 service

This is safe! Only 1 line of code changed

ServiceContract

Conway’s Law

“Organizations which design systems … are constrained to produce designs which are

copies of this communication

structures of these organizations”Melvin Conway, 1968

Organize teams around services

User

User

User

BA

BA

BA

Every team working as a Lean Startup

Number of tickets

Need to automatize

➔ unit tests #compilation➔ contract tests #compilation➔ integration tests #runtime➔ acceptance tests #runtime➔ performance tests #runtime➔ deploy automation tests #infra

Infrastructure as a code

Continuous Deployment

➔ Availability

➔ Rollback

➔ Data synchronization

➔ Scalability

➔ Cost/Benefit

Continuous Delivery

CompilationUnit Tests

Deploy Staging

Integration Tests

Automatic AcceptanceTests

UserAcceptanceTests

Stress Test

Deploy Production

Monitor Everything

Feature Toggle

Isolation Build once, Deploy everywhere

Configuration Management

REST Service

Key Value databaseFilesystemEnvironment Variable

Green / Blue Deployment

Canary Deploy

Deploy the same way everywhere

Virtualization

Provisioning

Operation System

Virtual box images

Local Machine

Operational System

Operational System Application

Application

Operational System

Application

Still not there

Production Local Machine

Still not there

Kernel Linux

Docker Repository

Scripting

Many, many, many servers

➔ job scheduling

➔ bind containers to physical servers

New Operational System

Failure Everywhere

Test in Production

Christophe Marchal | Software Architect

Thanks for your Attention