As a pandemic-wrought remote working world tries to ensure business continuity, only the nimblest organizations are destined to survive and thrive. The onus falls on leaders to digitize their organizations, with cloud as the backbone and DevOps as the mechanism of automation that enables continuous integration, continuous test and continuous delivery to customers. This transformation built on cloud is at the heart of the journey to becoming a modern business.
DevOps helps organizations advance their digital initiatives and ensure more collaborative practices that align teams behind ideal outcomes. Amid the pandemic, organizations are under pressure to accelerate digital initiatives to emerge stronger and more competitive, by adding new capabilities that increase agility and resilience. Since most DevOps teams now work remotely, the cloud plays an even more central role in ensuring smooth, seamless software development.
Without the cloud, there will always be a trade-off between speed and effectiveness for DevOps processes on-premises. To minimize risks and maximize operational efficiency, IT operations must transform from tortoise to hare, relying on speed and risk-taking to achieve necessary outcomes.
In a legacy environment, setting up or upgrading an application remains a considerable undertaking. For example, in Apache Subversion, time required from code check-in phase to the build phase and testing is several days — or even months.
In our experience working with large businesses, such efforts always involve a varied set of people: developers; testers; security and infrastructure personnel; business stakeholders; and users, all distributed across the globe. With a model like this, up to half the project lifecycle is consumed in project overhead (governance and coordination meetings, authoring and reviewing functional specs, code inspections, and signoffs).
With the advent of cloud and cloud tools (Infrastructure as Code, continuous innovation/continuous delivery, or CI/CD, secure collaboration, container-based microservices), the DevOps process has smoothed, accelerating time to market, enhancing customer experience and fostering innovation and scalability.
Since the beginning of the pandemic, we have held extensive conversations with customers that are yet to unleash the full potential of their on-premises DevOps processes. As a result of these conversations, we have created a list of DevOps challenges that cloud can help overcome — and ways for businesses to surmount those challenges.
According to a 2019 report in the Harvard Business Review, digital change is more about people than technology. DevOps is essentially a cultural shift that tries to bring in a new way of thinking about solutions. In a recent Cognizant study, 95% of respondents said such digital transitions are culturally challenging. The challenges they face are around standardization, team structure, collaboration and shift in mindset.
Cloud can overcome these challenges the following ways:
In our experience, major DevOps challenges revolve around continuous stages: integration, testing and deployment. People from different departments using different types of applications working with different technologies find it difficult to assimilate in DevOps culture. To overcome this challenge, forward-looking enterprises should consider the following:
Automation aims to program everything. This includes Infrastructure as Code scripts (ARM templates, Terraform, Chef, Puppet, Cloudformation, etc.) to automate provisioning of resources. To illuminates why cloud scripts are so important, consider that developers typically spend a staggering 75% of their time manually searching for errors.
With cloud scripts, this effort can be automated, allowing humans to focus on more critical tasks. Repetitive provisioning, automated testing, and simultaneous deployment in multiple environments can in our experience be completed more quickly and accurately through automation scripts.
A Middle East-based leisure and theme park had an automation challenge around its business operations. Deployments were handled manually with heavy data transactions, and there was no modularization, which resulted in high-cost consumption.
We helped this client adopt DevOps end-to-end enablement on Microsoft Azure cloud infrastructure. Platform-as-a-service-based API management, infrastructure-as-a-code scripts, and digital engineering services through a CI/CD pipeline reduced costs by a reported 30%; automated data ingestion and testing was said to reduce provisioning and configuration time to less than two hours; and custom code deployment declined to under 20 minutes in an automated pipeline, the client told us.
Increased complexity can be overcome by following a lean approach. Our experience has been about keeping everything at a minimum — tools, teams, meetings, sprints, etc. For odd scenarios wherein larger teams are required for cloud migration of complex applications, we advise creating smaller subgroups of teams.
To reduce complexity and go lean, teams must:
DevOps in principle is about increased collaboration between the development and operations teams — more so during the prolonged pandemic, when IT operations are more distributed than ever. Collaboration is therefore vital. An important criterion for collaboration is security, whether while sharing documents, accessing desktop-as-a-service, or setting up video conferences.
To ensure secured sharing and collaboration, we recommend the following:
This article was written by Rohit Kumar Sharma, Lead Infra Architect, Cognizant Infrastructure Services, and Vidit Rathi, Business Development Analyst, Cognizant Infrastructure Services.