Every Fortune 1000 company should expect to face Uber-like competition in the next decade.
These digital disruptors are software companies; they are basing their business models on software platforms, and development of these software platforms is much more agile than in the past. To compete effectively, every company must essentially become a software company, and it must adopt agile software development practices to keep up with the demand for new applications and services.
Software development is the engine of digital transformation
Digital transformation will be the mantra for IT initiatives in 2018, and the underlying technology will be agile software development. IT organizations are at a crossroads: they can either work to become more agile and innovative, or business unit managers will decide to expand their use of public cloud providers, and hence reduce the role and value of internal IT organizations.
Applications are defining and continuously redefining products, services, customer experience, business processes, and competitive advantage. About the only thing not being redefined by applications is the IT infrastructure. As applications and organizations become more dynamic, IT largely operates at the pace it always has. High-velocity DevOps lifecycles collide with an IT infrastructure that is optimized for stability and is too complex to keep up. The pace of the organization is slowed down by its applications, while the pace of applications is slowed down by their infrastructure.
How DevOps’ role is changing
For decades, DevOps organizations have been at the mercy of IT departments, having to request resources for development efforts. DevOps groups have endured long provisioning cycles, waiting days or weeks for IT to provision servers, databases, development tools and other resources. Even the tools for requesting resources are antiquated: most IT departments rely on manual ticketing systems that require requests to be passed from one silo to another before a request is completed.
But with software development as a corporate priority, companies are now looking for much more streamlined development processes. DevOps now wants to drive the provisioning process. This has given rise to a lot of ad hoc use of public cloud resources by DevOps teams. No longer content to wait for the IT department to provision resources, DevOps organizations are taking control away from the IT department and are provisioning resources themselves with public cloud services such as AWS, Azure, or Google. These platforms have enabled agile software development, and the spread of agile software development is integrating development and deployment into a unified continuous integration/continuous development/continuous deployment (CI/CD/CD) process. In the meantime, the IT department wants to maintain control over the infrastructure and software tools in use, as well as the monthly spend on public cloud resources.
Unfortunately, what began as a fast, ad hoc way of acquiring compute resources from the public cloud has become a significant drain on enterprise resources. Monthly cloud costs are spiraling, and the IT department has little control over these expenditures. In many ways, DevOps has usurped IT’s role in resource provisioning. Also, it’s easy to create a sprawling, undisciplined IT environment where the company is not sure which workloads its developers have on AWS or other public clouds. Finally, the company may be developing applications that use intellectual property or confidential client information, or require high security or government compliance, so using public clouds for DevOps may not be an option.
What developers want
Clearly, today’s DevOps teams want to be able to select and provision resources as needed. They want to be free to build their own workspaces without waiting for provisioning by the IT department. If cloud platforms accelerate the application lifecycle by applying new technology to operations and integrating and aligning applications and infrastructure, the challenge for IT is to regain control over the process. The answer is to deploy a private cloud platform that is as easy to operate and consume as a public cloud. With a self-provisioning private cloud platform, DevOps teams can continue to set up their own workspaces and access the tools they need to complete their development cycle, and IT’s private cloud – rather than a public cloud provider – makes those resources available.
Compared to public cloud, private cloud delivers improved security and governance, higher performance, and lower costs. It also unifies the separate compute, storage, and networking silos to deliver a cost-optimized IT infrastructure. With a private cloud, DevOps can have the agility it needs while IT retains the control it needs. It’s a win-win for both groups.
Ajay Gulati is co-founder and CTO of ZeroStack. Ajay shares responsibility for driving ZeroStack’s product innovation, bringing to life his thought leadership in systems infrastructures and virtualization. Ajay was a senior architect and R&D lead at VMware where he designed flagship products including Storage I/O control, Storage DRS and DRS. He has been recognized as a prolific inventor by his peers and has more than a dozen patents to his name. Ajay has consulted with multiple startups including Nimble Storage and Velocloud Networks.
Ajay has a Ph.D. from Rice University and a B.S. from IIT Kharagpur