+ All Categories
Home > Technology > 20151120 d day marseille docker rex

20151120 d day marseille docker rex

Date post: 16-Apr-2017
Category:
Upload: renaud-deconde
View: 436 times
Download: 0 times
Share this document with a friend
37
1 Orange Restricted “DEVOPS-DDAY” Docker@DFY : REX Marseille, November 20, 2015
Transcript
Page 1: 20151120 d day marseille docker rex

1 Orange Restricted

“DEVOPS-DDAY”

Docker@DFY : REX

Marseille, November 20, 2015

Page 2: 20151120 d day marseille docker rex

2 Orange Restricted

DISCLAIMER

If you want to learn Docker or important information about it

If you want to watch sexy girls/boys

If you expect a technology scoop

If you think you’ll learn magical recipes to do whatever you wish

Page 3: 20151120 d day marseille docker rex

3 Orange Restricted

Docker@DFY : Synopsis Who (and where) are we ?

– just a bunch of IT guys

Why Docker ?– context– reasonable choice ?

The bet we took : we need a significant project to go to production – our production – what’s at stake– challenge accepted !

Implementation choices : get closer of standards we’re aiming to reach– principles– advantages to be carefully conserved – examples

What we’ve learned– a lot of work– ROI is here as long as you dedicated means to reach it

What’s next : bets we’re taking– Docker cluster– Mesos cluster

Page 4: 20151120 d day marseille docker rex

4 Orange Restricted

Who are we Orange/OF/DTSI/DSI/DFY/HBX/GOT/NOH

– Not long ago in a galaxy far, far away …

4 guys, geeks and unconventional– Including the manager– Technologies are tools we love to use !

Motivated– Strong opinions, beliefs, maybe faith …

Thinking IT is more than machines and software– Humans ?

Page 5: 20151120 d day marseille docker rex

5 Orange Restricted

Docker@DFY : Why Docker Old school Technology mastery

– Permanent craftmanship– Losing value : bad TTM, expensive maintenance– Pet vs Cattle : very poor efficiency of our hardware capex

Exceptional geographic and organizational position– We have think/build AND run under the same hierarchical roof– Why don’t we rethink the way we address our hosting services

So why don’t we think about fancies technologies : [I|P]aaS– Still a cloudware in the house : changing from Cloudstack to Openstack …– We’re the production ! Difficult to push to PaaS without a global commitment– And Ubuntu LTS 2014 has been released … With Docker in it !

Docker was obviously (already) offering new values– A good complement with our virtual and bare metal offers– Easy to set up, learn and use – Fancy technology : good argument for geeks

Easy marketing : a lot of buzzwords to sell to our teams (and management)– Same components from dev to prod– Scalability, elasticity … Cloud ?– 12 factors app, infra as a code … microservices – Agile, Devops– Hardware Capex efficiency improvements, separation of concerns …– And so on …

Page 6: 20151120 d day marseille docker rex

6 Orange Restricted

We manage We operate We garantee QoS

We are here to make technology operable

Not (only) to play with it

But we’re the production team !

So …

Page 7: 20151120 d day marseille docker rex

7 Orange Restrictedinterne Orange7

OBJECTIVES PRODUCTION

1. Find a partner • A development team crazy

enough• And a significant project to

to production with it2. Convince (real) OPS

• To accept this challenge (and risks)

3. Convince management we’ll do the job …

To do list

Page 8: 20151120 d day marseille docker rex

8 Orange Restricted

What’s at stake ? Project : Advise as a service

– A breakthrough (for us)– High visibility : just what we needeed

Delay : 4 month– So what ?

Code refactoring : make it fit into containers Collect “OPS” constraints

– And make them as light as possible– Still give them confidence …

Hosting and system operations : what has to be done (@minimum)– On what infra ?– Logs– Monitoring and supervision : Inside and outside containers– Deployment, orchestration … of containers and software pieces in it– Build chain ?

What’s technically at stake ?

Page 9: 20151120 d day marseille docker rex

9 Orange Restricted

The contract

Alerting in legacy supervision system Reuse what already exists

– When possible …– If it respects the technology philosophy

Operating components:– logs management– Monitoring– Supervision– minimal orchestration

4 MONTHS …

Page 10: 20151120 d day marseille docker rex

10 Orange Restricted

Lightweight container

Containers Life cycle

Automating Docker image build

Security

Application configuration

Easy deployment

Metrics

Alerting in legacy supervision system (yes it’s important)

