Why we like the cloud
If the cloud taught us anything, it is that nobody wants a server; we want what a server provides for us, which is software. We want the application. The server is just a necessity, a means to an end. Today, because of the cloud, if you want an application, you open a browser on your laptop, type in a web address, push the “Create account button” and boom, you have your application.
Technology leader experience before cloud
Now, compare that experience with what was necessary in the 1990s. First you had to buy a server. If it was a multi-tier application, then you had to buy multiple servers. If you needed disaster recovery, you had to buy more servers for the DR site.
The server was a capital expense. It had to be depreciated over a three year period. Which meant you were stuck with the server you bought day one for three years. Which meant you had to calculate what your server load would be three years from now and buy for that size. Good luck with that.
Then you had to buy and install an operating system. Then you had to buy and install a database. Then, and only then, could you install your software. Of course, every software had a list of dependencies. The install process would fail with, “Missing Utility X.” When you tried to install the utility, it would fail with “Missing library Z version 2.5”. And on and on. After all that, you would finally have your application.
But it didn’t stop there. Every six to 12 months you would have to upgrade the software. Which may need an upgrade to your operating system, your database, maybe even your hardware. Oh, the joy.
It’s not that the cloud has dramatically decreased our costs. It has dramatically decreased our pain. As a technology leader, you can focus on what you want, which is the application, and not worry about servers, operating systems, databases, or updates. In fact, instead of waiting months for changes, you have them continuously, with no effort on your part. That is why technology leaders love the cloud.
Software vendor experience before cloud
As bad as it was for the customer before cloud, one could argue it was just as bad or worse for the software vendor. He had to write his software to support all kinds of hardware, different operating systems, different databases. All those exceptions made the software much more complicated. The vendor was on the hook to support the software in the customer’s environment, an environment which the vendor had little to no visibility, let alone control.
Changes to the software could only be released every few months because of the impact it had on customers. Sometimes customers would refuse to upgrade for years, forcing the vendor to support multiple versions of the same application.
Every year, the vendor had to go hat-in-hand to beg the customer to renew his support contract. There would be haggling and last minute, end of the quarter price slashing. There was the added problem of knowing exactly how much software the customer was actually using. What a mess.
Cloud improvements to enterprise software
The cloud changed the scenario for the software vendor. The software is now deployed in an environment the vendor controls. He only needs to support one environment, his own. That means that a huge part of the cost of running a software company, the support team, shrinks dramatically. The software vendor can also modify and upgrade the environment at will. Which means he can deploy software updates at will. There is no continuous delivery without the cloud.
The vendor now has complete visibility into how his customers use his software. And here is the best thing of all (for the software vendor, that is): he can sell his software as a service and establish a continuous revenue stream.
So, the cloud is great. It removes pain from the customer and the vendor. Everybody is happy. Except. Except now we know not everything can run in the cloud. We now face the challenge of edge computing. And nobody wants to go back to the way it was before. That is the challenge that edge computing must solve.