Enterprise flight into DevOps space for Baltic DevOps 2016

Preview:

Citation preview

01

About me02

Andrey AdamovichJava/Groovy developer

DevOps guy, automation junkie

Twitter: @codingandrey

•••

03

Enterprise!04

...orEnterprisey?

05

The story06

Once upon a time...

07

An email arrives...

08

...let's get to work

09

...two days later...

10

...five days later...

11

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

12

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?

13

No problem! We know how to write docs.

14

... in the meanwhile ...

15

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

is going on?

16

Fixing

17

...things get worse...

18

Worse thandown...

19

UNKNOWN STATE

20

Chaos (r)21

The "secret" project moves into QA

22

The GO LIVE!

23

Let's throw more people at it

24

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

25

What aboutmonitoring?

26

Do we haveit?

27

YES!28

But...

29

Well...30

Sorry!31

No happyending?

32

Where is theproblem?

33

Communication problems I

34

Communication problems II

35

Stability vs.agility

36

Stagnationvs. stability?

37

Unplannedwork

38

Gene Kim

39

Unplannedwork can kill

yourcompany!40

Unplanned vs. failed

41

Unplanned vs. unique

42

DevOps!43

Fix communication

44

Sharing responsibility

45

Reduce failed changes

46

Reduce number of unique configs

47

Great!48

Now we'veheard aboutDevOps!

49

Let's do it!50

It will save us!51

But beprepared...52

DevOps is highly misunderstoodYour boss have heard of DevOps!

Recruiters have gone crazy!

All want DevOps engineers now?!?

Does it mean that developers have to do everything?

Natural reaction is to reject that!

•••••

53

DevOpsTopologies54

Mathew Skelton

55

Anti­Types56

Anti­Type A: Dev and Ops Silos

57

Anti­Type B: DevOps Team Silo

58

Anti­Type C: Dev Don't Need Ops

59

Anti­Type D: DevOps as Tools Team

60

Anti­Type E: Rebranded SysAdmin

61

Types62

Type 1: Dev and Ops Collaboration

63

Type 2: Fully Shared Ops Reponsibilities

64

Type 3: Ops as Infrastructure­as­a­Service

65

Type 4: DevOps as an External Service

66

Type 5: DevOps Team with an ExpiryDate

67

Any quickhints?

68

TALK!69

TALK MORE!70

SHARE!71

SHAREEVERYTHING!

72

Hints for Devs73

Don't ignoreoperations!74

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

75

Bad logging messages

76

ConfigurationStructure application configuration

Backwards­compatible, good defaults, good naming

Do not mix technical and business configuration

•••

77

Bad parameter naming

78

MonitoringEmbed monitoring capabilities into your code

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

HTTP

••

79

Monitoring vitalsTechnical metrics:

CPU, Memory, Disk

Resource pools

Network I/O

Transactions/requests/operations per second/minute/hour

Database performance

Business metrics

••••••

80

Create dashboards!

81

Align early!82

Late alignment issues

83

Learn how to use provisioning softwarePuppet

Chef

Ansible

Salt

••••

84

Build a cloneSame OS version,

same components,

same configuration

as in production environemnt,

but running in virtual machine on your laptop or at some cloud provider

•••••

85

Package managersSystem administrators know how to install standard OS packages

Just make one for them!

RPM, DEB, MSI... ­ it's not that hard to master!

•••

86

Artifact repositories

87

Automation over documentation

88

Automate everything repeatablebuild

release

deploy

test

backup

migration

restarts

•••••••

89

Hints for Ops90

Problem solvingGet developers to solve production problems

Look at how they did it

Post­mortem analysis

•••

91

MonitoringCreate dashboards! Many, but meaningful dashboards!

Analyze your data!

Create alerts!

•••

92

LoggingAggregate logs

Analyze logs

Rotate logs

Clean logs

••••

93

Learn how to use provisioning softwarePuppet

Chef

Ansible

Salt

••••

94

Infrastructureas code

95

Keep it in version control

96

Port changesback to DEV!

97

Prepare for disaster!Backups!

Test your backups. Seriously!

Capacity planning.

•••

98

Readingmaterial

99

The Phoenix Project

100

Continuous Delivery

101

Release It

102

Inviting Disaster

103

DevOps blogshttp://enterprisedevops.com/

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

104

Questions?105

Thank you!106

Have a niceflight!

107

Devternity!

108

Recommended