Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Practical DevOps, Second Edition

You're reading from   Practical DevOps, Second Edition Implement DevOps in your organization by effectively building, deploying, testing, and monitoring code

Arrow left icon
Product type Paperback
Published in May 2018
Publisher Packt
ISBN-13 9781788392570
Length 250 pages
Edition 2nd Edition
Tools
Concepts
Arrow right icon
Author (1):
Arrow left icon
joakim verona joakim verona
Author Profile Icon joakim verona
joakim verona
Arrow right icon
View More author details
Toc

Table of Contents (12) Chapters Close

Preface 1. Introducing DevOps and Continuous Delivery 2. A View from Orbit FREE CHAPTER 3. How DevOps Affects Architecture 4. Everything is Code 5. Building the Code 6. Testing the Code 7. Deploying the Code 8. Monitoring the Code 9. Issue Tracking 10. The Internet of Things and DevOps 11. Other Books You May Enjoy

Introducing DevOps

DevOps is, by definition, a field that spans several disciplines. It is a field that is very practical and hands-on, but, at the same time, you must understand both the technical background and the non-technical cultural aspects. This book covers both the practical and soft skills required for a best-of-breed DevOps implementation in your organization.

The word DevOps is a combination of the words development and operation. This wordplay already serves to give us a hint of the basic nature of the idea behind DevOps. It is a practice where the collaboration between different disciplines of software development is encouraged.

The origin of the word DevOps and the early days of the DevOps movement can be tracked rather precisely. Patrick Debois is a software developer and consultant with experience in many fields within IT. He was frustrated with the divide between developers and operations personnel. He tried getting people interested in the problem at conferences, but there wasn't much interest initially.

In 2009, there was a well-received talk at the O'Reilly Velocity Conference: 10+ Deploys per Day: Dev and Ops Cooperation at Flickr. Patrick then decided to organize an event in Ghent, Belgium, called DevOpsDays. This time, there was much interest, and the conference was a success. The name DevOpsDays struck a chord, and the conference has become a recurring event. DevOpsDays was abbreviated to DevOps in conversations on Twitter and various internet forums.

The DevOps movement has its roots in Agile software development principles. The Agile Manifesto was written in 2001 by a number of individuals wanting to improve the then current status quo of system development and find new ways of working in the software development industry. The following is an excerpt from the Agile Manifesto, the now classic text, which is available on the web at http://agilemanifesto.org/:

"Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more."

In light of this, DevOps can be said to relate to the first principle, Individuals and interactions over processes and tools.

This may be seen as a fairly obvious beneficial way to work—why do we even have to state this obvious fact? Well, if you have ever worked in any large organization, you will know that the opposite principle seems to be in operation instead. Walls between different parts of an organization tend to form easily, even in smaller organizations, where at first it would appear to be impossible for such walls to form.

DevOps, then, tends to emphasize that interactions between individuals are very important, and that technology may possibly assist in making these interactions happen and tear down the walls inside organizations. This may seem counter-intuitive, given that the first principle favors interaction among people over tools, but my opinion is that any tool can have several effects when used. If we use the tools properly, they can facilitate all of the desired properties of an Agile workplace.

A very simple example may be the choice of systems used to report bugs. Quite often, development teams and quality assurance teams use different systems to handle tasks and bugs. This creates unnecessary friction between the teams and further separates them when they should really be focusing on working together instead. The operations team may, in turn, use a third system to handle requests for deployment to the organization's servers.

An engineer with a DevOps mindset, on the other hand, will immediately recognize all three systems as being workflow systems with similar properties. It should be possible for everyone in the three different teams to use the same system, perhaps tweaked to generate different views for the different roles. A further benefit would be smaller maintenance costs, since three systems are replaced by one.

Another core goal of DevOps is automation and Continuous Delivery (CD). Simply put, automating repetitive and tedious tasks leaves more time for human interaction, where true value can be created.

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image