What is DevOps?
DevOps (a portmanteau of “Development” and “Operations”) aims at establishing a culture and environment wherein both software developers and other IT professionals collaborate and share services to improve the handover of software between the development and operations process through greater levels of automation. Thus it raises the chance for faster and more frequent delivery of high quality software.
Through DevOps, software deployment becomes so easy it can be done many times a day, alleviating those stressful moments of the software cycle.
And moreover, DevOps has the potential to let you improve the control and stability in your application’s deployment phase no matter what the operating platform: on-premises, fully cloud-based, or hybrid.
The current scenario
Despite DevOps being a newbie, a large number of companies have initiated, if not completely transitioned to that culture.
In fact, a survey of 700 IT decision-makers sponsored by Rackspace in 2015, found that:
- 79% of the respondents, who said they hadn’t yet embraced a DevOps approach, said they were planning to begin that journey before the end of 2015.
- Over 55% of the surveyed companies reported they are already using DevOps practices or approaches. U.S. companies are leading that charge — 66% of companies have implemented DevOps as opposed to 40% in the U.K. and 50% in Australia.
Some common roadblocks for companies to embrace DevOps
- Too many jobs and people provisioned with existing tools and technologies
- They don’t know how to do it or are not sure of it
- There’s a lack of leadership on what needs to get accomplished
It’s true that people within IT are working in roles that have traditionalized separation of dev and ops for decades, and suddenly to change this, may seem impossible.
This is applicable to the large companies established decades ago and not for SMEs or start-ups. But even so let’s see, what adopting DevOps culture did for a big old company, like IBM for instance.
IBM Software Group, is larger than most enterprise software groups with, currently 519 major software product titles, 36,000 software engineers, 116,000 virtual machines supporting development and testing, and 44,000 physical servers.
Getting teams and processes of that size – while cutting waste associated with outdated ways and duplicate toolsets – is no easy feat. If it can be done, the benefits are substantial.
According to Dibbie Edwards, VP DevOps for hybrid, continuous engineering and application lifecycle management development at IBM, IBM has gone from spending about 58% of its development resources on innovation to about 80%.
And what did that shift in focus do to IBM’s time frame? In 2008, IBM’s time to project initiation took 30 days. That was reduced to between two and three days in 2014. Groomed backlog was reduced from 90 days to one day and sprint test times from five days in 2008 to 14 hours. Overall time to development went from 120 days to three, with time between releases reduced to three months from 12 months.
The last two points for roadblocks can be easily solved if the company aligns with a good service provider. The real problem regarding DevOps is, from the employee side.
Developer burnout is one such problem and this is due to the fact that, although the framework of workplace processes has evolved, the culture around it has not. Another cause for developer burnout is, all work and no achievement. It is equally important to incorporate tools and processes that support the human aspect of DevOps and enable engineers to have productive, balanced lives while coping with all of the new challenges.
Things to consider while adopting DevOps
Providing services to the customers according to your business model, focusing on any of the aspects of: agility i.e. how rapidly you make a change based on the customer feedback or the market conditions, reliability of your service, efficiency i.e. the managing of costs, or speed of deployment of your services to your customers, is not all. Optimizing those aspects to deliver to your customer while leveraging your company infrastructure should be what companies assimilating DevOps culture into their organization, should also consider.
The central idea is to break down the walls between the development and operations teams so that they can work together to generate a superior result in less time than before.
Also in today’s world of rapidly evolving technologies like Cloud computing, Container technology (e.g. Docker), Micro services etc., all of which can ensure an effective DevOps approach – without backing their use with strong implementation processes (e.g. continuous delivery and deployment), application or workload scenario support, their benefits will be diminished.