Why Speed & Agility is more important than Unit Cost.
Many have assumptions about cloud that are simply incorrect.
This is important to consider...if you go talk to a major cloud provider, of course they are going to show you how they can solve for world peace and hunger while saving you money, right?
Let's start with some preconceptions about cloud:
- "I'm going to cloud to reduce unit cost expenses."
- "I'm migrating applications to the cloud, so I don't have to manage them anymore."
- "Platforms in the cloud are smarter than what I can build myself."
- "Cloud is insecure, so I cannot put anything important (i.e. production workloads) in the cloud"
- "I am going to cloud, because it is better than building myself."
Wait, what? Those are not true?
My favorite of these conceptions is that cloud is cheaper on a per unit cost basis, in the vast majority of cases, this is simply not true. At our day jobs, we do detailed analysis on a workload by workload basis of applications and find that the vast majority of workloads are more expensive to operate in a public cloud. Yes, more expensive. So why deploy to a public cloud? Opportunity cost.
Today's business marketplace is finding startups are coming in and disrupting the core businesses of several industries. We refer to them "*-techs", with some examples being fintechs (financial services disruptors), healthtechs (health insurance disruptors), markettechs (retail disruptors), or edutechs (education disruptors). In each case, these "plays" find something they can do much more efficiently than the legacy leaders in that business and work to disrupt and displace the entrenched leaders in that space. A perfect example is a company who can do "wire transfers" more efficiently and/or cheaper than a traditional bank or financial services firm. Rather than trying to attack the leader by taking them head on, they simply go after one element of that business. While this sounds fairly innocuous, now imagine that you are one of the top 50 traditional banks and instead of having to deal with one disruptor in wire transfers, you have 40-50 different ones each attacking you in different areas. Scary...
How to compete with the "-Techs"? Join them in disrupting the business...
This is where things get tricky. Other than buying the disruptor out of the marketplace, the "-tech" can typically outperform a traditional business because their code is written in a manner that allows new business functionality to be released very rapidly. An example of this is Facebook, where they can release new functionality multiple times a day. This is due to embracing an architectural model around "microservices," the concept of decoupling large complex applications into much smaller functions that are built around Application Programmable Interfaces (API). The concept of APIs are well documented in other places on the internet, however what is the key to our story is that in a microservices architecture, APIs enable functionality to be rapidly deployed. Why? If I can decouple a single function into a standalone service with a pre-defined language and structure for requests coming in and going out, then I can change the function in the middle as necessary as often as I would like as long as the API inputs and outputs and their standards remain the same.
Compared to monolithic applications, this allows new functionality to be released as soon as it is available, rather than waiting for the next release. And every traditional enterprise in the entrenched leader category has to release against a monolithic paradigm (unless they have upgraded to microservices). Which, consequently, we are seeing a massive effort to refactor monolithic applications into a microservices framework as fast as possible.
How Public Cloud Platforms change the game for the traditional enterprise
And this is where public cloud platforms shine. If you ask internal IT to create a new development platform to support rapid application development and refactoring to microservices, it would take a smart IT organization a minimum of 9-18 months to bring the platform online once of the standards are established, agreed upon in triplicate, socialized, revised, and then built from scratch. Only then can you start functionality development...By then you have given that "-tech" disruptor an insurmountable lead.
Or you can give Amazon, Azure, Google, or Alibaba a credit card and use their platforms ready...right now. So while the unit cost is higher, the opportunity cost makes the speed of cloud a necessity...especially when you are playing defense against a competitor who has a more nimble and efficient way to disrupt your business.
So I should just move all my workloads to the cloud then?
Probably not. Consider, the rise of the hybrid data center is really to address the discrepancy between new and traditional forms of IT applications. Gartner refers to this as "Bi-Modal". Forrester refers to this as "multi-modal" while Cloud Developers speak in terms of Agile DevOps and Waterfall. In the end, they are all saying the same thing. Some applications need to pay the premium to enable a rapid rate of change. Others simply don't need it and therefore do not require the premium. How to tell which will be a topic for a different day.
Cloud is not easier, nor is it a silver bullet, but it can solve several problems that IT is not ready to solve. At the end of the day, IT has embraced the cloud because if they cannot keep pace, developers working for the business have demonstrated that they will seek solutions outside of IT.
Sit down and buckle up. We are in a chaotic and confusing time in IT, however, the opportunity has never been better to make a difference.