Upload
clemence-mathews
View
215
Download
0
Tags:
Embed Size (px)
Citation preview
@spoole167#DevOps
DevOps & the Dark Side
10 ways to convinceyour team DevOps is a force for good
htt
ps:
//w
ww
.flic
kr.c
om
/photo
s/1
15
68
88
8@
N0
3/
@spoole167#DevOps
Important Disclaimers
THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY.
WHILST EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION CONTAINED IN THIS
PRESENTATION, IT IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED.
ALL PERFORMANCE DATA INCLUDED IN THIS PRESENTATION HAVE BEEN GATHERED IN A CONTROLLED ENVIRONMENT. YOUR
OWN TEST RESULTS MAY VARY BASED ON HARDWARE, SOFTWARE OR INFRASTRUCTURE DIFFERENCES.
ALL DATA INCLUDED IN THIS PRESENTATION ARE MEANT TO BE USED ONLY AS A GUIDE.
IN ADDITION, THE INFORMATION CONTAINED IN THIS PRESENTATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND
STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM, WITHOUT NOTICE.
IBM AND ITS AFFILIATED COMPANIES SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR
OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION.
NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, OR SHALL HAVE THE EFFECT OF:
- CREATING ANY WARRANT OR REPRESENTATION FROM IBM, ITS AFFILIATED COMPANIES OR ITS OR THEIR SUPPLIERS AND/OR
LICENSORS2
@spoole167#DevOps
Your Guide for Today’s Journey
3
Steve Poole
IBM Developer
Making Java Real Since Version 0.9
Open Source Advocate
DevOps Practitioner (whatever that means!)
Driving Change
@spoole167#DevOps
My Goals
You should be able to leave today knowing
How to explain what DevOps is and what it is not
How to explain the benefits of DevOps and the Cloud to developers, ‘suits’ and IT specialists’
Your next step in promoting DevOps
@spoole167#DevOps
Is ‘DevOps’ considered harmful?
There are some who assert that DevOps is just a fashion
That it’s not needed and mightbe counter-productive
Is that true?
Let’s start by looking at what’shappening in our industry
htt
ps:
//w
ww
.flic
kr.c
om
/photo
s/w
hatl
eydude/
@spoole167#DevOps
CloudCloudCloud
https://www.flickr.com/photos/28581681@N04/
@spoole167#DevOps
Cloud Technologies. It’s a new world
The surge of Cloud technologies that offer compute ‘on tap’ are making businesses think differently about how to buy and use computing power
htt
ps:
//w
ww
.flic
kr.c
om
/photo
s/ale
xbrn
/
@spoole167#DevOps
Compute power = money
htt
ps:
//w
ww
.flic
kr.c
om
/ph
oto
s/ep
sos/
Easier than ever beforea business can buy a CPU
Just for how long they need it.
No long term capital investment.
@spoole167#DevOps
htt
ps:
//w
ww
.flic
kr.c
om
/photo
s/sk
ohlm
ann/
The ability to have a tidal ‘cloud burst’ capacity is changing the way software needs to be developed
It’s a new development world
@spoole167#DevOps
Immediate consequences?
1/1/13 1/1/14 1/1/15 1/1/16 1/1/170
5
10
15
20
25
30
35
TraditionalCloud
Does investment ‘just’ move from one place to to the other?
Will ‘cloud’ capacity justpick up the slack?
@spoole167#DevOps
Immediate consequences?
1/1/13 1/1/14 1/1/15 1/1/16 1/1/170
5
10
15
20
25
30
35
TraditionalCloud
Will ‘cloud’ capacity justpick up the slack?
If I can buy X amount of CPU over a year…
@spoole167#DevOps
Immediate consequences?
1/1/13 1/1/14 1/1/15 1/1/16 1/1/170
5
10
15
20
25
30
35
TraditionalCloud
I can buy 4X over ¼ the time…
And deliver much earlier!
@spoole167#DevOps
Immediate consequences?
1/1/13 1/1/14 1/1/15 1/1/16 1/1/170
5
10
15
20
25
30
35
TraditionalCloud
Repeatedly…
You thought you were busy now..
@spoole167#DevOps
cloud capacity is changing the way software needs to be designed
It’s a new tidal world
htt
ps:
//w
ww
.flic
kr.
com
/photo
s/m
em
ebin
ge/
@spoole167#DevOps
Means you can start small andadd what you need when you need it..
and take it away when you’re done
Do you design systems to be this flexible and resilient?
The ability to ‘just’ grow capacity
htt
ps:
//w
ww
.flic
kr.co
m/p
hoto
s/4
453
4236
@N
00/
@spoole167#DevOps
Service also means something new now…
htt
ps:
//w
ww
.flic
kr.c
om
/photo
s/dere
kske
y/
“Software as a Service”profoundly changes the way software is designed anddelivered
@spoole167#DevOps
No more delivering parts that someone else puts together
No more handing your code off to others to use in production.
Service means something new now…
htt
ps:
//w
ww
.flic
kr.
com
/photo
s/pm
iaki
/
@spoole167#DevOps
If you offer Software as a Service…
Your software could go into production instantly
Like changing the teeth on a tunnel boring machine while it’s still cutting
Ready for that?
Your software
htt
ps:
//w
ww
.flic
kr.c
om
/photo
s/m
tap
hoto
s/
@spoole167#DevOps
Cloud computing: power = money
Businesses see the opportunities here
Improved costs, decreased time-to-market, shorter time to value
“I can now get my ideas into production in hours,days or weeks. I can get immediate feedback AND then I can improve the idea and repeat”
@spoole167#DevOps
Compute power = money
Money changes everything
With a measureable and direct relationship between $ and CPU/RAM The financial success or failure of a project is even easier to see
And that means…
Even more focus on value for money
Soon you’ll be choosing s/w components based on their memory footprint!
$
@spoole167#DevOps
Cloud based applications work differently
“Everything fails all the time [in the cloud]”
Werner Volgels, CTO, Amazon
Your application has to work in a new way, in a new place.
Where strange behaviors happen all the time
It needs to be ‘anti-fragile’
htt
ps:
//w
ww
.flic
kr.co
m/p
hoto
s/fi
refl
yth
eg
reat/
@spoole167#DevOps
In the software industry? You’re affected
Whatever you do – your world is changing.
Old ways of developing and delivering software are being replaced with new, faster, easier and more powerful ,alternatives
@spoole167#DevOps
Scared yet?
@spoole167#DevOps
You will be
@spoole167#DevOps
How arewe doing so far?
htt
ps:
//w
ww
.flic
kr.c
om
/photo
s/tm
-tm
/
@spoole167#DevOps
Re-quirements
Design Code Dev QA Ops0
20
40
60
80
100
120
140
160
1 5 1020
50
150
Bug fix cost
You’ve all seen this sortof chart
Think about it differently..
think “time” and “delay”
Quality
@spoole167#DevOps
Too often we hear aboutfailures in systems that come about due a simple bug occurring in a complex situation or in a more organic environment than expected
Design / Feedback
@spoole167#DevOps
Delivery Times
Case Study: A large bank uses agile techniques to create ‘complete’ solutions in < 3 weeks.
But It takes the Ops team about 15 months elapsed before the deployment process starts and It take about 3 months to complete
deployment
why?
3 weeks to develop vs 3 months to make deployable => continuous backlog
Continuous backlog => some projects never see the light of day
AND Ops need to talk to Dev 15 months after code complete => you can guess how that turns out….
@spoole167#DevOps
@spoole167#DevOps
@spoole167#DevOps
Our Dev teams and Ops teams do not communicate properly
It’s a problem baked into our processes
but we know what to do…
@spoole167#DevOps
Who here ‘does’ Agile?
@spoole167#DevOps
Once upon a time the universe was not agile
Design, Code Unit test
Dev
Functional TestSystem test
QA
Stage ConfigureO
ps
Fix bugsFix bugsHelplineS
upp
or
t
Monitor, backupupgrade, support,
repairsecurity, compliance
Uses
Clie
nt
reality chasm
@spoole167#DevOps
This was called “Waterfall”
Reinforced team separation
Long feedback cycles Long time-to-market
Tended to increase ‘Release Panic’
BIGRealityChasmDEV OPS
@spoole167#DevOps
Waterfall - more a roller-coaster ride…
Time
# o
f bu
gs
Start to panichere Really
panichere
DEV OPS
QAClient
£
Value here
@spoole167#DevOps
If you fell into the reality chasm…
Time
# o
f bu
gs
Start to panichere Really
panichere
DEV OPS
QAClient
NoValue here
@spoole167#DevOps
Agile helps reduce the chasm
Time
# o
f bu
gs
Feedback here
OPS
Client
DEV
Feedback here
Feedback here
QA$
Value here
@spoole167#DevOpsTime
# o
f bu
gs
OPS
Client
DEV
QA
$
I want valuehere
And here
Now the business says..
@spoole167#DevOps
The new challenge – we can’t afford the gap
Time
# o
f bu
gs
OPS
Client
DEV
QA
$Move Left
@spoole167#DevOps
We need EVERYONE working together
Time
# o
f bu
gs
OPS
DEV
QA
$ $ $Client
@spoole167#DevOps
Agile drives automation: baking knowledge into tools
Continuous Integration
JUnit
SCM BuildBuild Orchestration
UnitTest
Continuous Feedback
@spoole167#DevOps
Got automated QA and delivery?
Continuous Integration
JUnit
Continuous Delivery
Repository
Performance & QA
Deployment tools
Continuous Feedback
@spoole167#DevOps
How about automated deployment?
Continuous Integration
JUnit
Continuous DeliveryHosting Continuous Feedback
@spoole167#DevOps
New challenge: automating provisioning and deployment
Continuous Integration
JUnit
Continuous Delivery
Continuous Feedback
Continuous Deployment
Continuous Feedback
Hosting
@spoole167#DevOps
How fast do we need to be?
Continuous Integration
JUnit
Continuous Delivery
Continuous Feedback Hosting
Days? Weeks? Months?
@spoole167#DevOps
How quickly do you need to get good code into production?
Would you believe < 1hr?
Case Study: A fashion retailer can show measureable increase in sales if a item similar to that seen in the media can be placed on their
on-line store landing page within 1 hr of it appearing in public.
Each product placement is different so they need a fast, agile, approach that does not jeopardize their on-line stores availability and quality.
We know how to do this..
@spoole167#DevOps
Cloud technologies enable even greater opportunities
Continuous Deployment Pipeline
External CloudOn premises cloud
Clo
ud
Dep
loym
ent
Orc
hest
rato
r
JUnit
@spoole167#DevOps
JUnit
Building a continuous deployment system
Continuous Deployment
Continuous Feedback
Dev and OpsNeed to share the challenges and using their relevantskills across the process.
We can’t afford not to
@spoole167#DevOps
The imperative of DevOps
Startups through to big businesses are demanding the value that DevOps & Cloud Technologies can offer
1. Production deployment pipeline up and running in days
2. Updates published in hours or minutes – continuously
DevOps helps transition an organization into this new world…
@spoole167#DevOps
The imperative of DevOps
The cost?
1. Standardized pipelines
2. Dev and Ops teams working together
3. Greatly expanding your horizons and your technical
skills
4. Leaving your comfort zone
@spoole167#DevOps
Scared yet? – lets see what we need is:
10 ways to convince your team DevOps is a force for good
@spoole167#DevOps
DevOps is the next evolution of Agile
#1 DevOps is not a technology it’s a movement
It’s about the next stage in workingtogether to deliver software
It’s about reducing delivery friction through knowledge sharing
It’s about applying Agile ideas to Ops
It’s about collaboration and sharing
It’s about changing the culture
Manifesto for Agile Software
Development
Individuals and interactions over
processes and tools
Working software over comprehensive
documentation
Customer collaboration over contract
negotiation
Responding to change over following a
plan
@spoole167#DevOps
DevOps enables effective use of cloud technologies
#2 Working together and exploiting “Infrastructure as Code’ approaches and technologies such as Docker, PaaS’s etc enable Ops teams to bake in their requirements and Dev & QA teams to run in modes much more like production
#3 Using virtualisation solutions like IaaS and PaaS make deployment easier and more ‘self-service’. This reduces the overhead on the Ops team and hence improves delivery time
#4 Its works the other way too – getting Dev team monitoring and diagnostics baked-in means less back and forth and no need to access that production server..
@spoole167#DevOps
DevOps and the Cloud is now a business agility goal
The demonstrable benefits of using DevOps and Cloud tech are self evident enough now that everyone wants to do it
Bringing Development & IT together to solve deployment problems through sharing and
learning creates an organization with
“Strong IT performance”
This is becoming a major competitiveadvantage
.
#5 - 30x deliveries
#6 - 50% reduction in deployment failures
#7 2x likely to exceed important business goals
Sou
rce:
pu
pp
et
lab
s 2
01
4
@spoole167#DevOps
#8 And – by getting devops adopted you’re also more likely to get other more modern ideas happening too
“Using version control for scripts”
“Automating testing”“Using TDD or BDD” “we need to adopt Micro-services
design”Why can’t we get our systems
proactively monitored?”“How aboout Pair-programming –
even for ops
“Lets be honest – developers are lazy. If you have to do it twice you’ll write a script. Ops teams worry about everything the lazy developer didn’t do. - like security,”
“low-friction organizations are good at recognizing and removing obstacles – got an HR system that gets in the way. Hate that corporate expense tool? Wish you had a corporate expense tool instead of the paperwork?”
“Since DevOps (and Agile) is about failing early and failing fast that approach can spill over into the day to day culture – let it happen! Make it safe to fail..And what about security – how about getting security ‘baked-in’ right at the design time?”
@spoole167#DevOps
Last 2…
#9 – DevOps increases Job SatisfactionIT Companies with high levels of job satisfaction are mostly likely
to be able to deliver consistently and with high quality. (Hint – who get chosen 1st?)
#10 Adopting DevOps & the Cloud successfully make your
organisation well positioned for exploiting new capabilities – like Analystics, BigData or even something like IBM’s Watson
@spoole167#DevOps
Summary
Businesses need to be able to react faster… …DevOps and the Cloud are key enablers
DevOps is as much a game changer as Agile was……this is a Developer, QA and Ops “renaissance”
Don’t be afraid to learn and experiment……you’ll benefit even if the tech doesn’t survive
Agile moved you closer to the customer……DevOps moves you closer to the IT team
@spoole167#DevOps
What do to next..
1 – Lean and present Docker and PaaS style options to your peers. Whether Ops or Dev you’ll see the value
2 – Find a buddy in the other camp.
3 – Get ‘real’ monitoring going across your infrastructure and applications what ever you can monitor do so. And graph it, put up dashboards.
Look for and learn the warning signs of a failing system and get your peers and detractors to see the value
(BTW – don’t monitor a system when you need to monitor the app!)
4 – Start to tackle automation look for the places where others are challenged. And fix it for them. Introduce Chef, Puppet, Bash, Groovy – the goal is automation 1st – cool tech 2nd
@spoole167#DevOps
What to do next
Ask you organisation some difficult questions:
Deployment frequency?
Speed of deployment?
Deployment success rate?
How quickly service can be restored after a failed deployment?
Time from 1 line of code until in hands of the customer?
@spoole167#DevOps
Maybe DevOps isnot all bad?
Thank You!
htt
ps:
//w
ww
.flic
kr.c
om
/photo
s/le
ns-
cap/