Cloud + DevOps: A Winning Combination
"It takes two flints to make a fire."—Louisa May Alcott
As the use of digital technology and the app economy mushroom, businesses and organizations struggle to provide all the storage and infrastructure they need in their own data centers. For business, it’s not simply a challenge; it’s a matter of survival. Without safe storage and rapidly available infrastructure they can’t stay competitive. Hence, the cloud.
The app economy demands more than just storage and infrastructure to stay competitive, however. Continuous delivery of high quality applications is the other component and that is where DevOps shines.
Cloud: Learning to Let Go
Cloud computing benefits for business are significant. The cloud can rapidly scale services to meet your needs, be it storage or infrastructure, without the time needed for advance planning and purchasing if you were to provide it all in-house. Once you know what you need, cloud providers can provide it rapidly and allow you to track costs based on categories you set up yourself so you can comply with your company’s accounting requirements.
Cloud computing and DevOps simplify, speed up and improve the development and deployment of apps across myriad platforms
The cloud gives you speed–you get your applications to market faster so you stay competitive in today’s demanding market. Convenience - stored assets and applications can be accessed from anywhere and on any device with an internet connection. It’s even green - sharing large equipment deployments among many vs. lots of small deployments results in economies of scale in both cost and consumption.
Still, people worry. They worry about a lack of visibility across public and hybrid cloud services, about protecting their apps and data running in the cloud and about ensuring regulatory compliance. They imagine they are giving up control.
DevOps: Learning to work together
DevOps is another new discipline that improves the speed and quality of delivering applications. Agile methodology and techniques initially were used by developers and proved successful in delivering higher quality applications faster than traditional, longer term and higher cost waterfall methods. DevOps, however, applies agile methodology to both development and operations, enabling near-real time response to business needs.
Adopting DevOps is not a slam dunk though. The conflict between development, in its eagerness to bring out something new, and operations, in maintaining with what is tried and true, can be jarring. It presents challenges to the world of legacy IT systems and corporate culture to abandon entrenched processes that govern the handover of applications from development to operations.
In addition, on its own DevOps is not a complete solution. Even when both parties become committed, application deployment can still be delayed waiting for the delivery of hardware and software. And that’s where the cloud comes into play.
Is it worth it?
Is the upheaval to corporate culture worth it? Let’s consider a simple SLDC (Software Development Life Cycle). An application is being developed using agile methodology. Planning and coding go quickly since the team has defined an MVP (Minimum Viable Product), focused on specific customer requirements. Once the application is ready to enter the test phase, using the cloud, the team can identify and make available the infrastructure needed in a matter of hours, if not minutes. Once in the test phase, both customer and operations feedback results in tweaks to the software to better meet customer requirements and adjustments to the infrastructure to improve operations. The iterative process continues until ready for production deployment. At that time, the operations team has refined the required operational environment and can now provision and scale it as needed to meet the customer demand.
Today’s distributed applications can be complex. They must run on a variety of platforms and the cloud facilitates that diversity through easy provisioning of various infrastructure components. You can go a step further and add additional capability, such as service virtualization, so the team can simulate the environments they require for testing, further reducing the time and money spent and increasing confidence in the readiness of the application in a variety of production environments.
A Winning Combination
Business benefits of both cloud and DevOps, separately, have been well documented but together they show direct competitive advantage over enterprises using only one or the other.
A recent survey by FreeForm Dynamics of nearly 1,000 IT professionals globally explored the synergies between cloud and DevOps. The results are clear. While both DevOps practices and cloud tools help organizations deliver software more quickly, and with better quality, the benefits are compounded when the two are used together.
• Using DevOps only delivered a 52 percent improvement in overall software delivery
• Using Cloud only delivered a 53 percent improvement in overall software delivery
• Used together (Cloud + DevOps), respondents saw an 81 percent improvement in overall software delivery.
Compared to using neither cloud nor DevOps, improvements in speed were 91 percent, cost control were 117 percent, quality were 66 percent and user experience were 69 percent. Overall, impressive benefits that are hard to dispute.
A big leap
To bring the benefits of both cloud computing and DevOps to your environment, it’s not simply a deployment of tools and technology. In particular, to migrate to DevOps, people and process changes are needed.
DevOps breaks down the silos that have traditionally existed between development and operations and this culture shift can loom large. Introducing agile methodology first will accelerate the way to full DevOps and introducing DevOps through successful examples can predispose people to a more positive outlook.
In 2014, a European telecommunications giant decided to transform its processes and embrace agile methodologies as a way of eliminating the schism between IT and the business. Needing to work closely together they co-located development, business owners and operations. It was a big change for them but in less than a year and a half they gained over half a million new subscribers and cut development cycles by 50 percent - 75 percent all while producing higher quality software.
Cloud computing is less of a cultural shift but still demands that people let go of the need to own everything and run it in-house. One way to ease that concern is by using the right software tools and ones that are familiar. With tools, such as application management, release automation and service virtualization you can not only maintain but improve control over the development and production quality of your apps even as they run across hybrid environments.
While both cloud and DevOps require organizational and attitudinal changes remember, “... if I argue for my limitations, I get to keep them.”
Taking it to the next level
The enormous growth of the application economy has necessitated change in the way we develop and deploy applications to stay competitive. It’s hard to find a successful business these days that does not have a digital presence.
Cloud computing and DevOps simplify, speed up and improve the development and deployment of apps across myriad platforms. In combination with other, familiar software capabilities you can partner with your cloud provider and be more in touch than ever with the performance of your apps on a real-time basis. End-to-end automation lets you make necessary changes in near real-time, improving overall performance.
Cloud and DevOps together can help you realize the ultimate goal of a superior customer experience. Don’t let the size of the leap hold you back.