On-premise vs. Cloud: Managing IT Requirements In a World of Uncertainty
“Success is a lousy teacher. It seduces smart people into thinking they can’t lose.” – Bill Gates.
The pattens which helped you successfully deliver infrastructure services may work up to a point, but then you outgrow them or they outgrow you. If you want to stay relevant, change is inevitable. Agility is key to being able to ramp up or ramp down quickly, and is a true measure of good planning.
We often only imagine what it would take to double or triple the capacity of our systems but we rarely consider how to cut them in half without losing resilience. In a world of uncertainty, IT leaders can leverage the cloud to manage scale and remain minimally impacted by movement in either direction. Often times, environments need to be created and broken down quickly. The flexibility of cloud services is suited to accommodate these scenarios without betting the farm one way or the other. The new constraining variables have shifted to the limits of the provider and their associated service costs.
I’ve heard colleagues talk about the trade-off between agility and control when considering cloud and on-premise solutions respectively. When scaling infrastructure, it’s important to maintain as much control as possible without vendor lock. IT professionals are sometimes caught off-guard by how much control they lack when deploying an on-premise solution due to ecosystems associated and perpetuated by a hardware vendor. But most would argue that the on-premise deployment is paradoxically more under control because of greater transparency and the knowledge of where data are stored.
It appears that there will always be differing views on this but I boil it down to a few key questions:
- How much is my business changing and would I perpetuate waste/technical debt by building my own solution?
- Do I have deep skills in my team to build what I need or do I trust an expert provider enough to subscribe to their solution?
- Is the technology core or contextual to my business?
- Is there a suitable cloud solution that meets most of my needs, creates transparency, and requires very little investment of time?
- Can I afford to overcome the on-premise obstacles of capital and resource constraints to meet time to market expectations?
- How does the cloud provider serve my regulatory requirements and help me achieve my SLAs?
- How can I scale seamlessly and maintain consistent service levels?
Cloud providers have the appearance of greater scalability because they’re building multi-tenant solutions for thousands of customers and generally shard their customers into pods with greater capacity than anything required by an individual customer instance. In rare cases, a customer will push the limits of their instance and the cloud provider is forced to rebalance the distribution of tenants among their pods.
But consider the alternative with an on-premise solution where your pod and your instance are already synonymous. There is nowhere to rebalance on premise and you’d better have enough space, power, and cooling to host the needed capacity. With good design, an on-premise solution has horizontal scalability where one can simply buy more bundles of hardware/software to achieve units of capacity. However, those purchases are often huge capital investment competing with the other critical investments a business is considering in order to grow sales. Being able to buy cloud services in small increments, often a user at a time, provides significant tactical advantage and allows growth without squeezing out other strategic investments.
For me, I don’t start with asking why scale in the cloud; I ask why not. Every IT leader is inundated with requests from the business to create value. A friend once gave me advice to live by: work smarter not harder. As an IT leader, I choose the cloud so I can work smarter. Last I checked, there’s no chance of the earth rotating slower and creating more hours in a day so I’m going maximize every minute I have.