Customer experience has become the defining moment for a business. New strategies to acquire, understand, engage, service and retain customers using social media, phone apps, Big Data, analytics and Next Best Action are evolving every day. Cloud computing and mobility are blurring the boundaries of an enterprise. Virtualization is reshaping infrastructure management practices and security.
Underlying all this is the intense need to create new and innovative software to cater to these sweeping changes. Organizations today want to release software quickly at the least cost to stay ahead. Suddenly reality is coming home. They are realizing just how complex and cumbersome it is to replicate production environments during development and testing cycles. The delays in software development lifecycles are causing pain. The result is reputation loss, erode market share and impact business.
Fortunately, automation is emerging as a solution to the changing demands of application development and testing. Technologies such as cloud and virtualization are assisting organizations to embrace automation.
Many organizations have attempted to improve their software development and testing processes by adopting Agile methodology. They have discovered that process improvement alone is inadequate. What today’s environment calls for is tool efficiency and increasing levels of automation.
Cloud and virtualization hold several answers to the challenges faced by application development teams. Both technologies are dramatically changing how computing platforms are managed and deployed. While arguments may abound as to whether this evolution is a pendulum shift between distributed and centralized computing, it can be agreed that the nature of virtualization — the deployment of network, storage, CPU and memory into configurations resembling a physical server — alters the consumption of IT assets from permanent fixtures to computing industrialization.
The fact that cloud enables access to near infinite computing resources almost instantly means that developers can rapidly clone and bring up the environments they wish instead of having to wait for IT operations to provision it. Using and — importantly — decommissioning those environments has become equally quick. End result: Faster development, precise testing, seamless release and lower costs.
DevOps movement to power app development and testing
With the number of components, technologies, tools and processes involved in software development growing, provisioning an environment for development teams has become a complex and demanding task for IT operations. Cloud services, however, eliminate most of the pain through dynamic, on-demand provisioning of resources.
All that truly remains for development teams is to be able to accurately mimic production environments, and deploy code as frequently as they wish. Does this make the role of IT operations redundant? We believe not! In fact it ensures that IT operations is now free to focus on making the self-service model available so that development and testing environments can be changed as frequently and quickly as required.
This is a key evolution in the dynamics between development and operations, by bringing them closer in what is being recognized as the DevOps movement, glued together by enhancements in cloud provisioning.
DevOps automation is the new trend addressing bottlenecks, inefficiencies, capacities and the complexities of provisioning. It holds the promise of scrunching development cycles and improving quality by fusing development and operations activities (and integrating testing between the two functions).
The enablement through cloud is the magic layer. It ensures that IT operations can maintain heterogeneous environments in parallel, manage several distributed development and testing teams that can share the environment and deliver a consistent environment through the application lifecycle.
DevOps automation has the ability to transform application development, testing and deployment. The self-service solution with accurate cloud-based provisioning can instantly improve coordination between development and IT operations, bringing down investments in infrastructure and, from a competitive standpoint, reduce development time and improve the quality of software by several magnitudes.
While this may sound counterintuitive to allow developers or testers to deploy their own assets, the latency typically experienced causes significant losses in productivity for developers, testers, and the entire ALM ecosystem. Once productivity is recovered, spend and effort shift from mostly operational and tactical expenditures to more strategic activities that accelerate the overall software development and deployment schedule.
DevOps automation is not rocket science. As an increasing amount of IT resources becomes virtual, it is evident that cloud will play a significant role in solutions.
The business value in DevOps
From the outset, this appears to introduce a heavy focus on technology, with cloud being the central, but flexible, pillar connecting the various elements in development, testing and deployment. However, for organizations embracing DevOps automation, the primary consideration and focus must be business value. What is the business value that DevOps automation can unleash?
Consider the following:
- Investment in infrastructure is instantly rationalized because of dynamic and automated provisioning as well as de-commissioning.
- Scaling is no longer a challenge.
- Traditional application development has always had to trade off time for quality. Building quality into applications has been expensive. Embracing DevOps automation implies no more trade-offs. Code quality can be achieved without surrendering speed. This allows businesses to meet the needs of a rapidly changing market.
- Release schedules and frequency are improved. Fundamentally, this is an outcome of better alignment and collaboration between development and operations that results in enhanced agility. The end result is reduced delays and a healthy release calendar.
The breakthrough: automatic brokering of infrastructure
Wipro has evangelized DevOps automation through Wipro’s Development and Test Accelerator (WDTA) service. This is a productized service designed to meet today’s requirements. WDTA’s one-click automation framework deploys complex environments and orchestrates Build-Deploy-Validate workflows, bringing developers and testers closer together in a collaborative environment.
The service allows developers and testers to manage unexpected loads and provision infrastructure automatically to manage those loads. This is a key capability. Automatic brokering is a breakthrough. It implies discovering application dependencies and provisioning for them. Arranged around this core capability are functions such as smart patch management, self-correcting environments and the ability to forecast scenarios and predict failure.
DevOps automation is changing the way software is created and deployed. In the near future, it is set to introduce transformational processes — both, in terms of technology that we have already discussed above as well as in the way organizations are managed and administered. Adopting the new methods means empowering teams, changing traditional roles of IT and making the edges of the organization fuzzy and elastic. On a more practical level, this can’t be bad if it spells peace in the traditional war between developers and IT operations!
K. D. Singh is a leader in Wipro’s Manufacturing & Hi Tech Business Unit. He is the global head for the Computing Vertical and leads Wipro’s 360° business relationship with HP, EMC and Microsoft. He has 21 years’ IT and BPO experience. In 13 years with Wipro he has worked across domestic and international markets in several leadership positions. He also held executive positions at Keane Inc., KPIT Cummins, Avotus Corp. and was an entrepreneur. For more information, please email [email protected]
Giridhara MP, solution architect, also contributed to this article.