“The hardest thing in life to learn is which bridge to cross and which to burn.” –David Russell
(Note: these best practices, and a number of others, are now available in my book Ahead in the Cloud: Best Practices for Navigating the Future of Enterprise IT).
I began to develop my point of view on hybrid architectures as a CIO leading the delivery of several business solutions on top of cloud services. Over the last 5 months I have been fortunate enough to engage in several dozen conversations with CIOs and CTOs from large companies that have further shaped my thinking on this topic. At the same time, I’ve read many articles and blogs that discuss hybrid architectures, and it’s not clear to me that the industry has a common understanding of what hybrid architectures using the cloud look like.
Companies embrace cloud technologies for many different reasons. Cloud adopters have benefited from increased agility, lower costs, and a global reach. For many of the CIOs I speak with, it really boils down to their ability to funnel precious resources from the things that don’t bring in business to the things that do. In other words, the undifferentiated heavy lifting associated with managing infrastructure to the activities associated with building the products and services that their brand is known for.
That said, most enterprise IT organizations have established infrastructure and governance that they operate today. I’ve spoken to many CIOs who want to migrate this infrastructure to the cloud as fast as possible, but realize that meaningful cloud adoption is a journey that takes time. Along that journey, companies need a way to keep their systems running and get the most out of their existing investments. In my post on the enterprise cloud journey, I talk about how companies use AWS Virtual Private Cloud (VPC) and Direct Connect to extend their on-premises infrastructure with AWS to create a hybrid architecture. This is the hybrid architecture that has always made the most sense to me, and the step that many companies are taking on their way to maximizing their benefits from the cloud.
Beyond this, the conversation around hybrid becomes a bit convoluted. I am seeing three trends in market commentary that I believe sound good at first, but don’t hold up once you start to peel back the onion. These three myths are:
Myth one: Hybrid is a permanent destination. Permanent is too strong of a word to describe this point of view. Large companies with significant legacy systems will run hybrid cloud architectures for some time, likely measured in years. Each organization’s cloud journey will be a bit different, and everyone will move at a pace that they’re comfortable with. Still, I find it hard to imagine a future where many companies will be running their own data centers. It’s probably more than 3 years out, but I’m confident it’s less than 15. There are at least four factors that are working toward accelerating this transition:
1. The economies of scale that cloud providers achieve are continuing to grow with adoption. These benefits, one way or another, will benefit cloud consumers.
2. The pace of innovation coming from cloud technologies is unprecedented. AWS released over 515 enhancements in 2014, nearly doubling the pace of innovation each of the last 3 years.
3. The technologies that companies depend on to run their business (e-mail, productivity, HR, CRM, etc.) are increasingly being built on the cloud.
4. The technologies and businesses that exist to help companies migrate to the cloud are growing rapidly in number. To get an idea, check out the AWS Marketplace and the AWS Partner Network.
Myth two: Hybrid allows you to seamlessly move applications between on-premises infrastructure and the cloud. On the surface this may seem attractive, but there is a fundamental flaw with this premise. It assumes that the cloud and on-premises infrastructure are equally capable. I appreciate how many companies have become well equipped to manage their infrastructure. At the same time, companies are moving to the cloud for the features and capabilities that their data centers don’t have: true elasticity, security posturing, pay as you go for only what you use, and the constant stream of innovation. Architecting your applications to seamlessly work across your data centers and the cloud will limit you to the functionality of the lowest common denominator.
Myth three: Hybrid allows you to seamlessly broker your applications across several cloud providers. There is a nuance to this argument that I believe is worth exploring. Companies are using a variety of different cloud solutions to meet the needs of their business. This generally includes a mix of infrastructure services as well as packaged solutions that run somewhere other than the company’s data center (and very often on AWS). This makes perfect sense. IT executives should look at the problem they’re trying to solve and select the best tool to solve it given their constraints.
What scares me is when companies fall into the trap of trying to architect a single application to work across multiple different cloud providers. I understand why engineers are attracted to this — it is quite an accomplishment to engineer the glue that is required to make different clouds work together. Unfortunately, this effort eats into the productivity gains that compelled the organization to the cloud in the first place. I always thought of this as taking me back to square one. Instead of managing your own infrastructure, you’re now managing the nuances between several others. Like myth two, this also limits the functionality to the lowest common denominator.
I also understand that companies may go down this route to keep their vendors honest, and to avoid being locked in to a single provider. On one hand I would debate the risk of one of the big cloud providers going away, and it seems unlikely that the direction of the cloud computing industry is headed toward punitive business tactics. On the other hand I feel that there is a better way to mitigate this concern. Companies who architect their applications using known automation techniques will be able to reliably reproduce their environments. This best practice is what enables them to take advantage of the elastic properties of the cloud, and will decouple the application from the infrastructure. If done well, it becomes less of a burden to move to a different cloud provider if there is a compelling reason to do so.
Technology choices are not always easy, and often imperfect. Creating a hybrid architecture doesn’t have to be. I’d love to hear your thoughts. Drop me a line to discuss.
Read My Book: Ahead in the Cloud: Best Practices for Navigating the Future of Enterprise IT