A new day has dawned! Computing will now be accessed and consumed like a power utility. Just flip the switch and consume what you need. When done, turn it off and you pay only for what you used. Why it is so cheap and easy to use, you can buy it with your credit card. No more waiting for months to get equipment purchased, installed and verified. Welcome to the Promised Land – or so Amazon Web Services (AWS) promised us when it launched its cloud offering ten years ago.
But look where we are today. Sure, AWS is a behemoth with an annual run rate over $10 Billion. On the other hand, the promise of a simple and easy to use utility has been replaced by a wild garden of over sixty products and services. A growing number of firms are lining up to be AWS Certified MSP’s (Managed Service Providers) just to help you navigate this thicket. And AWS’s competitors, Microsoft and Google, are proliferating their offerings as well, as they chase the market leader. What happened? Amazon will tell you that they are just responding to the needs customers are sharing with them. And while true, let’s look deeper.
Consider our power utility analogy. All power in a household comes out of standard outlets in standard voltages and amperages. What we often don’t think about is how we turn that power into useful work for us. I am writing this on a computer where it stepped the voltage down to the low levels needed to process information through Integrated Circuits and memory drives.
I had toast this morning created by a toaster that took the full power and turned it into heat. The vacuum cleaner used a different amount to turn it into mechanical work. Think of your appliances as applications that take the raw standard electrical power and create some useful outcome for you. The key is that they manipulate that power – raising it up or down – to produce the needed outcomes.
That’s not the way it quite works in computing. Applications need different amounts of resources depending upon what they are designed to do in order to function well. We are used to the applications we all run on our personal computers and mobile devices. These were all designed to run on those standard platforms. Even today we can see that some run better than others depending on the machine you have. Some of the newer applications won’t even run on old machines or run so slow as to not be practical to use.
Imagine the difference between running the applications for a retail website, versus processing checks for payroll, versus analyzing a piece of the human genome. These are very different tasks needing very different levels of capability to be effective. So, was the cloud’s promise of computing being an easy to use utility a bogus come-on designed to draw in the unsuspecting? Not really, it was more of an imperfect analogy. (Aren’t they all?).
In the “early days” of cloud computing developers were used to needing to consider the concepts of servers, memory, storage, etc. When AWS started, it packaged its offerings in this familiar way. This means the developer had to be knowledgeable about the processing speed and capacity needed for the application to run well. Lots of different applications mean lots of different sizes and combinations – that’s how we got the unruly garden.
But what if that was not necessary? What if the machines were “smart” enough to know what the application needed? (I know, this takes a little time to get used to.) That’s where AWS Lambda comes in. The application is written to the Lambda Service – you do not specify any infrastructure – and then is activated by a triggering event. The event can be almost anything but let’s say, someone want to place an order on your site. The Lambda service then turns on the right resources, executes the application and you are billed only for as long as it took to execute your application. Billing is $0.00001667 for every GB-second used – Voila! – A true utility.
Microsoft and Google have responded and launched their own services in what is being called “serverless computing”. Although almost two years old, we are in the early days. While almost all customers use the original standard AWS offerings, only about 17% have used Lambda. But could it be, are we entering the Promised Land?