Top Banner
DevOps Toolkit Jonas Rosland Developer Advocate @ EMC {code} @virtualswede
51

2015 03-19-devops-toolkit-varrow-madness

Jul 15, 2015

Download

Technology

Jonas Rosland
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 2015 03-19-devops-toolkit-varrow-madness

DevOps'ToolkitJonas&Rosland

Developer(Advocate(@(EMC({code}

@virtualswede

Page 2: 2015 03-19-devops-toolkit-varrow-madness

emccode.github.io

Page 3: 2015 03-19-devops-toolkit-varrow-madness

What%is%DevOps?

Page 4: 2015 03-19-devops-toolkit-varrow-madness

An#idea#or#collabora-ve#culture/philosophy#between#technical#teams

Page 5: 2015 03-19-devops-toolkit-varrow-madness

Unified'processes'and'tools'for'faster'end1to1end'delivery'of'quality'so6ware

Page 6: 2015 03-19-devops-toolkit-varrow-madness
Page 7: 2015 03-19-devops-toolkit-varrow-madness

NOT!a!job!descrip-on

Page 8: 2015 03-19-devops-toolkit-varrow-madness

So#why#should#you#care?

Page 9: 2015 03-19-devops-toolkit-varrow-madness

You$can't$wait$6$months$for$a$feature$upgrade/bug$fix/etc

Page 10: 2015 03-19-devops-toolkit-varrow-madness

Solve&configura.on&dri1&issues&quickly

Page 11: 2015 03-19-devops-toolkit-varrow-madness

Know%exactly%what's%wrong,%where%and%why

Page 12: 2015 03-19-devops-toolkit-varrow-madness

Last%but%not%least,%improve%team%communica3on

Page 13: 2015 03-19-devops-toolkit-varrow-madness
Page 14: 2015 03-19-devops-toolkit-varrow-madness

So#what's#the#result#of#DevOps?

Page 15: 2015 03-19-devops-toolkit-varrow-madness

It's%really%big%actually...

Page 16: 2015 03-19-devops-toolkit-varrow-madness

DevOps'prac+ces'and'IT'performance'impact'organiza(onal'performance

h"p://www.slideshare.net/realgenekim/20148state8of8devops8findings8velocity8conference

Page 17: 2015 03-19-devops-toolkit-varrow-madness

Let's&start&with

Infrastructure+As+Code

Page 18: 2015 03-19-devops-toolkit-varrow-madness

What%do%we%define%as%infrastructure?

Page 19: 2015 03-19-devops-toolkit-varrow-madness
Page 20: 2015 03-19-devops-toolkit-varrow-madness
Page 21: 2015 03-19-devops-toolkit-varrow-madness
Page 22: 2015 03-19-devops-toolkit-varrow-madness

Why$define$infrastructure$as$code?• Deploy,)monitor)and)connect)together)all)the)pieces)needed)to)run)services)for)the)organiza9on

• Processes)and)tools)for)faster)end;to;end)delivery)of)quality)services

• Automa9on)comes)built;in

Page 23: 2015 03-19-devops-toolkit-varrow-madness

