Better Software Faster: An Intro to DevOps
What is DevOps?
The term “DevOps” seems to be everywhere these days – and with good reason.
In the fast-paced software world, teams need to release fast and often to stay on top. Older, more traditional development models can’t keep up to the high-demand, high-growth industry today.
Development and operations teams would traditionally work separately, but when you’re aiming to release more frequently and need to move fast, it’s far from the ideal setup. The two teams need to work together, with seamless communication and collaboration, to allow for better development, testing, releasing, and maintenance of software.
In short, this is DevOps: bringing development and operations together. Teams can release more reliable software more rapidly.
“DevOps isn’t any single person’s job - it’s everyone’s job.” - Atlassian
A brief history of DevOps
In 2009, John Allspaw and Paul Hammond of Flickr deliver their talk: ‘10+ Deploys per Day: Dev and Ops Cooperation at Flickr’. They address the traditional conundrum of Dev versus Ops, making the case that the only sensible way to build, test and deploy workable new software is to make development and operations transparent and integrated.
Sounds familiar, doesn’t it? You can watch the talk below:
In the same year, disappointed he was unable to see the above talk in person, Patrick Debois organises his own conference: DevOpsDays. To continue the discussion on Twitter about integrating development and operations, he shortens it to #DevOps.
Close to 10 years on, DevOps is more widespread than ever. The fundamental message, though, has remained.
Getting started with DevOps
According to the Puppet Labs’ 2015 State of DevOps Report, companies that practise DevOps are twice as likely to exceed their goals for profitability and market share.
On top of that, they’ll benefit from:
- 30x more frequent deployments
- 60% higher change success rates
- 60x fewer failures
- 160x faster recoveries
DevOps is all about teamwork, but how do you get your teams started? And if you’re already doing DevOps, how do you keep improving, to work faster and better than ever?
Continuous delivery and the importance of feedback
Teamwork is key to success, and building the best software is about more than bringing dev and ops together, though that is a major step. You also need to work closely with your users.
We know that DevOps teams deploy more frequently. This means they’re in the ideal position to incorporate user feedback and roll out fixes and features quickly. It’s a level of responsiveness that users notice and appreciate – continuous delivery means happy customers and successful software.
Automation plays a big role in continuous delivery. Not only does it make building software a more efficient process, but it also helps reduce human error, which is something even the best of teams can’t always avoid!
Automated testing is the first, and most significant, step to take, but you can go further with automation. Take HipChat as an example. If your teams embrace ‘ChatOps’ – integrating HipChat with your other development tools, and even with social media – you can automate builds, notifications, JIRA ticket creation, and much more.
The right software
There’s no set “DevOps software” that you can start using to immediately become a “DevOps organisation”, but there are tools that will empower your teams to adopt a collaborative, DevOps culture. Let’s take a look at the Atlassian tool suite as a starting point.
Because they cover the whole software development life cycle, your teams can standardize on the Atlassian toolset. Your dev and ops teams will be speaking the same language, which already puts them ahead. From there, they’ll keep on improving.
In this post, we’ve given you an introduction to what DevOps looks like for teams, but this is simply a starting point. To learn more about building products, DevOps style, download DevOps 101. In this eBook, Atlassian shares how its teams got started with DevOps, and the positive results they’ve seen since then.