96
01

Andrey Adamovich - Enterprise flight into DevOps space - ConFu

Embed Size (px)

Citation preview

01

About me02

Andrey AdamovichBio: Developer, coach, speaker, author

Company: Aestas/IT (http://aestasit.com)

E-mail: [email protected]

Linkedin: http://www.linkedin.com/in/andreyadamovich

Lanyrd: http://lanyrd.com/profile/andrey-adamovich

GitHub: https://github.com/aadamovich

SO: http://stackoverflow.com/users/162792/andrey-adamovich

Twitter: @aestasit

••••••••

03

The story04

Once upon a time...

05

An email arrives...

06

...let's get to work

07

...two days later...

08

...five days later...

09

Another emailHi Jack, I got a call from Sandy, the secret project's PM, she says that

the DEV servers are not ready yet, I really want you to understand how

critical is this project for the organization, please, don't let me down...

Francis, VP

10

Jack's bossHi Jack, I understand you have been working on the secret project

servers setup recently, don't forget that we need to keep the

documentation up-to-date yeah?

11

No problem! We know how to write docs.

12

... in the meanwhile ...

13

The dreaded CRHey Jack, we can't deploy anymore to our DEV servers. What the hell

is going on?

14

Fixing

15

...things get worse...

16

Worst thandown...

17

UNKNOWN STATE I

18

UNKNOWN STATE IIToo many people working on too many issues

Each server is managed independently and without cohesion••

19

Chaos (r)20

The "secret" project moves into QA

21

The GO LIVE!

22

Are you serious?Jack and his team can't keep up with the work: Hundreds of servers to

configure, monitor, backup, restore, fix ...

Documentation is left behind

23

Let's throw more people at it

24

...it's going to work, right?

25

Problems?More people fiddling with the servers

No coordination

Recipe for disaster

•••

26

What aboutmonitoring?

27

Do we haveit?

28

YES!29

But...

30

Well...31

Sorry!32

No happyending?

33

Where is theproblem?

34

Communication I

35

Communication II

36

Stability vs.agility

37

Postpone the pain?

38

Fear of deployBecause systems are fragile, each deployment is like a trip to the

nearest casino

Devs and SysOps make development cycles longer to be as far as

possible from the deploy date

Slower time to market, systems are down more often

Nobody is happy

••

39

Unplanned vs. failed

40

Unplanned vs. unique

41

DevOps!42

Fix communication

43

The feedback loopThrough configuration management and deploy automation, we can

deploy more often and reduce risk

The feedback loop gets shorter

Functionalities are rolled out with higher frequency

Systems are always in a known state

Changes to the system can be simulated and impacts calculated

••••

44

Sharing responsibility I

45

Sharing responsibility IIThe focus of DevOps is on automating the tasks performed during the

build, QA and deployment stage

The risk of deployment errors is reduced drastically by having a strong

automated testing suite, automated deployment workflow, well

defined/automated rollback process

46

Reduce failed changes

47

Reduce number of unique configs

48

Great!49

Now we'veheard about

DevOps!50

Let's do it!51

It will save us!52

Let's hire a DevOps consultant!

53

What?54

OK, we have one now...

55

DevOps is not a religion!

56

Aha!57

We need an internal DevOps team!

58

They willwork hard!

59

They willmake DevOps

happen!60

Wait, anotherdepartment?

61

What's thepoint?

62

Failedexpectations

63

Most startwith the tools

64

Tools are asimportant

as...65

Internalculture!

66

How Devsand Ops can

help eachother?67

TALK!68

TALK MORE!69

SHARE!70

SHAREEVERYTHING!

71

Hints fordevelopers72

LoggingWhenever you add new logging statement to your code, remember

that the guy on the other side can actually read it

Logging level, message and frequency of logging can help or disturb

73

MonitoringEmbed monitoring capabilities into your code

Know monitoring channels that your operations use: JMX, SNMP,

HTTP

••

74

ConfigurationStructure application configuration

Backward-compatibile, good defaults, good naming••

75

AutomationAutomation over documentation

Automate everything repeatable:

build

release

deploy

test

••

••••

76

Hints foroperations

77

Problem solvingGet developers to solve production problems

Look at how they did it

Post-mortem analysis

•••

78

MonitoringCreate dashboards! Many, but meaningful dashboards!

Analyze your data!

Create alerts!

•••

79

LoggingAggregate logs

Analyze logs

Rotate logs

Clean logs

••••

80

Prepare for disaster!Backups!

Test your backups. Seriously!

Capacity planning.

•••

81

AutomationInfrastructure as code

Everything in version control••

82

Technologiesto follow

83

VirtualizationVirtualBox

Qemu

Docker

Vagrant

Parallels

•••••

84

CloudsAWS

VMWare

Azure

Google Cloud

OpenStack

•••••

85

Infrastructure provisioningPuppet

Chef

Ansible

Salt

••••

86

Infrastructure monitoringLogstash

Kibana

Grafana

ElasticSearch

Graphite

•••••

87

DevOps companiesSpotify

Netflix

Etsy

Twitter

Amazon

Google

GitHub

•••••••

88

Readingmaterial

89

The Phoenix Project

90

Continuous Delivery

91

Release It

92

DevOps blogshttp://enterprisedevops.com/

http://itrevolution.com/devops-blog/••

93

Questions?94

Thank you!95

Have a niceflight!

96