108
01

Enterprise flight into DevOps space for DevOps Linz 2016

Embed Size (px)

Citation preview

Page 1: Enterprise flight into DevOps space for DevOps Linz 2016

01

Page 2: Enterprise flight into DevOps space for DevOps Linz 2016

About me02

Page 3: Enterprise flight into DevOps space for DevOps Linz 2016

Andrey AdamovichJava/Groovy developer, clean coder

DevOps guy, automation junkie

Co­organizer of @latcraft and @devternity

Coach at @devchampions

Twitter: @codingandrey

•••••

03

Page 4: Enterprise flight into DevOps space for DevOps Linz 2016

Enterprise!04

Page 5: Enterprise flight into DevOps space for DevOps Linz 2016

...orEnterprisey?

05

Page 6: Enterprise flight into DevOps space for DevOps Linz 2016

The story06

Page 7: Enterprise flight into DevOps space for DevOps Linz 2016

Once upon a time...

07

Page 8: Enterprise flight into DevOps space for DevOps Linz 2016

An email arrives...

08

Page 9: Enterprise flight into DevOps space for DevOps Linz 2016

...let's get to work

09

Page 10: Enterprise flight into DevOps space for DevOps Linz 2016

...two days later...

10

Page 11: Enterprise flight into DevOps space for DevOps Linz 2016

...five days later...

11

Page 12: Enterprise flight into DevOps space for DevOps Linz 2016

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

Page 13: Enterprise flight into DevOps space for DevOps Linz 2016

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

Page 14: Enterprise flight into DevOps space for DevOps Linz 2016

No problem! We know how to write docs.

14

Page 15: Enterprise flight into DevOps space for DevOps Linz 2016

... in the meanwhile ...

15

Page 16: Enterprise flight into DevOps space for DevOps Linz 2016

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

is going on?

16

Page 17: Enterprise flight into DevOps space for DevOps Linz 2016

Fixing

17

Page 18: Enterprise flight into DevOps space for DevOps Linz 2016

...things get worse...

18

Page 19: Enterprise flight into DevOps space for DevOps Linz 2016

Worse thandown...

19

Page 20: Enterprise flight into DevOps space for DevOps Linz 2016

UNKNOWN STATE

20

Page 21: Enterprise flight into DevOps space for DevOps Linz 2016

Chaos (r)21

Page 22: Enterprise flight into DevOps space for DevOps Linz 2016

The "secret" project moves into QA

22

Page 23: Enterprise flight into DevOps space for DevOps Linz 2016

The GO LIVE!

23

Page 24: Enterprise flight into DevOps space for DevOps Linz 2016

Let's throw more people at it

24

Page 25: Enterprise flight into DevOps space for DevOps Linz 2016

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

25

Page 26: Enterprise flight into DevOps space for DevOps Linz 2016

What aboutmonitoring?

26

Page 27: Enterprise flight into DevOps space for DevOps Linz 2016

Do we haveit?

27

Page 28: Enterprise flight into DevOps space for DevOps Linz 2016

YES!28

Page 29: Enterprise flight into DevOps space for DevOps Linz 2016

But...

29

Page 30: Enterprise flight into DevOps space for DevOps Linz 2016

Well...30

Page 31: Enterprise flight into DevOps space for DevOps Linz 2016

Sorry!31

Page 32: Enterprise flight into DevOps space for DevOps Linz 2016

No happyending?

32

Page 33: Enterprise flight into DevOps space for DevOps Linz 2016

Where is theproblem?

33

Page 34: Enterprise flight into DevOps space for DevOps Linz 2016

Communication problems I

34

Page 35: Enterprise flight into DevOps space for DevOps Linz 2016

Communication problems II

35

Page 36: Enterprise flight into DevOps space for DevOps Linz 2016

Stability vs.agility

36

Page 37: Enterprise flight into DevOps space for DevOps Linz 2016

Stagnationvs. stability?

37

Page 38: Enterprise flight into DevOps space for DevOps Linz 2016

Unplannedwork

38

