"The DevOps movement is built around a group of people who believe that… a combination of appropriate technology and attitude can revolutionize the world of software development and delivery." Stephen Nelson-Smith, Technical Manager
You want to do great work. If you’re a developer, that means experimenting, building, and getting killer new features in the hands of users – fast. There’s nothing worse than having your latest piece of creative genius sit on the shelf.
If you’re in ops, the end goal is probably different: keep the lights on.
Thus, developer incentives have been traditionally focused on the new, whereas ops is focused on stability and the current state (read: if it ain’t broke, don’t fix it). Not only are developer and DBA incentives at odds, but typically, the groups have also been divided physically – often in separate offices, even different cities.
Despite all parties’ best efforts to do what’s right for the business, the upshot can mean that making changes is a deliberate but slow process, costs are high, and the business is not exactly a portrait of agility.
App development can no longer thrive in this model. If your business depends on the ability to innovate quickly, if you’re under regulatory pressure to do things differently, if you have startups nipping at your heels, then perhaps you should consider breaking down the barriers between development and operations – and explore DevOps.
DevOps aims to more closely align developers and ops – physically, organizationally and even philosophically – to facilitate collaboration between the two groups. In a DevOps model, teams are located in physical proximity to each other and incentivized on shared goals, blurring the lines between traditional developer and ops roles. Developers take on some responsibility for ops, like performance testing and writing ops automation code. Similarly, ops teams get involved earlier in development to understand what the ops environment needs to look like in order to support the application requirements; and how to operationalize for a smooth, ongoing release schedule. The premise is that when the people building the product (e.g., the app, the feature) are also in some sense responsible for running it (and vice versa), it will work better. And what used to be a six-month project to add a new feature can be cut to six weeks.
By reducing the friction of conflicting goals, DevOps supports accountability, continuity and shared outcomes across both groups, and throughout the lifecycle. Responding to business requirements faster, with more grace and agility, gets a whole lot easier.
As companies like Etsy and Facebook have proven, a DevOps model can drive faster development and deployment without sacrificing stability and quality of service. In fact, it can lower the failure rate of new releases, speed up the time to recovery after failures and increase overall uptime. That is, it can make developers, ops and the business happy.
"May your nights be boring; may your pagers never ring."
Charity Majors, Production Engineer at Parse, now part of Facebook
DevOps dovetails with a bevy of other approaches to building technology that emphasize speed. Move fast, fail fast – this is the common trope among the most innovative technology companies, which many other organizations are trying to emulate. Iterative development methodologies, continuous delivery (CD) and the cloud are all meant to help you move faster. DevOps amplifies your ability to do it right.
In the last decade, iterative development methodologies have become more popular, trumping traditional waterfall development with speed and flexibility. With less pressure on upfront design, you don’t have to have everything lined up before prototyping and can change direction if needed.
Non-stop iteration calls for ongoing releases. As companies like Etsy prolifically blog about, CD allows you to quickly find and resolve issues and deliver software faster. By continuously integrating code – often multiple times per day – you can replace monolithic deploys with small deploys. The result? You’re set up to move fast, fail fast (and small), and fix issues quickly.
Cloud computing – either via public cloud providers like Amazon Web Services or private cloud deployments using technologies like OpenStack – is equally important to shipping apps faster. It enables developers to spin up a VM quickly to try out a new feature. It allows operators simulate large spikes in traffic and other performance scenarios.
It comes as no surprise that companies interested in iterative methodologies, CD and the cloud are also embracing DevOps.
When you create a symbiotic relationship between developers and ops, you’re likely to see shortened development cycles, more frequent deploys with lower failure rates, reduced downtime and lowered risk – not to mention improved working relationships.
The 2014 State of DevOps report shows how high-performing IT organizations working within a DevOps environment are more agile and reliable:
They deploy code 30 times more frequently, with 50% fewer failures than their lower-performing counterparts
They have 8,000x faster lead times than their peers
They achieve 12x faster mean time to recover (MTTR)
According to the report, companies with high IT performance are also 2x as likely to exceed their profitability, market share and productivity goals.
"MongoDB changed devops from a necessary evil to something that is transforming the company, helping us move quickly. It makes innovation easy and is universally recognized at our company because it’s been so impactful on our growth."
Hudl CTO Brian Kaiser
MongoDB excels in a DevOps environment, where accelerating change is acceptable, encouraged and quite often, the lifeblood of the business. With MongoDB, companies are pushing out killer apps in weeks – not months – that scale to millions of users.
Developers have always loved MongoDB. It aligns well with accelerating change thanks to its document data model and dynamic schema. Relative to relational databases, which require substantial upfront investment (and decisions that may be hard to reverse), developers using MongoDB are accustomed to getting started quickly and iterating as they go.
Production engineers, sysadmins and their ops cohorts are now falling in love with MongoDB just the same. MongoDB has always had an architecture designed for horizontal scalability and high availability. In recent years, it has added support for granular alerting, backup, disaster recovery and automated deployment – including provisioning, scaling, upgrades and maintenance. These capabilities and more are delivered through MongoDB Atlas, a new cloud database service that allows you to get up and running with MongoDB in the public cloud in minutes. With MongoDB Atlas, you only pay for what you use. At the click of a button, you can scale up and down when you need to, with no downtime, full security, and high performance.
MongoDB is a database that developers love
Dynamic schemas to move faster
Drivers for the languages you already use
Expressive query language to set, sort and aggregate data without writing extra code
Runs circles around RDBMS dev cycles
Simple and elegant
Saves you time
Lets you ship code faster
MongoDB is the system operators worry about the least and enjoy managing the most
Single click deployment and upgrades to automate ops with no downtime
An architecture that fits into your existing infrastructure and processes
Native scaling and high availability so you don’t have to intervene manually
Runs in the cloud or in your data center
Stable and hardened
Saves you budget
Lets you sleep through the night
It may not be realistic to flip a switch and instantly usher in a new culture. But you can start to adopt the elements of a DevOps model that make the most sense for your company.
For a DevOps model to succeed, it needs investment and leadership to support the shift. It needs shared goals that align developers and ops. It needs approaches for iterative development and swift deployment. And it needs technologies like cloud computing and MongoDB that support the other DevOps pillars to get your company moving faster while still keeping the lights on.