Should I use a Cloud Provider?
Should I use a cloud provider? This is a question that everyone was asking us every day a few years ago, but now it seems that if you are not in the cloud, you are making a big mistake. But why? It's the best marketing campaign in history.
AWS Revenue last year was 62 billion, Azure Revenue was 49 billion, GCP was 19 billion, Alibaba Cloud 9 billion, Oracle Cloud 7 billion, and IBM Cloud 6 billion. So if we only consider the six biggest, we are talking about 152 billion in 2021 and in 2022 there are increasing revenues in some cases by 40 percent. So for sure, we will end the year with more than 200 billion. And remember, the 200 billion is more than, for example, Greece or New Zealand GDP.
In 2010, AWS made 500 million in revenue and 11 years later, almost 125 times more. So with all these numbers in your head, can you explain to me what happened? Because I have to remind you that the human in 2010 was working in the IT environment and that computers did not appear in 2020, they appeared in the 70s. But COBOL and Lisp were created in the 50s like Fortran, so it is not something that appeared with TikTok.
So now that it's clear that IT is not a TikTok invention, why is everyone today in the cloud? Why has everyone decided to forget what a data center is? And by the way, do you know what a data center is? It is a cold and noisy place full of choirs and cool lights. It was the place to secure the maintenance in this noisy room with no chairs. And it is a place full of real security, so no firewalls or hackers, it is a place full of guys with guns.
A few years ago, every company had a data center or even in some cases, rented a space in a data center. In this data center, companies had their own teams. Day by day, companies started to introduce new technologies and concepts like Agile, DevOps, and started to work with Docker containers, Kubernetes, and so on.
In 2004, Gmail was launched and with this web tool, many others appeared in the market. Those tools showed the market that it was not needed to have a hard copy of every tool in your data center and that you can have a massive tool in an external provider. In 2006, AWS launched EC2 and S3 and in this way, companies started to be able to have external environments. So, step by step, they could move some components out of the data center, at least the Disaster Recovery part.
Kubernetes appeared in 2014 and it's not until 2018 when the first EKS version appeared. In 2017, Google created Cloud Functions, making something similar to what AWS created in 2014. In 2004, the microservices theory appeared. We started to hear about serverless in 2006 with Zimki and in 2008 in Google with App Engine, and it became popular when in 2014, Lambda appeared in AWS.
We started to have too many pieces. We had horrible monoliths that were impossible to compile. We had huge applications that needed to be installed and updated during the weekends. And we had many, many good things that were happening. At one point, everyone started to create their own private cloud, for example with OpenStack, which appeared in 2010, or tried to move to whatever cloud was in the market.
And one day when we woke up,nobody had a data center. Okay, really this is not true, there are still many companies with data centers like Equinix, Facebook, Google, Microsoft and many others. But still, there are many banks, financial organizations, hospitals with Data Centers and still there are very big companies with a huge data center. So data centers have not disappeared.
But then why should I have my data out of the cloud? First, we need to know what are the typical characteristics of the cloud: elasticity - your infrastructure grows or shrinks as soon as needed; cost - you only pay for what you use; fewer employees - we don't need people in our data center; shared responsibility - if there is a problem, your cloud provider will fix it so you don't need to do anything; always up to date - your cloud provider will work hard to give you consistent access to the latest updates and new technologies and you don't need to care about that. There are many, many more other characteristics about the cloud provider.
But there are many other questions too: Do I need to have microservices in my application? Do I need to know what a choreography-based Saga is? Do I need a database for each microservice? Do I need serverless services? Do I need to pay huge invoices for my infrastructure?
There are many cases where a cloud provider is a perfect match. If I start to think, in most of the cases a cloud provider is a perfect match. As we talked before, there are many cases where a cloud provider is not a good solution. For example, financial institutions that didn't want to share data with third-party providers. But this doesn't stop those organizations to move some workloads to the cloud. Systems in hospitals, nuclear plants and many other places where a cloud is not a good place. Government institutions that have the same issue. Companies that already spent millions on their data centers. But in this case, something is happening. Those companies have discovered that they can sell the land where the data center is located and build buildings and get enough money to pay Cloud providers and reduce the cost of firing everyone that was working in the data center.
Other examples are physical secure environments where, for example, you want to save your private keys, crypto silos, and many other places. As far as we understand, the cloud is unstoppable and this is the future in 90% of the cases. It is simple and fast and everyone can use it. What is also important to keep in mind that many of the so-called disadvantages of the cloud by this moment are nothing. Cloud doesn't have to be expensive and can be secure and scalable.
Here's the same article in video form for your convenience: