I have been programming for 40 years. I'm learning about cloud computing by using it. What I’ve found is disturbing. Cloud computing takes us back to 1960s centralized technology with long wait times for various steps in the development process.
Here are some advantages about it.
You don’t have to pay a person to upgrade infrastructure like the server hardware, operating system, or tools used on it. This can be better for small business which composes 99.5% of business in the US, who have limited capital.
You don’t have to have someone set up a backup program to back up all development assets, application settings, etc. This saves time.
But here are some disadvantages that no one will tell you about it.
It’s much slower to do development on. Running a small very basic program on a local machine takes 1 second. On cloud computing it takes a minute, 60x more time!
Starting development on the cloud of certain assets takes 3+ minutes because a “debug machine” has to be started. This takes about 1 second on a local machine to open a text editor to edit your code.
You are limited to dev tools that the supplier provides. For example, Microsoft Azure only supports Python up to version 3.11, not the newer 3.12.
Before you make the move to cloud computing make sure you understand both sides of the issue, and how much longer the dev time is for cloud computing, so you can better estimate how much time you are wasting for the developers. You save money at the front, but it takes much more time waiting for things to run, just like 1960s client/server technology.
On a related note, with Office 365, another centralized technology, it takes longer to open the same size Excel file using Office 365 than a local Excel app does. It takes about 10x longer to open a 10MB spreadsheet using Office 365. Also our Outlook will sometimes lose emails that people send. This has been going on for about a year and Microsoft still hasn’t fixed it. This can be a bigger problem for critical, time-sensitive emails.