Everything as a Service

In today’s world we are shifting from products towards services. One might say that this trend has arisen with the rise of cloud computing. How is it possible and what does this mean, exactly? Let me start with an example.

You want to travel from point A to point B. You want some basic comfort and you do not want to focus on the whole process. You just one to shift your position. Period. There are two solutions to the problem:

  1. Take a driver’s license exam, buy a car, get it working (mechanics might be required), fill it up with gasoline, buy insurance and basically you are done. Plus, you need to check the map (or at least your GPS).
  2. Rent a taxi.

As you might notice, the first point is not really supporting our idea of travel only. Plus, you might have noticed it is quite expensive. The second one does work better. You do not care about anything, basically. You trust the car in good shape, the driver has all required certifications, etc. You just buy a service.

Now, let us shift towards IT industry. You want to have your own website. You might want to consider two options:

  1. Buy bare metal server, buy software licenses, make sure you have electricity (and its backup), make sure you have internet connection (and its backup), install and maintain the required software and, on the top of that, hire administrators to support and maintain your infrastructure.
  2. Buy a cloud service.

Again, the second option is cheaper, simpler and helps you to experiment. Imagine, how costly it would be if you would have a great business example, that would require vast amount of financing, you would launch it and… you would have failed? You would end up with number of servers that are ancient (remember that computer hardware ages extremely fast) and you would bankrupt quite fast. On the other hand, if you would do the same but using cloud services, you would pay-as-you-go which means that you could stop the services as soon as you would notice it does not make any sense to continue. You would pay your relatively small bill and that would be it. Quite tempting, isn’t it?

Long story short, this is how “Everything as a Service” or “XaaS” concept works. When using cloud computing, you do not need to install and maintain your own database (or any other) service – it is provided to you via dedicated endpoint. Your application connects to the endpoint and sends its data there. Using particular services you do not need to launch your own virtual machines! Meaning, you can focus on your application only. This has pros and cons, obviously. Pros is quite obvious, however, one of the biggest cons is the lack of customization. Some services come with no possibility of adding or removing features and it is you who need to learn how to use them.

On the other hand, you can use a virtual machine (again, more of a software than a hardware), customize it as you wish and perform required maintenance as required. You do not need to hire new employees, though. Again, you can own such staff using DevOps as a Service mode.

Summarizing, cloud computing is great solution because you basically have no up front costs and you pay-as-you-go. Meaning, you can scale up your infrastructure when needed (pay more but gain more first!) and then scale everything down when your tasks are done. It also help organizations to learn. If your employees want to test a new solution, you do not need to invest much in new hardware. You can let them experiment and invest if and only if the tests were positive. This is where the fun starts and rapid progress commences. You need to remember that there are some parts of business where you really want to own everything, starting from hardware to software. But this is a very different topic.

Figure 1 How to imagine services available in the cloud? (Source: https://simple.wikipedia.org/wiki/Cloud_computing#/media/File:Cloud_computing.svg)
Remigiusz Pospieszyński