Devops
Devops
NETWORKWORLD
d i g i ta l s p ot l g h t
Devops
Introduction 2
Why devops time
has come 4
Elements of devops 9
How Etsy makes
Devops work 18
Resources 25
FALL 2014
digital
spotlght
More! Faster!
IN
INSIDE
Introduction 2
By Eric Knorr
Elements of devops 9
Devops is a little bit of philosophy and lot of tools.
Heres how those tools help boost the efficiency of
the entire application development lifecycle.
By MARTIN heller
Resources 25
infoworld.com + NETWORKWORLD.COM
Part #RAG12453-USEN-00
For Dummies is a registered trademark of John Wiley & Sons, Inc.
digital
spotlght
Why devops
time
has come
infoworld.com + NETWORKWORLD.COM
digital
spotlght
C R E D I T: A L L A R T, S H U T T E R S T O C K C O M P O S I T E / S T E P H E N S A U E R
infoworld.com + NETWORKWORLD.COM
digital
spotlght
measure of progress.
Agile processes promote sustainable development. The sponsors, developers, and users should be able to
maintain a constant pace indefinitely.
Continuous attention to technical excellence and good design enhances agility.
Simplicity the art of maximizing the amount of work not done
is essential.
The best architectures, requirements, and designs emerge from
self-organizing teams.
At regular intervals, the team
reflects on how to become more
effective, then tunes and adjusts its
behavior accordingly.
Agile development is all about
change: faster time to market,
smaller and more frequent builds,
a welcoming attitude toward new
requirements. But all that change
creates gobs of work for operations, to
Software-defined
infrastructure
infoworld.com + NETWORKWORLD.COM
digital
spotlght
A two-way street
sibilities that extend beyond just slinging code. Although the emphasis of
devops is on increasing operational efficiency to support application development, devops also gives developers
greater opportunity to test as they go
in an environment that mirrors that of
production. Its a lot harder for developers to say, in response to something
blowing up in production: Hey, it
worked fine when I tested it.
Without devops, the whole methodology of smaller and more frequent builds and quick response to
stakeholder feedback can be more
theoretical than real. The embrace
of constant change runs afoul of
legacy processes.
The first principle of agile development is a commitment to software
quality -- not beautiful code for the
ages, but applications that meet the
needs of stakeholders, and evolve
as requirements evolve. One of the
healthiest aspects of the devops trend
is its emphasis on agility in service of
business objectives. Agility, as clich
as that word may have become, is
still the greatest single benefit IT can
bring to business.
infoworld.com + NETWORKWORLD.COM
DYNATRACE
Running tests against the production system gives better input for capacity planning and uncovers heavy
load application issues.
Automated Tests running in CI also help with detecting performance regressions on metrics such as # of
SQL Calls, Page Load Time, # of JS files or Images..
Both Operations and Test Teams usually have a good
understanding of performance as they deal with it every day.
These teams need to educate developers on the importance
of performance in large-scale environments under heavy
load, so they enable developers to become aware of recent
performance problems and how they were solved. This makes
common problem patterns easier to prevent, and Dynatrace
not only helps with identifying those patterns in production
environments, but also in earlier development stages to prevent
them from making it into production.
WHATS NEXT?
Dynatrace brings speed and confidence to DevOps by
helping with various aspects relevant to adopting Continuous
Delivery and DevOps practices. Have you considered making
performance a part of your deployment pipeline? Check out
our 30-day Free Trial and start using Dynatrace in Continuous
Delivery today!
digital
spotlght
Elements of
devops
digital
spotlght
nce upon a
Refresh
tickets
Analyze
problem
Code
solution
Debug
Test
Send document
set to repository
Detect
!
infoworld.com + NETWORKWORLD.COM
10
digital
spotlght
!
Devops :: FALL 2014
Integration and
deployment Workf low
Code
check-in
Continuous
integration
server
Build
server
Test
runner
Developer tools
Defect
report
PASS?
NO
D E P L O Y
PROMOTE
Development
server
PROMOTE
QA
server
PROMOTE
Staging
server
Production
server
! ! ! !
Defect reports
infoworld.com + NETWORKWORLD.COM
digital
spotlght
repositories.
The code editor is usually the core component of
an IDE. The very best code
editors for devops purposes
show you the repository
status of the code youre
examining, so you can tell
immediately if youre looking at outdated source code.
Theyll also refresh your
copy before you introduce
merge conflicts.
Developers build tools
depend on the programming language(s) theyre
writing in, but in the case
of compiled languages, developers
want to be able to fire off builds from
the IDE and capture the errors and
warnings for editing purposes. It also
helps if the code editor knows about
the syntax of the language, so that
it can flag errors in the background
during coding and highlight the
syntax with colors to help developers
visually confirm that, for example,
what they intended to be the name of
an already-defined variable is correct.
When developers write and test
infoworld.com + NETWORKWORLD.COM
12
digital
spotlght
PaaS (platform as a service) occupies an interesting niche in the cloud ecosystem. Its basically a
dev, test, and deployment platform that sits on top
of IaaS (infrastructure as a service).
depending on the run-time platform
and the additional infrastructure.
On the other hand, some configuration management tools such as
Ansible, Chef, Puppet, Salt, and Vagrant work across a wide range of
platforms by using widely supported
languages. Ansible and Salt are Python-based systems; Chef, Puppet,
and Vagrant are Ruby-based.
Ansible takes recipes in YAML
and manages nodes over SSH.
Chef uses a Ruby domainspecific language for its
configuration recipes
and uses an Erlang
server as well as a
Ruby client.
Puppet uses a
custom declarative
language to describe
system configuration;
infoworld.com + NETWORKWORLD.COM
13
digital
spotlght
infoworld.com + NETWORKWORLD.COM
14
digital
spotlght
problem in order
to allow a developer to work on
the problem. It may
also require remotely
entering and running
diagnostics on the users
machine.
Sometimes such problems will not reproduce on
a developers machine. One
common reason for this is that
the development box is too fast
and has too much memory to show
the problem; another possibility
is that the developer has a library
installed that the user lacks; and a
third is that the user has another
application installed that interferes
with yours.
Once youve determined the users
runtime environment, the developer
can use configuration management
tools to create a similar runtime environment in a VM. Vagrant, in particular, is intended for such purposes.
The test VM may run locally on the
developers machine, on a server, or
on an IaaS cloud.
In some cases, the steps to re-
infoworld.com + NETWORKWORLD.COM
15
digital
spotlght
If the modern agile application lifecycle sounds a little like Ezekiels vision of a chariot having wheels within wheels, thats OK: It is. One wheel
set represents the sprints typically
one to two weeks after which an application version is released from development to testing. Another wheel
16
digital
spotlght
digital
spotlght
Q&A
Devops work
Etsy, which describes itself as an online marketplace
where people around the world connect to buy and sell
unique goods, is often trotted out as a poster child for
Devops. The company latched onto the concepts early and
today is reaping the benefits as it scales to keep pace with
rapid business growth. Network World Editor in Chief John
Dix caught up with Etsy VP of Technical Operations
Michael Rembetsy to ask how the company put the ideas
to work and what lessons it learned along the way.
infoworld.com + NETWORKWORLD.COM
18
digital
spotlght
The idea that things were not working correctly came from Chad. He
had seen quite a lot in his time at
Yahoo, and knew we could do it better and we could do it faster. But first
we needed to stabilize the foundation. We needed to have a solid network, needed to make sure that the
site would be up, to build confidence
with our members as well as ourselves, to make sure we were stable
enough to grow. That took us a year
infoworld.com + NETWORKWORLD.COM
19
digital
spotlght
and a half.
But we eventually started to figure
out little things like, we shouldnt
have to do a full site deploy every
single time we wanted to change
the banner on the homepage. We
dont have any more banners on
the homepage, but back in 2009 we
did. The banner would rotate once
a week and we would have to deploy
the entire site in order to change it,
and that took four hours. It was painful for everyone involved. We realized if we had a tool that would allow
someone in member ops or engineering to go in and change that at
the flick of a button we could make
the process better for everyone.
So that gave birth to a dev tools
team that started building some
tooling that would let people other
than operational folks deploy code to
change a banner. That was probably
one of the first Devops-like realizations. We were like, Hey, we can
build a better tool to do some of what
were doing in a full deploy. That
really sparked a lot of thinking within the teams.
Then we realized we had to get
rid of this app in the middle because it was slowing us down, and
so we started working on
that. But we also knew we
could find a better way to
deploy than making a TAR
file and SSHing and Rsynching it out to a bunch
of servers, and then running another command
that pulls the server out of
the load balancer, unpacks
the code and then puts
the server back in the load
balancer. This used to
happen while we sat there
hoping everything is ok
while were deploying across something like 15 servers. We knew we
could do it faster and we knew we
could do it better.
The idea of letting developers
deploy code onto the site really came
about toward the end of 2009, beginning of 2010. And as we started
adding more engineers, we started
to understand that if developers felt
the responsibility for deploying code
to the site they would also, by nature,
take responsibility for if the site was
Its a little
intimidating
when youre
pushing that
big red button that says
Put code
onto website
because you
could impact
hundreds of
thousands
of peoples
livelihoods.
Its about making sure the developers and others deploying code feel
empowered and confident in what
theyre doing and understand what
theyre doing while theyre doing it.
infoworld.com + NETWORKWORLD.COM
20
digital
spotlght
In the early days it was very separate but there was no idea of separation. Depending upon what we
were working on, we would inject
ourselves into those teams, which
led later to this idea of what we call
designated operations. So when
John Allspaw, SVP of Operations
and Infrastructure, came on in 2010,
infoworld.com + NETWORKWORLD.COM
21
digital
spotlght
infoworld.com + NETWORKWORLD.COM
22
digital
spotlght
We do. I could tell you were deploying over 60 times a day now, but we
dont say, Next year we want to deploy 100 times a second. We want to
be able to scale the number of deploys were doing with how quickly
the rest of the teams are moving. So
if a designated ops or development
team starts feeling some pain, well
look at how we can improve the
process. We want to make sure were
getting the features out we want to
get out and if that means we have
to deploy faster, then were going to
solve that problem. So its not around
the number of deploys.
And we wrote
Deployinator,
which is our
in-house tool
that we use to
deploy code,
and we opensourced it
because one of
our principles
is we want to
share with the
community.
infoworld.com + NETWORKWORLD.COM
23
digital
spotlght
www.networkworld.com
InfoWorld
Networkworld
As other people are considering adopting these methods of work, what kind
of questions should they ask themselves to see if its really for them?
It took me a long time to get to the point where I felt comfortable in a relationship to go beyond just dating. It takes longer than people think and
they need to be aware of that because, if it doesnt work after a quarter
or it doesnt work after two quarters, people cant just abandon it.
EDITORIAL
Editor in Chief
Eric Knorr
Executive Editor
Galen Gruman
EDITORIAL
Editor in Chief
John Dix
Managing Editor
Uyen Phan
Bob Brown
Senior Editor
Jason Snyder
Editor at Large
Paul Krill
Senior Writer
Serdar Yegulalp
East Coast Site Editor
Caroline Craig
Newsletter Editor
Lisa Schmeiser
Associate Editor
Pete Babb
Paul McNamara
Ann Bednarz
Managing Editor
SALES
Senior Vice President Digital / Publisher
Sean Weglage
508-820-8246
Vice President, Digital Sales
Farrah Forbes
508-202-4468
Account Coordinator
Christina Donahue
508-620-7760
Jim Duffy
Senior Editor
Tim Greene
Senior Writer
Brandon Butler
Staff Writer
Jon Gold
Web Production
Managing Editor
Ryan Francis
DESIGN
West / Central
Becky Bogart
949.713.5153
E-mail: [email protected]
N. CA / OR / WA
Kristi Nelson
415.978.3313
Art Director
Stephen Sauer
N et w or k w orld la b allian c e
Joel Snyder, Opus One; John Bass, Centennial
Networking Labs; Barry Nance, independent
Images by Shutterstock
FarPoint Group
infoworld.com + NETWORKWORLD.COM
24
SPONSORED BY:
Resources
SPONSORED BY:
G DOWNLOAD HERE
Using Continuous
Delivery to Improve
Software Delivery
Learn more about the
challenges impacting
organizations and how
continuous delivery
processes can be a
key success factor in
accelerating software
delivery.
G DOWNLOAD HERE
Forrester: How
to Accelerate
Innovation with
Continuous
Delivery
In this on demand
webcast with Forrester
analyst Kurt Bittner,
explore how you
can increase quality,
break down silos and
maximize productivity
for developers, QA
and operations teams.
Learn more about
the business value of
Continuous Delivery
with Jenkins.
ON-demand
G webcast
Global Bank
Improves Quality
of Application
Development
Agile Development:
How to Release
Apps at the Speed
of Business
Lack of a centralized
management of
the process and
sporadic access to
development build
assets was hurting
development cycles.
Read how this financial
institution centralized
build assets, cu
development time
in half and added
additional security
controls.
Many companies
plan for changes
and improvements
in software releases
several times a year.
Some like McKesson
Health Solutions have
a business model that
requires their IT team
to respond to hundreds
of releases every year.
Learn how your IT
team can release apps
at the speed of your
business, efficiently
and effectively every
day, every quarter.
G DOWNLOAD HERE
ON-demand
G webcast
DevOps: Culture or
Tools? Its Both
Alan Shimel,
Co-Founder & Editorin-Chief of DevOps.
com, discusses five key
steps for developing a
culture and assessing
tools that can help you
deliver software faster,
more efficiently, and
with great quality.
ON-demand
G webcast
Mastering
Performance and
Collaboration
Through DevOps
DevOps is a hot
topic within the IT
community and is
quickly becoming
the standard for
high performing and
decidedly collaborative
organizations. Join
Gene Kim, co-author
of The Phoenix
Project and DevOps
researcher, as he
discusses performance
metrics, as well as the
cultural and technical
practices, that enable
high performance.
ON-demand
G webcast
infoworld.com + NETWORKWORLD.COM
25