Page 39: Enterprise flight into DevOps space for DevOps Linz 2016

Gene Kim

39

Page 40: Enterprise flight into DevOps space for DevOps Linz 2016

Unplannedwork can kill

yourcompany!40

Page 41: Enterprise flight into DevOps space for DevOps Linz 2016

Unplanned vs. failed

41

Page 42: Enterprise flight into DevOps space for DevOps Linz 2016

Unplanned vs. unique

42

Page 43: Enterprise flight into DevOps space for DevOps Linz 2016

DevOps!43

Page 44: Enterprise flight into DevOps space for DevOps Linz 2016

Fix communication

44

Page 45: Enterprise flight into DevOps space for DevOps Linz 2016

Sharing responsibility

45

Page 46: Enterprise flight into DevOps space for DevOps Linz 2016

Reduce failed changes

46

Page 47: Enterprise flight into DevOps space for DevOps Linz 2016

Reduce number of unique configs

47

Page 48: Enterprise flight into DevOps space for DevOps Linz 2016

Great!48

Page 49: Enterprise flight into DevOps space for DevOps Linz 2016

Now we'veheard aboutDevOps!

49

Page 50: Enterprise flight into DevOps space for DevOps Linz 2016

Let's do it!50

Page 51: Enterprise flight into DevOps space for DevOps Linz 2016

It will save us!51

Page 52: Enterprise flight into DevOps space for DevOps Linz 2016

But beprepared...52

Page 53: Enterprise flight into DevOps space for DevOps Linz 2016

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

Page 54: Enterprise flight into DevOps space for DevOps Linz 2016

DevOpsTopologies54

Page 55: Enterprise flight into DevOps space for DevOps Linz 2016

Mathew Skelton

55

Page 56: Enterprise flight into DevOps space for DevOps Linz 2016

Anti­Types56

Page 57: Enterprise flight into DevOps space for DevOps Linz 2016

Anti­Type A: Dev and Ops Silos

57

Page 58: Enterprise flight into DevOps space for DevOps Linz 2016

Anti­Type B: DevOps Team Silo

58

Page 59: Enterprise flight into DevOps space for DevOps Linz 2016

Anti­Type C: Dev Don't Need Ops

59

Page 60: Enterprise flight into DevOps space for DevOps Linz 2016

Anti­Type D: DevOps as Tools Team

60

Page 61: Enterprise flight into DevOps space for DevOps Linz 2016

Anti­Type E: Rebranded SysAdmin

61

Page 62: Enterprise flight into DevOps space for DevOps Linz 2016

Types62

Page 63: Enterprise flight into DevOps space for DevOps Linz 2016

Type 1: Dev and Ops Collaboration

63

Page 64: Enterprise flight into DevOps space for DevOps Linz 2016

Type 2: Fully Shared Ops Reponsibilities

64

Page 65: Enterprise flight into DevOps space for DevOps Linz 2016

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

65

Page 66: Enterprise flight into DevOps space for DevOps Linz 2016

Type 4: DevOps as an External Service

66

Page 67: Enterprise flight into DevOps space for DevOps Linz 2016

Type 5: DevOps Team with an ExpiryDate

67

Page 68: Enterprise flight into DevOps space for DevOps Linz 2016

Any quickhints?

68

Page 69: Enterprise flight into DevOps space for DevOps Linz 2016

TALK!69

Page 70: Enterprise flight into DevOps space for DevOps Linz 2016

TALK MORE!70

Page 71: Enterprise flight into DevOps space for DevOps Linz 2016

SHARE!71

Page 72: Enterprise flight into DevOps space for DevOps Linz 2016

SHAREEVERYTHING!

72

Page 73: Enterprise flight into DevOps space for DevOps Linz 2016

Hints for Devs73

Page 74: Enterprise flight into DevOps space for DevOps Linz 2016

Don't ignoreoperations!74

Page 75: Enterprise flight into DevOps space for DevOps Linz 2016

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

Page 76: Enterprise flight into DevOps space for DevOps Linz 2016

Bad logging messages

76

