The Transition from Product
to Infrastructure
Paul Stack
http://twitter.com/stack72
mail: [email protected]
The evolution of Software Delivery
Slide 2
Slide 2 text
About Me
Infrastructure Engineer
Reformed ASP.NET / C# Developer
DevOps Extremist
Conference Junkie
Slide 3
Slide 3 text
Being a software engineer is
easy*
Slide 4
Slide 4 text
1. Someone has an idea
Slide 5
Slide 5 text
2. Requirements are
gathered
Slide 6
Slide 6 text
3. Development happens
Slide 7
Slide 7 text
4. Testing / Feedback
happens
Slide 8
Slide 8 text
99. The software is deprecated
Slide 9
Slide 9 text
ALL SOFTWARE
has a should have a
lifespan
Slide 10
Slide 10 text
The creation of software is
only the beginning…
Slide 11
Slide 11 text
“Until your pretty code is in
production, making money, or doing
whatever it does, you’ve just wasted
your time”
Chris Read
@cread
#LondonCI
Slide 12
Slide 12 text
How does code get to your
users?
Slide 13
Slide 13 text
Delivery isn’t the #1 priority
of the average developer
Slide 14
Slide 14 text
“How long would it take your
organisation to deploy a change that
involved just one single line of code?
Do you do this on a repeatable, reliable
basis?”
Implementing Lean Software Development
Mary Poppendieck
Slide 15
Slide 15 text
Value Stream Map
Slide 16
Slide 16 text
Has anyone read this book?
Slide 17
Slide 17 text
Continuous Delivery
…. is a set of practices and
principles aimed at, building,
testing and releasing software
faster and more frequently.
Slide 18
Slide 18 text
Why do we have a problem
releasing our software?
Slide 19
Slide 19 text
1. Continuous Delivery is
something only startups can
achieve
Slide 20
Slide 20 text
2. Continuous Delivery only
works for NodeJS / Ruby /
Go developers
Slide 21
Slide 21 text
3. We can hire a consultant
to help us implement
‘Continuous Delivery’
Slide 22
Slide 22 text
4. Right click and deploy in
Visual Studio is continuous
delivery
Slide 23
Slide 23 text
5. Continuous delivery is as
simple as hooking github to
our Azure account…..
Slide 24
Slide 24 text
No content
Slide 25
Slide 25 text
No content
Slide 26
Slide 26 text
No content
Slide 27
Slide 27 text
No content
Slide 28
Slide 28 text
No content
Slide 29
Slide 29 text
No content
Slide 30
Slide 30 text
No content
Slide 31
Slide 31 text
No content
Slide 32
Slide 32 text
Image by John Turner of PaddyPower.com
Slide 33
Slide 33 text
No content
Slide 34
Slide 34 text
So what does an
infrastructure engineer do?
Slide 35
Slide 35 text
1. Provides the ability for
development teams self
service tools
Slide 36
Slide 36 text
2. Be an evangelist of
getting developers to take
ownership of their systems
Slide 37
Slide 37 text
3. Take responsibility for the
health of the entire system
Slide 38
Slide 38 text
This sounds a lot like that
DevOps thing I’ve heard of..
Slide 39
Slide 39 text
“DevOps is not about learning each
other's job, it's understanding the
money is made when software is
actually running in production.”
Dave Mangot
@davemangot
Slide 40
Slide 40 text
We are *all* part of the
same team!
Slide 41
Slide 41 text
The Benefits of Continuous
Delivery
• High Performing IT Teams are more
Agile!
• High Performing IT Teams can recover
faster!
• High Performing IT Teams can
experiment more!
https://puppetlabs.com/sites/default/files/2014-state-of-devops-report.pdf
Slide 42
Slide 42 text
I work in a Windows
environment, can I take
advantage of these
practices?