Nobody can predict the future. We don’t know which way the economy will turn, and we can only guess how consumer behavior and preferences will evolve, and who knows what technology breakthroughs are just over the horizon. Analysts and pundits, whose work it is to prognosticate, can never seem to agree on the answers.
The good news is that when it comes to making technology decisions that you need to live with for years to come, I recommend an approach that does not require predicting the future. It’s simply a way to future proof your strategy. One way to do so is to build enough flexibility into your systems that you are able to respond to any of the possible outcomes.
So how does an agile enterprise handle cloud computing? As I mentioned in the last post, beginning with an on-premises solution is one solid approach. But then what? We don’t know where we will be in ten years or ten months. We may decide to outsource the bulk of IT, potentially putting it into a public cloud, or we may choose to keep it just where it is.
That is why a hybrid cloud approach offers the greatest flexibility to mix and match the advantages of an on-premises solution – security and leveraging existing resources – and public clouds – capacity and quicker time to value without a big infrastructure investment. For example, an organization might use Windows Server 2012 to build an internal datacenter, match this platform with Windows Azure in the public cloud, and then leverage System Center 2012 to manage the entire solution in an integrated manner. Hybrid cloud strategies enable organizations to take advantage of unique service providers’ capabilities and provide greater flexibility to optimize the costs, performance, and functionality of each application. For some organizations, a hybrid cloud is the holy grail of enterprise cloud computing.
Holy grail or not, whatever strategy you pursue or technology partner you choose, you can be reasonably certain that it will need to evolve over time. The safest design option is to develop an architecture that offers complete flexibility to shift resources and services between on-premises and cloud environments. This approach, however, has risks. It increases the complexity of the design unless both environments are very similar. It is easy to procure separate cloud services, but they will not be interoperable unless they expose common interfaces, implement identical functionality, and integrate with the same platforms and frameworks.
A much better solution is to leverage a comprehensive platform that can manage infrastructure, applications, and data across internal and external datacenters, as well as the public cloud. This involves using common operating systems, but it also requires a management system that can integrate metrics and alert on events from each of these service delivery sources.
To be clear, the environments will never be completely identical. The architecture must accommodate these differences, and IT planners must consider the implications of a distributed topology in terms of latency, reliability, and security. Nonetheless, the use of common technologies will make it much easier to design, implement, and validate.
Whether you are pursuing a hybrid cloud strategy or a multi-location on-premises solution, how you integrate or isolate processes executed in the cloud architecture becomes very important.