Page 77: Enterprise flight into DevOps space for DevOps Linz 2016

ConfigurationStructure application configuration

Backwards­compatible, good defaults, good naming

Do not mix technical and business configuration

•••

77

Page 78: Enterprise flight into DevOps space for DevOps Linz 2016

Bad parameter naming

78

Page 79: Enterprise flight into DevOps space for DevOps Linz 2016

MonitoringEmbed monitoring capabilities into your code

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

HTTP

••

79

Page 80: Enterprise flight into DevOps space for DevOps Linz 2016

Monitoring vitalsTechnical metrics:

CPU, Memory, Disk

Resource pools

Network I/O

Transactions/requests/operations per second/minute/hour

Database performance

Business metrics

••••••

80

Page 81: Enterprise flight into DevOps space for DevOps Linz 2016

Create dashboards!

81

Page 82: Enterprise flight into DevOps space for DevOps Linz 2016

Align early!82

Page 83: Enterprise flight into DevOps space for DevOps Linz 2016

Late alignment issues

83

Page 84: Enterprise flight into DevOps space for DevOps Linz 2016

Learn how to use provisioning softwarePuppet

Chef

Ansible

Salt

••••

84

Page 85: Enterprise flight into DevOps space for DevOps Linz 2016

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

Page 86: Enterprise flight into DevOps space for DevOps Linz 2016

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

Page 87: Enterprise flight into DevOps space for DevOps Linz 2016

Artifact repositories

87

Page 88: Enterprise flight into DevOps space for DevOps Linz 2016

Automation over documentation

88

Page 89: Enterprise flight into DevOps space for DevOps Linz 2016

Automate everything repeatablebuild

release

deploy

test

backup

migration

restarts

•••••••

89

Page 90: Enterprise flight into DevOps space for DevOps Linz 2016

Hints for Ops90

Page 91: Enterprise flight into DevOps space for DevOps Linz 2016

Problem solvingGet developers to solve production problems

Look at how they did it

Post­mortem analysis

•••

91

Page 92: Enterprise flight into DevOps space for DevOps Linz 2016

MonitoringCreate dashboards! Many, but meaningful dashboards!

Analyze your data!

Create alerts!

•••

92

Page 93: Enterprise flight into DevOps space for DevOps Linz 2016

LoggingAggregate logs

Analyze logs

Rotate logs

Clean logs

••••

93

Page 94: Enterprise flight into DevOps space for DevOps Linz 2016

Learn how to use provisioning softwarePuppet

Chef

Ansible

Salt

••••

94

Page 95: Enterprise flight into DevOps space for DevOps Linz 2016

Infrastructureas code

95

Page 96: Enterprise flight into DevOps space for DevOps Linz 2016

Keep it in version control

96

Page 97: Enterprise flight into DevOps space for DevOps Linz 2016

Port changesback to DEV!

97

Page 98: Enterprise flight into DevOps space for DevOps Linz 2016

Prepare for disaster!Backups!

Test your backups. Seriously!

Capacity planning.

•••

98

Page 99: Enterprise flight into DevOps space for DevOps Linz 2016

Readingmaterial

99

Page 100: Enterprise flight into DevOps space for DevOps Linz 2016

The Phoenix Project

100

Page 101: Enterprise flight into DevOps space for DevOps Linz 2016

Continuous Delivery

101

Page 102: Enterprise flight into DevOps space for DevOps Linz 2016

Release It

102

Page 103: Enterprise flight into DevOps space for DevOps Linz 2016

Inviting Disaster

103

Page 104: Enterprise flight into DevOps space for DevOps Linz 2016

DevOps blogshttp://enterprisedevops.com/

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

104

Page 105: Enterprise flight into DevOps space for DevOps Linz 2016

Questions?105

Page 106: Enterprise flight into DevOps space for DevOps Linz 2016

Thank you!106

Page 107: Enterprise flight into DevOps space for DevOps Linz 2016

Have a niceflight!

107

Page 108: Enterprise flight into DevOps space for DevOps Linz 2016

108