Reuse what exists

Logs: only files

Containerize everything !

Implementation choices

Page 11: 20151120 d day marseille docker rex

11 Orange Restrictedinterne Orange11

Reminder : Basic Docker Vocabulary

Dockerfile: text file, composed of various commands (instructions) to build an image

Image: an image, is a set of layers as described in a Dockerfile

Container: an instance of an image is called container

Registry: server that stores and lets you distribute Docker images

Page 12: 20151120 d day marseille docker rex

12 Orange Restricted

Ligthweight container

1 container 1 service

Easy to scale (up and down)

Only scale what needs to be scale

Only build / rebuild what is needed

Fast and safe deployment

Buzz word: Micro services

Page 13: 20151120 d day marseille docker rex

13 Orange Restricted

Life cycle

Page 14: 20151120 d day marseille docker rex

14 Orange Restricted

Automating Docker image build

Build docker image from Dockerfile

Extract the list of installed packages

Verify installed packages

Checkpoint for images before being pushed in registries

Use Jenkins

Page 15: 20151120 d day marseille docker rex

15 Orange Restrictedinterne Orange15

Automating Docker image build / SecuritySCM

(Gforge, Orange Forge, Gitorious,

etc)

Security Preriquisitesatisfied

1931 - 2015

Files to build(Dockerfile &

co)

Image

Build

Data

Extractions

Security

Check

If security preriquisiteAre not satisfied…

Repository

Page 16: 20151120 d day marseille docker rex

16 Orange Restricted

Configuration

Staging configuration:– outside the container– or use environment variables

With configuration outside the container

– you deploy the same container– in different environments

You can generate / deploy configuration with chef, ansible, puppet .. whatever

Page 17: 20151120 d day marseille docker rex

17 Orange Restrictedinterne Orange17

Deployment Maestro-ng

– immediate availability – effectiveness – simplicity of implementation– manual launch

Description of deployment in a yaml file: – ships : target machines – registries : registries used to retrieve images – services: services to deploy ( set of instances )– …

Healthcheck

Deployment order : dependencies managed

Deploy all your containers in an command line(in a static way)

Page 18: 20151120 d day marseille docker rex

18 Orange Restrictedinterne Orange18

Application metrics

Fluentd:– data collector written in Ruby, easy to patch

Heka:– high performance data gathering, analysis, and routing, with a lua sandbox, written in Go

InfluxDB– time series and metrics database, written in Go

Riemann:– streams events processor, written in … Clojure

Grafana– Gorgeous metric viz, and dashboards

Metrics collected with Fluentd sent to Heka and processed by Riemann, stored in InfluxDB and displayed in Grafana

Page 19: 20151120 d day marseille docker rex

19 Orange Restricted

Application metrics

Page 20: 20151120 d day marseille docker rex

20 Orange Restricted

Docker metrics – same player shoots again

Read docker metrics on disk (file) :– Cpu– Ram– I/O …

Metrics collected with Fluentd sent to Heka, processed by Riemann and stored in InfluxDB …

Page 21: 20151120 d day marseille docker rex

21 Orange Restricted

Docker metrics

Page 22: 20151120 d day marseille docker rex

22 Orange Restricted

Metrics

Page 23: 20151120 d day marseille docker rex

23 Orange Restrictedinterne Orange23

Containerize EVERYTHING

For 1 application in a container, you have:

– 1 docker to collect Docker metrics

– 1 docker to collect Application logs

– 1 docker Heka to route logs/events

– 1 docker Riemann to process events

– 1 docker Riemann dash for infra alerting

– 1 docker influxdb to store metrics

– 1 docker grafana to display metrics

Page 24: 20151120 d day marseille docker rex

24 Orange Restricted

Tools … again … we need tools … and we don’t have them all

Inventory tools :– Where are my containers (discovey)– On what machine (at what time)– How many (and what kind of) containers by host– What kind of containers

Inspection tools :– What network interface attached to which

container Graphical tools

– Registry– Provisionning …

Reporting, dashboarding, convincing, fu…ng … tools

Page 25: 20151120 d day marseille docker rex

25 Orange Restrictedinterne Orange25

We started from nothing– We wanted to !

We do pets not cattle– Our production system

granularity : the machineAnd clearly organization is not helping us out In 4 month all has been rebuilt :– Logs : collection and routing,

graphing– Monitoring and supervision

(threshold)– Orchestration

what we’re doing has Because

