Welcome!

Cloud, Big Data, and the Internet of Things

Automic Blog

Subscribe to Automic Blog: eMailAlertsEmail Alerts
Get Automic Blog via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Continuous Integration, DevOps for Business Application Services, Continuous Testing, DevOps Journal

Blog Post

What Is DevOps [FAQ] By @Automic | @DevOpsSummit [#DevOps]

Both Dev and Ops are responsible for the health of the application after it has been released into production

What Is DevOps [FAQ]

By Georg von Sperling

Remember when developers used to focus on creating and building a piece of software, and operations focused on maintaining stability and control after release of software into production?

This is how DevOps used to happen. Or rather, it was about Dev and Ops. However, with the advent of agile methodologies, the way software is developed and maintained has evolved - and now both Dev and Ops are responsible for the health of the application after it has been released into production.

To make sure you've caught up on this "new version" of this old concept, let's take a dive into what DevOps means today and how you can use it as part of your application release.

What is DevOps?

DevOps is a new way of Dev and Ops teams working together to get stuff done. DevOps is when everyone in a service delivery process is communicating with each other every step of the way. It's everyone finding the right tools, working together, failing together and improving together. And it's still Gantt charts and critical paths, although a new set of ‘agile' tools is replacing those.

What DevOps isn't: Installing a new set of tools. When a business installs a new set of collaboration tools for example, that's not an example of DevOps - that's just installing a new set of tools. And when you issue a memo saying you will have DevOps by a set date - that's just dictatorial management. The distinctions are fairly clear between what DevOps is and isn't, but they're important for anyone involved in an application to know.

What differentiates DevOps from Agile?

You may have heard DevOps compared to Agile. Here's the difference between the two:

Agile refers to software methodologies where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. These include adaptive planning, evolutionary development, early delivery, and continuous improvement.

The Agile development model enables the enterprise to produce higher-quality software that is more in tune with user needs and offers swifter release cycles. However, enterprise IT environments are rarely optimized to leverage the software acceleration and innovation advantages of Agile release cycles. Not only are traditional development environments slow to provision, they are difficult to change once created.

Implementing Agile development requires a disciplined approach to managing the high amounts of automation involved. Virtualization technology can be used to run all aspects of the enterprise IT environment, allowing organizations to provide the elasticity to scale resources to optimize both Agile development and DevOps initiatives.

Implementing DevOps to increase speed and innovation requires adopting agile development methodologies, and Agile development requires quicker and more frequent release cycles.

What's it like in practice?

DevOps has been adopted by a number of large enterprises, which all adapt it to their own style but share the overarching culture. Here's an example.

The Etsy Story

Online supplier of clothes and crafts Etsy, which does 50 deploys per day, has built a reputation of success for its continuous deployment and DevOps practices. The company has grown continuously since it started in 2005 and always keeps up with growth by making small but continuous updates to the site.

To do this, Etsy adopted a fully automated deployment pipeline; mandatory and extensive IRC-based communication; developer virtual machines; continuous integration (where developer changes are tested in Jenkins without committing to trunk); one-click deployments and thorough app and system monitoring.

When there's an outage or near-outage, everyone is invited to a post-mortem - or a blameless learning experience about what's happened, where everything is recorded for future reference. There are also on-call policies for operations, development, payments and support to keep everyone aware of day-to-day issues that face the site for new feature development or improvements.

So DevOps at Etsy is Agile release cycles, mixed with collaborative tools, mixed with an all-in-it-together unsiloed mentality. There are similar stories at Netflix, Facebook, Amazon, Google... all huge companies that deploy incrementally and daily, to fail small, improve fast and, at the end of the day, deliver better results to their end users.

How can I get it?

The example of a huge company might alienate. It's DevOps on a massive scale, with a budget enough to create custom tools and personnel time enough to constantly develop initiatives.

But DevOps can take any form you like, you can introduce it to your organization at any time, and it can start small - in fact, that's the best way. Any ‘big bang' DevOps initiative is doomed to fail because if you force everyone to suddenly collaborate, there'll be uproar. It's human nature. The overarching goal is improvement - and that can work anywhere. You just have to be a strong leader, take a step-by-step approach and encourage participation.

For example, try introducing an agile project in one area, in a safe situation with mandatory collaborative communication and a largely automated operations workload. As a constant during the project and after, work with feedback from users, hold DevOps forums after projects and keep iterating. Set targets like cutting deployments in half - it'll get people cutting out unnecessary steps and will make processes more repeatable - and by doing this, knowledge will also move from the heads of the few to the many as it's shared.

What does DevOps mean to you? Have you ever been part of a successful - or even unsuccessful - DevOps implementation in your workplace? And do you have any tips or suggestions on putting it in place in an organization?

Read the original blog entry...

More Stories By Automic Blog

Automic, a leader in business automation, helps enterprises drive competitive advantage by automating their IT factory - from on-premise to the Cloud, Big Data and the Internet of Things.

With offices across North America, Europe and Asia-Pacific, Automic powers over 2,600 customers including Bosch, PSA, BT, Carphone Warehouse, Deutsche Post, Societe Generale, TUI and Swisscom. The company is privately held by EQT. More information can be found at www.automic.com.