Out of last decade’s cloud confusion three clear winners have emerged: Amazon, Microsoft, and Google. Each is experiencing enormous growth and each is investing billions of dollars in its offerings. As a result, most enterprises will choose from these three when making a choice of cloud provider.
Most IT organizations see immediate benefit from using a cloud provider:
- No extended waits for infrastructure access, thereby accelerating productive work
- Greater transparency about costs due to the measured use cost mechanism
- Faster application updates because QA and staging testing can use non-production cloud resources
A question remains, though: is there a way for enterprise IT groups to get more value from their chosen cloud provider? The answer is yes -- but achieving that value will require deeper engagement with the provider’s services and rethinking what the role of an IT organization really is. And the way to understand how to achieve that value is to understand the way you build applications to run in your chosen cloud provider. You might think of this value journey as a three stage process:
Let’s look at each in turn.
This is how most organizations start with cloud computing. They take existing applications and migrate them, unchanged, into a cloud provider’s environment. Or they write new applications but use the established on-premise application design patterns.
Underlying this approach is using a cloud provider as outsourced infrastructure. As noted above, many companies attain great value from doing so. However, they also note that many application challenges remain even when the app is running in a cloud provider. Uptime doesn’t magically improve. Load variation continues to cause problems with response times. And costs remain the same whether the application is performing useful work or just sitting there waiting for traffic.
Greater value is achieved by changing one’s perspective of what a cloud provider offers: it’s not just outsourced tin, it’s infrastructure-on-demand, with the ability to use and release specific resources as desired.
With that perspective, IT groups move to the next stage of cloud use: cloud-native. They redesign their applications so that they use smaller virtual machines and add (or subtract) them as needed to respond to application load. Naturally, this requires use of load balancers and the ability to dynamically (and automatically) change the application topology as needed.
Cloud-native IT organizations will also partition their applications to support a service-based functionality. This requires API interfaces and typically imposes a need for DevOps. The upside is far better resource use (resulting in lower costs) and accelerated application lifecycles, making it faster to deliver new functionality.
A third way cloud-native IT organizations drive value from cloud providers is when they evaluate how the IT organization itself delivers value and offloads low-value efforts to the cloud providers. Many IT organizations stop managing databases and use a provider’s managed database service. Backup archiving is another low-value outsourceable service. This effort allows IT organizations to invest their most precious resource -- people -- on the highest-value activity: applications.
The final stage of cloud use is where IT organizations stop looking at cloud providers as infrastructure at all, and recognize them for what they really are: computing service providers, with functionality well beyond the traditional infrastructure/platform/software-as-a-service framework.
Each of the big three cloud providers is racing to build a service ecosystem on top of their core offerings. Amazon has its recent Lambda (aka functions-as-a-service) offering, and looks to be eyeing the IoT space with its Echo device. Google is leveraging its enormous machine learning capabilities, developed to aid its search business, to offer sophisticated (and surprisingly easy to use) ML capabilities to customers. Microsoft is addressing the nascent blockchain technology, which holds the potential to transform the finance world, with its ambitious Project Bletchley.
It’s easy to spot companies that have rethought the way they do business and developed new offerings based on imaging what can be built by cleverly using what’s available in a cloud service ecosystem. Example abound: Houzz, Pinterest, Lyft.
The typical response to a list like this is “Fine, but those companies aren’t like mine. We’re an enterprise,” with an implication that differences in funding, size, or quarterly revenue targets stand in the way of behaving like one of them. I’d suggest the difference isn’t in physical factors like headcount or office location, but in mental factors like the ability to re-imagine how an existing offering could be transformed with the addition of machine learning. Or how it could be delivered at a much lower price point by cutting the associated computing cost by 90% via using functions-as-a-service.
In truth, the key to achieving value with a cloud provider is not in using it as more efficient traditional infrastructure. The key is to recognize that a cloud provider offers much more than agile infrastructure -- it offers a mix-and-match of services, some providing core computing (e.g., virtual machines), and some providing highly-specific functionality that address fine-grained computing needs (e.g., rapid event ingest from a data-spewing IoT device).
Greatest value (and greatest results) will be achieved by IT organizations that put together a roadmap to move from earlier lift-and-shift approaches toward cloud-transformed business initiatives. The first step is changing one’s mental model of what a cloud provider really delivers.