I have to be honest here. I was quite surprised when the term cloud became relevant again a couple years ago. This is because in my memory there already was a time in which the cloud was presented as ‘the next big world changing’ concept.
What is this cloud really?
Instead of storing files and running your programs on your own servers you can choose to do it on someone else’s like those of Amazon, Microsoft or Google. From these servers they will make your applications and data accessible via the internet. So in theory If you would pick up your server and drive it to a Google datacenter and plug it in, you could consider it ‘in the cloud’.
So I find the whole term cloud a bit misleading and makes it seem so much more vague than it really is. The word cloud is often symbolic of mystery, dreams, secrets, emotions, and potential.
It has nothing to do with any of them (apart from many emotions). It has to do with renting server space from some company.
Same same but different
When you migrate your current application to ‘the cloud’, the quality or user experience will not automatically be improved. In regards to functional quality nothing really happened.
If it is my nature to be distracted quickly when working from home then that will not change by sitting in a rented office. If it was purely the environment that distracted me then renting a seat in a shared office space could be helpful. The dry cleaning service is convenient. It saves time. Also I do not have to invest in a washing machine and in soap. I will have to pay for the service though. It can be a fixed fee or it can be pay-per-use. But man, also here there can be so many distractions….
If deploying the application was a painful or manual process then it could be easier when using cloud services but if architecture design is the reason for the process then that will not be solved by migrating. It will only be resolved by either refactoring, rebuilding or buying.
These are the kinds of considerations you will have to do. Nothing here will be free of charges so carefully weigh the pros and cons.
Depending on the perspective
If you look at cloud computing from an IT perspective things seem as they are intended to be. The ease of setting up, test and deploy and run are so much easier than they have ever been. Tools in abundance. From manual deployments to continuous delivery building blocks, from monolith to serverless there is just a wave of innovation to be ridden here.
From a non-IT perspective things can go either way. You might hear that there are no changes allowed until the application is migrated to the cloud. And after months of invisible work you have the same you had. Like, exactly the same. You can on the other hand have so much innovativeness that will facilitate getting ideas to production in minutes and monitoring the results without writing any code.
There can be many reasons to use cloud services but in reality most of them have to do with costs, are IT related or driven by buzzwords.
For most of us it is a big win already when we are able to do acceptance testing during the sprint on the acceptance environment. To be able to provision a clean test database for each continuous integration run. For a company like Facebook a blue-green deployment every minute can be of major importance and the investments in high end solutions are justified.
From a non-IT perspective it is good to always demand a clear answer to the question: ‘What do me and our users gain by this?’.