Enterprise flight into DevOps space for DevOps Linz 2016
-
Upload
aestas-it -
Category
Technology
-
view
150 -
download
0
Transcript of Enterprise flight into DevOps space for DevOps Linz 2016
01
About me02
Andrey AdamovichJava/Groovy developer, clean coder
DevOps guy, automation junkie
Coorganizer of @latcraft and @devternity
Coach at @devchampions
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 uptodate 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
AntiTypes56
AntiType A: Dev and Ops Silos
57
AntiType B: DevOps Team Silo
58
AntiType C: Dev Don't Need Ops
59
AntiType D: DevOps as Tools Team
60
AntiType E: Rebranded SysAdmin
61
Types62
Type 1: Dev and Ops Collaboration
63
Type 2: Fully Shared Ops Reponsibilities
64
Type 3: Ops as InfrastructureasaService
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
Backwardscompatible, 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
Postmortem 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/devopsblog/••
104
Questions?105
Thank you!106
Have a niceflight!
107
108