How$do$we$do$this?• Desired(state(specified(in(text(files

• Autonomic((self7corrects(to(desired(state)

• State(should(be(known(through(monitoring

• Remove(snowflake(servers

Page 24: 2015 03-19-devops-toolkit-varrow-madness

Why$store$them$in$text$files?• Easy&to&read&and&edit

• Shareable

• Can&use&standard&version&control&like&Git&or&SVN

• Becomes&executable&documenta=on

Page 25: 2015 03-19-devops-toolkit-varrow-madness

Simple'examplenode 'www2' { class { 'apache': } # use apache module apache::vhost { 'awesomewebsite.com': # define vhost resource port => '80', docroot => '/var/www/html' }}

Page 26: 2015 03-19-devops-toolkit-varrow-madness

Change'root'password

user { root: ensure => present, password => '$ecretP@ssw0rd',}

Page 27: 2015 03-19-devops-toolkit-varrow-madness
Page 28: 2015 03-19-devops-toolkit-varrow-madness
Page 29: 2015 03-19-devops-toolkit-varrow-madness

Manually'configured'environments'are'like'a'house'of'cards'in'a'china'

shop—"Neal"Ford

Page 30: 2015 03-19-devops-toolkit-varrow-madness

Snowflake)servers

Deploying,+provisioning+and+scaling+automa5cally+is+virtually+impossible+if+every+server+is+unique

Adds$fric)on$between$the$requestor$and$the$deployer

Mistakes(happen

We're%all%human

Page 31: 2015 03-19-devops-toolkit-varrow-madness

What%can%happen%if%you%don't%treat%infrastructure%as%code?

Page 32: 2015 03-19-devops-toolkit-varrow-madness

Some%firms%have%found%that%up%to%60%%of%failures%are%caused%by%human%

error,%not%hardware%failure

Page 33: 2015 03-19-devops-toolkit-varrow-madness

Example()(Knight(Capital(Group

Page 34: 2015 03-19-devops-toolkit-varrow-madness

Knight'Capital'Group'0'What'happened?

Manual&deployment&of&new&trading&so4ware

7"of"8"servers"correctly"updated

Page 35: 2015 03-19-devops-toolkit-varrow-madness

Old$func)on$s)ll$alive$on$the$8th$server$led$to

$440$million$loss$in$45$minutes

Page 36: 2015 03-19-devops-toolkit-varrow-madness

Treat&your&infrastructure&as&code

Page 37: 2015 03-19-devops-toolkit-varrow-madness

Benefits

Self%documen,ng%infrastructure

You$now$have$source$code$for$how$anything$in$your$datacenter$is$setup

Executable*documenta/on

Page 38: 2015 03-19-devops-toolkit-varrow-madness

Alright

Page 39: 2015 03-19-devops-toolkit-varrow-madness

Then%what?

Page 40: 2015 03-19-devops-toolkit-varrow-madness

Automate(more!

Page 41: 2015 03-19-devops-toolkit-varrow-madness

Deployment*automa-on

• Jenkins(CI

• Travis(CI

• Codeship

• CloudFoundry

• OpenShi9

Page 42: 2015 03-19-devops-toolkit-varrow-madness

Containers

• Docker

• Framework,for,applica1on,container,management

• Huge,community

Page 43: 2015 03-19-devops-toolkit-varrow-madness

Log$management

• Splunk

• Loggly

• LogInsight

• ELK3Stack3(Elas7cSearch,3LogStash3and3Kibana)

Page 44: 2015 03-19-devops-toolkit-varrow-madness

Performance*management

• vCenter(Opera,ons

• New(Relic

• AppDynamics

• DataDog

Page 45: 2015 03-19-devops-toolkit-varrow-madness

Monitoring

• Nagios

• Sensu

• VictorOps

• PagerDuty

Page 46: 2015 03-19-devops-toolkit-varrow-madness

Communica)on

• Slack

• HipChat

• Trello

• Asana

Page 47: 2015 03-19-devops-toolkit-varrow-madness

Collabora'on

• Github

• Quip

Page 48: 2015 03-19-devops-toolkit-varrow-madness

Use$these$tools$smartly• And%by%smartly%we%mean%coopera3vely%between%Devs%and%Ops

• Will%help%operators%understand%what's%running%and%happening%in%the%infrastructure

• Will%give%developers%insight%into%the%underlying%infrastructure%and%the%way%it%behaves%under%load

Page 49: 2015 03-19-devops-toolkit-varrow-madness

So#how#do#we#get#started?• Start&talking&about&it

• Choose&low4hanging&fruit

• Learn,&make&wrong&decisions,&learn&again

• Involve&the&broader&team

• Give&books,&presenta?ons,&blog&posts&etc.

Page 50: 2015 03-19-devops-toolkit-varrow-madness

DevOpsDays)@)EMC)WorldSunday'2PM+6PM

Free!

Page 51: 2015 03-19-devops-toolkit-varrow-madness

Ques%ons?

Jonas&Rosland

Developer(Advocate(@(EMC({code}

@virtualswede