Creativa - Fotolia
A hybrid cloud platform, a mix of cloud and on-premises systems, offers development teams in large enterprises and legacy environments something they have always wanted: the ability to move at the pace of the rest of the development world. The hardest part is finding the right mix of infrastructure, integrations and public cloud providers.
In this article, I will present a hybrid cloud as being more than a term used to appease IT; it is something practical and useful for enterprise development teams. A hybrid cloud eases both the political and technical pain of adopting modern software development, DevOps, in the enterprise.
What enterprises do well that the tooling vendors do not is find the right tool for the job. This has been soured by old habits and stubbornness, but for the most part, their activities are results-driven, rather than trying to build something just because it is cool. However, the enterprise is guilty of turning a blind eye to functionality that could be of benefit, eliminating the possibility of achieving higher objectives.
Enterprises need to understand that a hybrid cloud platform is an effective approach for both business application hosting and software development.
At least initially, the hybrid cloud was associated with line-of-business applications. The benefit was to combine secure on-premises data and applications with modern outward facing applications like partner portals. But as private clouds became easier to build -- thanks to advanced hypervisor and management tools -- IT had an even stronger argument for keeping everything in-house, which re-established the old bifurcation of either all in private cloud applications like Salesforce and SAP HANA, or all on premises.
Development shops see the world differently than IT. And what appeared to them as hoarding, has turned into resentment at what seems to be an initiative to slow them down. The development shops tend to be 100% public cloud. And they are going beyond infrastructure as a service, looking at platform as a service where even the machine that the code runs on is trivial. Although there were concerns around secure data and governance, it was hard to convince developers that a hybrid scenario is useful. The result of the conflict is either IT wins and development stays in the legacy days of coding, or development wins -- either in practice by gaining their own budget or in secret with shadow IT. Developers need to know how a hybrid cloud can help them:
- Better applications: Developers building modern enterprise applications face a downside not experienced by commercial software developers: enterprise applications tend to be monolithic and have many more moving parts, including integrations with legacy code. This inevitably results in more bugs, so the risk of releasing poor-quality applications is higher. In addition, the functionality you are able to build is limited, and often can't keep pace with changing needs. A hybrid cloud platform lets you iterate more quickly, spot problems faster and work on new, more interesting functionality sooner.
- Fewer roadblocks: Unless an organization starts from scratch with DevOps like MasterCard did when it built Simplify, the only approach to moving to modern application development is a balance between old and new. For most developers, the process of submitting a ticket to get a virtual machine (VM) has to coexist with continuous integration. A hybrid cloud can help break barriers by speeding up the old processes and ushering in the new. And it becomes a negotiating tool: "If you allow us to provision VMs from an image you designate, we will stay in the firewall preproduction." It is not that easy of course. But there are clear benefits, namely fewer hostile meetings, less time between ticket responses or no tickets.
- DevOps: It might seem counterintuitive, but a hybrid cloud platform helps support the DevOps process of continuous integration -- not because it is more amenable to IT, but because in the enterprise, the approval process for a release is waterfall, which means the release better be perfect out the door because your chances to fix something are six months out. Today's development teams, however, think in terms of a continuous stream of code. The more they can do before the release date the better. In an integration environment behind the corporate firewall a lot more is acceptable, which lets you increase the number of integration builds you can run, find more bugs and get to new functionality faster. For some organizations a hybrid cloud is the only path to DevOps.
Once an application is written, all of its components do not need to be in the public cloud. But it is hard to make a case for all of it to be private. The conversation about what happens in production is relative. It is no longer common to have production in a private cloud, but there may be reasons to do so. For situations where some data needs to be stored at rest inside the firewall, the concept of data forking is popular. The challenge is educating developers about retention policies and approaches for doing so. You will find this scenario a lot when dealing with financial data and with the government sector.
A hybrid cloud platform is not for all, or even most, development teams. But for some organizations, regulation and size are not excuses for holding your development team back to the ages of Waterfall. If enterprises are opportunistic about modern development and are results driven, they will arrive at an approach that likely will be a combination of private and public cloud. And there no longer are technical hurdles to doing so. Virtualization vendors like VMware and Microsoft provide cloud platforms just for this purpose. And the public cloud providers are also bridging the gap between public and private via their own products, or a large population of third-party products.
Development teams will always be trying to push the envelope. And they will almost never be content with a hybrid cloud. But a hybrid cloud is a way to get everyone on the same page, and it might be the only way to slip stream DevOps into existing complex ecosystems.
Cloud and DevOps requires new thinking
DevOps increases IT efficiency
Hybrid cloud architecture pros and cons
Why it's time to get serious about cloud management