The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
I love the cloud!
I'm not "dumb", but server maintenance never was my thing.
I can create awesome apps, but I can't run them on a server because A) I don't have a server and B) even if I had one I wouldn't know how to configure it.
This is of course not so much an issue with companies, but it is for me.
For me, it means I can now give my customers software without having to hire a third party who does all the server stuff.
Perhaps back in the day, people could do both, but I'm having trouble enough keeping up with .NET Framework, .NET Standard, .NET Core 2.1, 2.2 (which wasn't an LTS release, which I learned the hard way), 3.0 (which also is not an LTS ), 3.1 (bingo, that's the one!) and now .NET 5 (will it, or will it not be LTS?).
And then I do have to know about certain Azure services, whether I do have on-premises hardware or not, because not all Azure services can be run on-premises and you can have both anyway.
Then there are all these new (versions of) frameworks and libraries that I have to keep up with because people are asking for them.
Let's not forget all that DevOps stuff (Jenkins, Azure DevOps...).
There's just too much software related stuff to ALSO keep up with server configuration.
I think the cloud offers real value for companies, software developers and system administrators alike.
Also, don't see it as a "dumbing down", but as "another thing to learn".
They aren't mutually exclusive and despite looking simple, cloud is anything but simple.
Nothing but respect for those who are experts at system administration (AND cloud) or software development (AND cloud) or are even just experts at cloud.
To give you a high level overview of a small Azure project I did for a customer:
- Create an Azure web app to run my .NET Core 2.2 (argh!) application.
- Create an Azure SQL database (with code first in the app) for my data.
- Set up a storage account and install file sync on the on-premises server.
- Create a couple of Azure Functions to async process the files.
- Use Azure Service Bus for async queueing.
- Manage Azure AD for access with on-premises sync.
- Deploy as much as possible using Azure DevOps.
- Keep secrets in Azure Key Vault.
That's quite a lot to know and manage, wouldn't call it "dumbing down"
Doing all this on-premises is possible (except for the serverless and key vault part, and you'd have to switch DevOps with TFS) and I agree that would be way more difficult.
The question is, do we really want it to be way more difficult?
Maybe "subscribing down"? In the old days, hardware servers became obsolete in 2 or 3 years, so a new one was needed to support new applications, devices, workloads. Software had to be upgraded/rewritten to accommodate the new hardware. Nowadays, not so much. So, since I can't sell you a new version of my software every year or so, I will sign you up to "rent" it (subscribe). Hardware folks looked at that and the cloud was born? New businesses looked at it as a way to avoid IT departments and server rooms. Older clients with the server rooms poohed it until time to replace expensive hardware. Like any other advancement, some old jobs go away, some new ones show up. Relax, be assimilated.
You do the same type of dealing, except it's with virtual machines. You specify capacity requirements, and a VM is generated to your spec. And as in real-life, it's either over or under-specified, and you pay accordingly. It's just all happens faster.
It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it.
― Confucian Analects: Rules of Confucius about his food