The idea of DevOps originated a little over a decade ago with a desire to ensure efficiency in the overall software development and delivery process. Constant operational hurdles that have been hampering flawless and frequent delivery of applications have led organizations to think beyond and to come up with continuous improvements in their processes and tooling. Thus, DevOps has evolved into a solid practice to aid enterprises with an end-to-end feedback enabled framework that spans across various functions and stakeholders to design, develop and deliver quality software.
The IT landscape over the last few years has changed significantly. Companies are building secure applications and large volumes of workloads are being transformed to the public cloud. Nowadays, firms are actively applying AI technologies to transform their businesses more than they were just a few years ago. Some companies are still investing heavily on building their own complex AI platforms involving expensive infrastructure, but most companies have realized the value in leveraging AI as a service offered by leading cloud providers.
Digital initiatives and IoT have further increased the use of cloud-based services and the need for automated deployment and delivery of applications and services. Seamless integration of the CI/CD pipeline for on-premise or deployment to the cloud is possible only with a solid DevOps practice. For organizations that are ambitious and striving to get ahead of the game in order to accelerate the growth of their businesses, DevOps is indispensable.
To successfully implement some of the current major trends in IT, organizations are required to have a mature DevOps practice in place. In October 2019, Gartner published its predictions on technology trends for 2020. We’ll pick a few from those to discuss the crucial role that DevOps is expected to play in them, and the critical success factors for companies to be advanced forward.
Strategic Trends in IT and the Role of DevOps
Gartner’s analysis on strategic technology trends for 2020 has hyperautomation as the number one trend. Hyperautomation, which enables organizations to function as autonomous digital enterprises, will be leveraging latest technologies such as 5G networks, intelligent edge devices, advanced data analytics, expanding RPA with AI, etc. Firms aspiring to implement AI and ML on a grand scale will want to take advantage of the diverse range of complex machine learning algorithms implemented on scalable cloud infrastructure and offered as services.
Instead of recreating everything from scratch, organizations will simply upload their data to the cloud and train algorithms based on their business processes and needs. For hyperautomation initiatives to be successful, organizations need to implement end-to-end fully automated DevOps processes with the relevant tooling to specifically address the varied needs from several perspectives. Speed, agility and ensuring an error-free repeatable process will be basic requirements for hyperautomation.
On-demand deployment of transient infrastructure on the cloud, driven by infrastructure as code and configuration as code will be a primary requirement for rapid development and testing of artifacts that form components of hyperautomation. Fully automated pipelines for the creation and deployment of containers will become a core requirement not only for hyperautomation but in general for most applications. The involvement of DevOps to manage data virtualization, obfuscation and uploading data to the cloud will become more significant to increase the overall efficiency of the automated CI/CD pipelines for hyperautomation projects.
Democratization of IT
Democratization of technology is about making technology more accessible to common people. Gartner has predicted this to be another major trend for 2020. Smartphones and the internet have already played a major role on this front and have enabled people with the technology, tools and data to help make better decisions. Democratization of technology in the IT world is about enabling the IT community and it gets more and more interesting day by day.
With container technologies such as Docker Desktop that can run on a user’s laptop, a developer now has access to pre-configured container images of various operating systems and other platforms that can be pulled from container registries within seconds. Cloud services such as IaaS, SaaS and PaaS add to this by providing more independence to the development teams apart from making the entire process agile and faster. Democratization at these levels also leads to setting a different level of expectations on the overall velocity of development and delivery of applications. All these services in isolation, i.e. when not connected together through a strong DevOps process and toolset, will not produce the expected level of agility and speed.
An end-to-end DevOps process works all the way: from triggering the build of a container image as the code is built, deploying an environment on the cloud, integrating with other components, testing artifacts with automated testing and finally to producing a production-worthy artifact. When IT teams get more democratic, they will run their domain the way they perceive beneficial and produce the best possible outcome with quality and speed to make their teams and the organization successful. DevOps will be the means to achieving that goal.
Internet of Things
Edge devices are getting smarter by the day. Mass manufacturing of intelligent controller boards, such as the ESP 8266 and ESP 32, is making it extremely cheap to build edge devices with data storage and processing capabilities locally within the device itself instead of communicating with a cloud based central system for command and control. However, such intelligent devices need to be kept up-to-date on security patches, bug-fixes, firmware updates, etc. A solid DevOps framework that integrates testing of patches/fixes, and deploys tested artifacts to remote edge devices is an absolutely essential component of an organization’s IoT ecosystem.
Some controller boards run light-weight versions of Linux and have the capability to additionally run a Docker engine. This helps ensure consistency through deployment of updated containers via a DevOps pipeline to the edge devices. Convergence of cloud and digital transformation initiatives, especially in IoT over the last few years, has widened the scope of DevOps. Major cloud providers are already offering several services to integrate edge devices with a full-fledged CI/CD pipeline leveraging DevOps processes and tools.
Application developers and IT managers spend a great deal of time either fixing bugs or recovering systems from breakdowns caused by bugs. If best practices, processes and tools are put to proper use, this wasted effort can be greatly reduced and the entire development and delivery process could be made more efficient. Blockchain demands building a strong foundation in IT and raises the need for higher quality in software development, delivery and IT operations on the whole.
Organizations have to take a closer look at their current capabilities and process maturity before embarking on a journey involving blockchain. Firms that have faced failures with blockchain can certainly vouch for the fact that the failure wasn’t caused by the concept of blockchain or the algorithms that drive it. Rather they had resulted because the rest of the IT systems weren’t reliable enough to keep up with the strict demands of the blockchain systems. DevOps and automation will certainly help improve the security, quality, reliability and repeatable deployment of applications. When the systems that feed the blockchain application go through such increments of improvement, the net effect is that the organization is getting closer to implementing a solid blockchain solution.
Firms are moving fast toward the cloud for IaaS and PaaS services. As DevOps, CloudOps and SecOps are converging, CIOs are becoming conscious about building organizations that encapsulate these functions under one leadership in order to set shared goals and ensure synergies across these functions. Organizations with strict compliance requirements and governance would need to involve their operations teams to lay the rules regarding using cloud services.
Application development teams and users are still dependent on several operations teams to design and implement secure cloud connectivity and to establish the rules around using cloud services. While a strong governance is absolutely essential, there is a high possibility for firms to lose their agility and get caught once again in a mess if these operational processes are not smoothen and streamlined. For the strategic initiatives on implementing the new trends to succeed, it is vital for DevOps to be able to operate without any hurdles.
Below are a few critical success factors worth considering.
Dev and Ops in a Box
Organizational structure plays a key role in determining the success of DevOps. Keeping applications development, DevOps and infrastructure operations very closely aligned with overlapping goals, KPIs and roadmaps is a key to success. Companies that operate these functions independently without proper alignment fail to establish an organization-wide DevOps culture and rarely reap the full benefits of DevOps.
Full-Stack Engineers for DevOps
It is important to develop a DevOps culture across the company. At the same time, it is equally important to bring in experts who can evangelize DevOps and take a completely fresh look at how things are done. Experienced DevOps professionals can pin-point areas for improvement, and additionally help accelerate the adoption rate of DevOps. Settling for high-quality resources that have full-stack experience is absolutely essential if you are in for a long run with DevOps. Global companies should seriously consider placing such experienced resources close to the development and operations teams. While it may be cost-effective to recruit resources offshore, that may not be such a good idea if your active development and infrastructure teams are onshore.
Trained Internal Resources
Training internal resources are extremely important in order to carry out the recommendations from experts and to make DevOps a habit. Trained resources have to be deployed immediately to work on DevOps initiatives alongside the experts. To establish synergy and increase collaboration, it is a good idea to send development and operations resources to some common training courses and sessions.
Wrapping Things Up
Research organizations are closely observing the direction in which most organizations are moving toward in order to improve their speed, efficiency, agility and their overall ability to provide services that are secure and reliable. Business strategy and technology feed each other and as a result, some key trends in technology emerge from time to time.
We looked at some of the trends that are going to be prominent in 2020 and the role that DevOps would have in implementing these technologies. Regardless of any specific technology, it is important to automate the integration and delivery of applications. DevOps processes and tooling will help a great deal in accelerating the pace of implementing new technologies and leveraging them in business applications.
The organization of IT teams and a focus on recruiting the right talents will determine the overall success of DevOps. Training internal staff would help sustain the culture of DevOps in companies and fuel further growth in this space. DevOps will not be an optional function any more. It will be an essential component of the culture, and firms that adapt themselves sooner to this culture will be the ones most successful in implementing the current and future trends in technology.