Page 26: 20151120 d day marseille docker rex

26 Orange Restrictedinterne Orange26

Technology break … or breakthrough ?

Finally… we didn’t go to production in 4 month– It wasn’t that easy for both IT guys (all of them not just us) and developpers– We were ready though … but other problems prevented development team to deliver– We’re close now from production : but final tests are not a piece of cake !

But we did it in 4 month– Cleary still wet (and not drying)– Still changing (a lot) and already too old– But it works

We proved Docker can let us go far, very far– Lego building blocks– Pop infrastructure as a code– CI to CD’s

Revolution is on his way* … at least it begins to move a bit at Orange*But it’s slow and it takes time

Page 27: 20151120 d day marseille docker rex

27 Orange Restrictedinterne Orange27

The famous …. REX

Page 28: 20151120 d day marseille docker rex

28 Orange Restrictedinterne Orange28

Lessons learned … if any What is important

Techno is a mean not an end

it ain’t over till it’s over :

Using well buzzwords I don’t appreciate so much

1. The team : all is about giving sense2. The team : all is about pride

3. The team : all is about fun and interest

– a game you play … to win … money or time (which is the same)– techno goes fast … don’t try to go as fast (linearly) … take steps (and

breathe slowly)

– never stop communicate … get your chakras opened always

– be agile and devops … mouarf– it could be a long story …

– all has to be integrated : loose coupling is a dream not easy to catch

– and discussions never stop …

Page 29: 20151120 d day marseille docker rex

29 Orange Restricted

DEVOPS – BUILD & RUN – DESIGN & PRODUCTION– isn’t it only building walls ??? underlining this bloody dichotomy we want to avoid

DEVOPS : what [I|we] learned – are small pizza teams product and value oriented : best definition of devops ever : when developers got the pager in

their pocket– run what you build : be responsible, be aware of others constraints, be empathic !– none is trained to be a devops tech … you become one … it’s a mindset before competencies– still you need skill … a lot of skill : especially with cloud and disruptive technologies : multidisciplinary– I’m bored of hearing devops … so bored … like agile or cloud … I love precise words describing clear concepts …

Doing Devops … is nearly completely impossible (at least for the moment)– Silos ? You know silos ? Organization too ?– And management ? I’m sure you do know management ! And have an idea about it …

Same for ‘Agile’– We did what we did with officially no machines– Three different projects to (not) achieve it (yet)

Devops Dday … DEVOPS ! DEVOPS ? DEVOPS …what about that, Rex

Page 30: 20151120 d day marseille docker rex

30 Orange Restrictedinterne Orange30

AGILE

SHA

RIN

G

My two cents vision about it

1AGILE / LEAN

2DEVOPS

3CLOUD

1CULTURE

2ORGA

3AUTOMATION

4MEASURES

Page 31: 20151120 d day marseille docker rex

31 Orange Restricted

We’re not thereTrust and confidence are lackingBut we’ve got all to achieve it …And I believe … (For sure I can’t fly …)

Once upon a time in a far far away …

Page 32: 20151120 d day marseille docker rex

32 Orange Restrictedinterne Orange32

Page 33: 20151120 d day marseille docker rex

33 Orange Restrictedinterne Orange33

Keep cool buddy

We need it a lot– Pressure on TTM,– Budgets …– with reliability …

We’re still looking for have chosen solutions

– CloudFoundry and Mesos – With what organization and

governance ? Docker seems to be « central »

– Automated, orchestrated– A nice build chain– With a managed configuration

And good urbanised repositories– Release management is a key

feature

Page 34: 20151120 d day marseille docker rex

34 Orange Restrictedinterne Orange34

We need a « tour de PaaS PaaS »

IaaS

PaaS

CaaS

CFY

Cloudstack

Not c

ompu

lsory

SwarmCompose

Mesos DUCP

Bare Metal aaS

Page 35: 20151120 d day marseille docker rex

35 Orange Restrictedinterne Orange35

Quiete a lot of work to do

• MVP approach• Nothing like a full automated PaaS as CFY• Still a lot of difficulties

• Technical … Network … multi tenant … security …• Most important : every one has to be transformed … at once …

• Does not seem right to me

• But, still alive and kicking : having faith and hope (a lot will be needed)

Page 36: 20151120 d day marseille docker rex

36 Orange Restrictedinterne Orange36

Page 37: 20151120 d day marseille docker rex

37 Orange Restricted

Thank you


Recommended