I feel almost like a total boomer learning how to use computers for the first time. What cloud services would I need for a brochure style website, or an e-commerce website, or a web app serving thousands, etc. When should I use containers and when I should not?
I have prior experience setting up domain name services on Plesk and cPanel, LAMP servers for local and remote use, Apache and PHP configuration through the text files, etc.
-how to deploy static JS website to AWS? -how to deploy java web app to AWS? -How to deploy JS static web app to Netlify?
-For example Google search: How to deploy LAMP server on AWS? https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-...
These systems want to take your money so their dev communities, tutorials, and documentation are usually surprisingly readable and easy to get started with assuming you are fluent in English.
From there you can get experience deploying applications to production, and go from there into the more complicated stuff.
A lot of the available tools and systems, aren't required, they just make things run more efficiently and do cool stuff (that you might not "need"). So dont assume you need to use every tool available in AWS's brochure despite some article you read that says otherwise. If you dont want to use containers, don't, and consider learning how to implement your containers when you have time in the future.
In terms of going from a simple web app deployed on a cloud service to being able to handle traffic of thousands of concurrent users, that just requires more reading online about it, consider paying for help if this is a business that you are running with deadlines and not just simply a learning project.
Think of it like a bunch of web servers running and you define when to scale up another one (say 75% CPU utilized), it runs the scripts to create a new web server and add it behind a load balancer when that web server responds positively to a health check. This is where containers help, you define your web server build and an image is created of that build. Then cloud provider just creates a new pod/container running that image.
I tried to keep this generic, cloud providers have their own terminology on how this all works. Reading up on kubernetes will help.
The decision to use cloud computing should really be based on the number of requests. You can probably safely serve hundreds to low thousands of requests per minute on a standalone LAMP server (depending on its size).
A brochure website, say for a local restaurant, will not get a lot of traffic so cloud computing is overkill and will be too expensive compared with a $5/mo LAMP server somewhere.
Hosting 1000 brochure websites could be a good use of cloud since a lot of them will have low traffic but if something gets a lot of attention it could be mostly hands-off to let the cloud scale up appropriately, to some $ threshold.
However you pay a LOT more for the same performance. A rented bare metal server for £700 a year will cost you like £7000 on AWS or Azure to get the same sort of performance. The performance of the cheap servers in the £20-£50 range is absolutely abysmal.
Unless you have a good reason to use cloud computing, like actually needing to ramp up, ramp down, or large storage needs, avoid it. Unless you just need to be able to put it on your CV.
If you just want to host websites or simple services, IMO you are better off using one of the popular cloud wrappers such as heroku. They streamline the process a lot and has optional plug and play integrations to cloud hosted databases and queues and whatevers.