DevOps, in the simplest of terms, is the efficient collaboration of any teams, not just dev and ops teams, to create productive, cost efficient results. Irrespective of business type, whether startups, small businesses or large enterprises, a DevOps strategy in place can do wonders.
In general, devs focus on innovation and ops focus on stability and control. While they are two completely different issues in which to focus on, it can’t be denied that one does not work without the other. An efficient, reliable output is feasible only if there is proper integration of the teams.
And that’s where a DevOps strategy plays its role.
Let’s now delve further into DevOps to understand a bit more before we discuss some of the myths and facts.
Consider this: A startup or small business is developing apps. A possible scenario is as such:
- Smaller teams, probably changing teams over time
- Business runs on a low budget envisioning higher goals
Here are some issues that may arise (probably issues you can relate to!):
- QA is clean and free of bugs, but production ends up with bugs (uh-oh!).
- There is a never-ending waiting process. For example,testers wait until devs complete the entire code, and vice-versa.
- It’s a whole new process when it reaches the next team. For example, devs have the code ready and send it to ops for production. Due to a lack of communication in the early stages of the development, ops is probably facing a nightmare aligning production and development needs, thereby delaying it going live.
- Finger-pointing becomes easy. A lack of collaboration makes it difficult to figure out the actual cause of the problem.
- Delivery times become uncertain more than half the time.
And a lot more issues! (Right?!)
The solution is using DevOps. (Simple enough?) The core determinant of an organization’s success depends on its development time. This is particularly true for startups and small businesses which are on the constant look out for new projects. The mantra becomes increased performance at lower costs.
An effective collaboration among the teams right from the start of the development process saves time for each member of the teams. This positively affects the overall time to market.
Read more here to learn how to dissect developer workflows to save time. Remember that a typical development process has to move through several checkpoints before it reaches the DONE stage.
However, DevOps is a misconceived notion. Is it a tool? A skill to master? Is DevOps limited to specific teams? Is it all about collaboration? The questions never end.
Let’s straighten this out by trying to understand a few myths:
Myth #1: DevOps is a tool or a skill to master.
No! No! And, NO! DevOps tools do exist. They ease and support developer flow, continuous integration, automation and monitoring. But, DevOps is not a tool. DevOps is a culture and/or methodology.
Myth #2: DevOps is all about effective communication.
While a DevOps strategy does improve collaboration, having just effective collaboration with wasteful processes is still no good. (Not even in the neighborhood of good.)
Myth #3: DevOps is setting up the right tools.
A DevOps approach is not confined to setting up the right tools. It’s about understanding customer needs in a proper and efficient way. Then, typically reducing overhead throughout the development process.
To better understand the challenges many face when delivering DevOps to meet customer needs, read here.
Myth #4: Effectively solving customer problems calls for a DevOps approach.
While customer problems can be minimized and attended to quickly while using a DevOps approach, an organization using this approach is not entirely tied to meeting customer needs. What about issues that internal teams face? How about the need to take on and finish several projects? What about the need for multiple deployments, easier new developer ramp ups, monitoring, better quality code, and zero bugs in production? All of those need a DevOps strategy in place, too.
Myth #5: DevOps is for the cloud.
Now, that’s underestimating the power of DevOps! A DevOps approach is applicable to any infrastructure. The benefits of the cloud, including spinning up an infrastructure within minutes, can be fully enjoyed and comprehended while using a DevOps approach. However, that does not create a DevOps/cloud-only limitation.
Knowing that DevOps is not restricted to a particular infrastructure or business type, let’s check out the next myth.
Myth #6: DevOps is THE solution.
Whoever thinks that a DevOps strategy in place solves all issues is naive. It’s cannot (ever!) be forgotten that DevOps is a human problem. Issues arising from unskilled labor cannot be fixed even with the best DevOps practices. A proper strategy requires a thorough review and analysis of all processes as well as the culture of the existing infrastructure.
Let’s understand how the industry views DevOps. Are organizations using a DevOps strategy? How effective does it turn out to be, and what purposes does it solve?
Here are some figures from the 2013 State of DevOps Report from PuppetLabs (more than 90 countries surveyed, with a 70% response from IT operations), and What Smart Businesses Know about DevOps from CA Technologies (1,300 senior IT decision-makers surveyed):
1. 66% of the organizations have a DevOps strategy or are planning to have one.
2. Only 16% of the organizations saw DevOps as a cost reducing driver; 49% voted for DevOps for better performance, faster time to market, and better ROI.
3. 48% of the respondents felt the major hurdle to not using DevOps was the lack of knowledge, while 33% felt they didn’t have the right tools and time to implement it.
4. 84% put version control systems at the top of the list of tools that supports a DevOps initiative.
You can learn how to validate your DevOps architecture, especially if you are using a cloud infrastructure, in a two-step process. First, understand your business needs and then validate your DevOps architecture with this checklist of 7 questions.