Who didn’t hear about cloud computing?
But what is it actually? According to AWS, the biggest cloud provider, cloud computing is the on-demand delivery of IT resources over the Internet with pay-as-you-go pricing.
The cloud providers propagate its advantages, and it’s sold as the solution to all problems.
In this blog post, I would like to argue a bit with some well-known opinions and arguments often used to convince people to go to the cloud.
In the end, I’d like you to present my subjective image of the cloud with some arguments behind the thesis.
Mostly, the cloud computing is presented as a good thing
Not many people though mention the disadvantages, possible problems, and dangers related to the cloud.
![cloud computing - meme](https://speardevs.com/wp-content/uploads/image-79-1024x905.png)
Pros and cons of cloud computing
Cloud computing has its own upsides and downsides. Let’s explore the benefits it offers alongside the potential challenges it poses.
Advantages of the cloud:
- No need to know your needs upfront
- Possibility to easily scale up
- All needed services in one place (in most cases)
- Services are easy to set up
- Safety
- Possibility to automate
- Many ways to reach the same goal
Disadvantages of the cloud:
- High costs
- A high entry barrier
- Vendor lock
- Experience needed
Advantage: No need to know your needs up front
Is it true? Well, sort of. You can just pick a service, start using it, and upgrade as you go and when your needs are bigger.
But in such a scenario, the cloud shouldn’t be your first pick, as you may order the more expensive option than you need.
The cloud offers so many options, that it’s often not easy to pick the appropriate one, and the costs are not presented easily, but as an hourly rate. Can you multiply it by the number of hours in a month and have the cost? Sure you can. But it’s not obvious what the cost will be at the end of the month at first glance.
The best option is to actually know your needs upfront, and pick the most optimal one for your use case, taking into account your potential growth.
Advantage: Possibility to easily scale up
There is a lot of truth in this statement, but not entirely. Nothing is easy with a cloud, at least not at first – and this is true also for scaling up. You have to really know what you’re doing because there is a risk of generating big costs.
Scaling up is easier with the cloud than doing it without it, but still, it’s not easy.
You have to know whether simply adding new services is a way to go, or maybe there is a different mechanism to do it effectively.
Advantage: All needed services in one place
Yes, the cloud offers you a lot of various services, but most of them won’t ever be used by you or shouldn’t be used – even if technically you can. Picking the most optimal service to get your job done may be difficult, and proper research needs to be done.
![cloud computing - meme](https://speardevs.com/wp-content/uploads/image-80.png)
Advantage: Services are easy to set up
You can set up services using the UI and the API, but is it easy? It depends.
API usage is out of the scope of this blog post, but let’s think about the UI setup.
In AWS for example, you can use preexisting templates to set the services up, which is convenient, but it’s not the perfect option for more complicated setups, especially if you care a lot about the proper networking between the services.
A lot of services are dependent on other AWS services, so to make them work, you may end up setting up many additional services.
Advantage: Safety
When it comes to safety, the cloud providers are responsible for protecting the infrastructure that runs all of the services – so the security of the cloud. But the proper security and access configuration – so the security in the cloud – is the customer’s responsibility.
Moreover, we should take into account financial security, and we can open a big discussion there – it’s covered later on though.
![](https://speardevs.com/wp-content/uploads/image-82-1024x485.png)
Advantage: Possibility to automate
Cloud providers offer API access to their platforms, and by that, you can use various modern tools to set up the infrastructure for your project.
One such tool is Terraform, which allows you to specify how the infrastructure should look for your project using the code. You can store it in the repository, just like any other code, and using specific commands, automatically create services in the cloud with a proper setup.
Still, you need to know what it should look like in the end, and what you want to achieve.
Advantage: Many ways to reach the same goal
You can do the same things in various ways, but as you may guess, the complexity (and the bill by that) will be different based on the selected solution.
This shows why it’s so important to have the cloud experience before using the cloud or to discuss your concepts with someone who knows their stuff about the cloud.
Disadvantage: High costs
This is the most important thing in this whole blog post. Even though in some cases cloud may be cheaper than a non-cloud solution, in most cases it’s not cheaper. On the contrary, it’s more expensive.
It may be cheaper for very small and limited usage, especially when using free tiers – but you have to fit specific needs to be able to consider it.
It may also be cheaper for big infrastructure, where the strict cost optimization of the cloud financially makes sense, and by that when you can spend some time to tailor the cloud to your needs.
Another use case may be when you need your resources only for a while, and the rest of the time they are unused – for example, once a day for 15 minutes.
Is the cloud expensive?
But in general, the cloud is more expensive. In most cases, it’s not the cheapest option, but it gives you a lot of flexibility.
Very important thing to remember is to set up budgets together with proper notifications. Invalid configuration may lead to really big bills. There is no simple way to turn the cloud off, as no cloud provider has the interest in allowing hard stop of services.
You can implement it on your own, but it’s not the easiest thing to do.
Disadvantage: A high entry barrier
Starting with the cloud may be overwhelming. So many possibilities available, a lot of services, and a lot of documentation. This is actually a big problem with the cloud, even though a lot of educational materials are available on the web.
You have to spend a lot of time and put some effort to start.
![](https://speardevs.com/wp-content/uploads/image-87.png)
Disadvantage: Vendor lock
Every cloud provider has their own services doing the same things, and the APIs are different. In case of big infrastructures, it may be easy to get a vendor lock, so the situation, where switching the cloud provider to another or resigning from the cloud may not be easy.
There are services less prone to vendor locking, like Kubernetes in the AWS (EKS), but it’s very expensive and complex to set up.
Summary: Experience is needed
Everything we mentioned above can be done right, but maybe you don’t need it. If you’re not sure, talk with someone experienced, and do the same when it comes to the cloud setup. Experience is really important when it comes to working with the cloud.
GET IN TOUCH
Feel free to contact us to discuss things
We have AWS-certified and experienced engineers onboard ready to talk to you.
Below are some memes related to the cloud computing.
![](https://speardevs.com/wp-content/uploads/image-83.png)
![](https://speardevs.com/wp-content/uploads/image-84.png)
![](https://speardevs.com/wp-content/uploads/image-85.png)
![](https://speardevs.com/wp-content/uploads/image-86.png)