DevOps Strategy, Open Source, and Business Agility
DevOps has grown to become a common item on the agendas of CTOs and CIOs since starting in 2008 as a grassroots movement. There are several reasons for this. To many organizations, DevOps is the continuation of agile in development to agile in IT operations. For others, DevOps is an opportunity to refresh an agile transformation that has gone stale, or to attempt an agile transformation that never even started. To yet others, DevOps is an opportunity to improve application delivery throughout the organization, irrespective of the development processes in place, traditional, agile, hybrid, or custom (a multi-speed project environment). DevOps originated in IT operations and was very quickly embraced by all IT stakeholders and has reached the mainstream far quicker than the agile movement did, of course helped by agile paving the way.
Digital transformation with DevOps
IT organizations must become nimble and work together to stay relevant. The consumerization of IT has changed customer expectations and IT must adapt its culture and processes to deliver apps and features faster.
With a complete DevOps strategy, organizations can begin the culture, process, and platform changes needed to meet the new demands. The result is an IT organization that can deliver business innovation faster.
3 challenges to IT success
You're now a software company
Businesses are changing. Banks are more than banks; they're transaction-processing companies. Oil and gas companies are also geographic information system (GIS) companies. Pharmacies are ever-more reliant on electronic health records. Continuing to do business the way it's been done in the past means falling behind.
You need a continuous competitive advantage
Consider camera manufacturers. They've seen their business transform from standalone devices to a feature on every mobile phone. New businesses with new services start up every day, creating new ways of engaging with markets. If you can't continually develop new advantages and adapt as the business changes, you won't be relevant for long.
Your competition is everyone
From startups with a new way of delivering products and services to established businesses using their infrastructure and knowledge to grow into entirely new markets, competition can come from anywhere. To stay ahead, you can't be reactive to changes in competition. You must be proactive.
What's DevOps, anyway?
DevOps is an approach to culture, automation, and platform design to provide better business value and responsiveness. The goal is to increase the speed and flexibility with which new features and services are delivered.
In other words, DevOps is an approach to developing software in which development and IT operations (and other IT professionals) work closely together, whereas traditionally they've worked separately. The ultimate goal is to become more agile so they can deploy application services faster and get them to market faster. The idea is that collaboration, communication, integration, sharing, and automation result in an efficient, continuous cycle of software development.
- Culture centered on collaboration and openness
- Automation to accelerate application delivery
- A dynamic, programmable platform
This is all made possible through rapid, iterative, and high-quality IT service delivery. DevOps helps you embrace a “go fast” mode of IT while modernizing classic infrastructure. Linking classic with cloud-native IT is fundamental to sharing data and applications, making them accessible throughout your entire IT environment.
With DevOps, those that need power the most, get it. Developers work closely with the rest of IT to speed software builds, tests, and releases—without sacrificing reliability.
How to Implementing DevOps
DevOps isn't infrastructure. It's not something you deploy and forget. The key to success is trust. Beyond that, implementing DevOps requires changing processes and integrating the right tools. Depending on your organization, this journey can be challenging, but the payoffs are massive.
The 3 ways to DevOps
Part 1 : Open your culture
DevOps is as much a cultural shift as it is implementing processes and tools. The culture of open source software projects can be a blueprint for how to build a DevOps culture. Take steps to encourage experimentation, (fast) failure, transparency in decision-making, and recognition and rewards to boost trust and cooperation. All of these factors help to facilitate an open culture and overall acceptance.
Part 2 : Automate to accelerate
The fastest ROI for your DevOps initiative is automation. Automating your existing processes and applications lets you deliver software faster and reclaim time for new innovation. Automation helps your smartest people do the most important things by automating repetitive and mundane tasks.
Part 3 : Get the right platform
With the right platform, you can best take advantage of DevOps cultural and process changes. Infrastructure platforms are rapidly evolving to dynamic, programmable platforms that can help you migrate to modern cloud and container-based applications.
The Future of DevOps
Agile and DevOps practices are also influencing software architecture with microservices architecture and the use of containers, and this is creating a new IT wave that is starting to grow and I believe will dominate software architecture thinking in the decade ahead. In a nutshell, the primary reason is that for DevOps-style continuous delivery to work as intended matching software architecture is required that allows changes to be made to a live system without having to bring it down. Containers(Docker, Rocket, etc.) are getting more popular for microservices because they allow for good separation of dependencies (a key aspect of microservices), and they are lightweight so many (thousands, millions, even billions) can be generated in an environment and tend to be used as runtime objects. Unlike virtual machines that persist as part of the infrastructure, containers pop up and down mostly during runtime and therefore conserve resources.
Conclusion
- DevOps is on CIOs’ and CTOs’ agendas and has reached mainstream awareness
- Agile and DevOps are complementary but DevOps is beginning to be understood as a set of ideas and principles that can be implemented across the whole enterprise
- Organizations typically have projects that deliver applications at varying cadences, depending on the use of traditional, agile/lean, custom, or hybrid processes, leading to what is called a multi-speed project environment
- DevOps is also being applied to multi-speed project environments, not only agile ones
- DevOps solutions typically comprise features that cover release management, orchestration, and automation, and continuous delivery
- The most influential automation tool to arise from DevOps is continuous integration and continuous delivery(CI/CD)
- The adoption of agile development and DevOps and the desire to achieve rapid changes in production (when the business requests it), and is driving the use of microservices architecture (MSA) and containers
- As MSA and container adoption grows, it will disrupt the release management solution market, but vendors are generally ready for this, with support for Docker already quite common.