Eric J. Bruno
The cloud’s most cited benefits are how it offers shared, virtualized and physical infrastructure to deploy and host applications, with multi-tenancy, scalability and elasticity that go along with it. By now I’m sure you’re aware of the benefits of the cloud. But these benefits are so sweeping, and differ according to the audience (developers versus end-users, for example), that it’s hard to pin down exactly what the cloud is sometimes.
What has become very clear to software architects and developers is the parallel that cloud has with agile software development. The main tenets of the agile methodology include an iterative, adaptive process that promotes teamwork and collaboration, with feedback loops at each stage. Its goal is to break down projects into smaller deliverables that can be built and deployed (and tested by actual users) more often. The end result is a measurable, repeatable development process that is more flexible to change, where user feedback and problem-space changes can be more quickly adjusted for and incorporated into the software.
Agile development quickly exposes bottlenecks in other parts of the software build, test, and deployment processes. It also promotes collaboration that goes beyond development; there’s great value in including customers, business and IT folks in the loop. And with that, DevOps was born.
DevOps often includes continuous integration, build, and deployment efforts, where deployments occur to production or production-like hardware often. Not only does this type of development foster greater use of the cloud by developers and IT, its benefits are right in line with those of the cloud. For instance, both agile and cloud are:
It’s no coincidence that DevOps and cloud have grown in both popularity and ROI at the same time. In many ways, each has enabled the other in what can be characterized as a symbiotic relationship. There’s a risk that one-off solutions based on existing on-premise IT cost too much to support proof of concept projects, take too long to deploy, and threaten to stifle innovation. The cloud is the answer to achieving an agile and iterative development platform with DevOps, potentially enabling organizations to innovate at a greater pace than we’ve ever seen. That’s an exciting prospect.
There’s even a growing trend where organizations move entire development toolsets and environments to the cloud, thereby creating a virtualized development organization.
Conclusion: The Cloud is More
The cloud is more than a data center that someone else operates. It’s more than enterprise software installed on someone else’s servers for you to access. The cloud is your bridge between information technology (physical servers and devices) and operational technology (bandwidth, control and command, and administration).
In a nutshell, the cloud delivers a global, nimble solution base, lower maintenance overhead, best-in-class security, and an overall reduction in risk. Its benefits are clearly aligned with agile processes as well as corporate budgets. The cloud in all its forms (public, private, hybrid, and brokered) is at the heart of all of this and will continue to expand into new areas quickly, allowing us all (developers and users) to do more.