
Ask HN: For managing websites, how do I transition to cloud computing? - djellybeans
Imagine you are going to walk through someone who has only used Godaddy web hosting (not really me, but an approximate example) into using AWS, Azure, etc to manage their website, what resources would you point them to?<p>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?<p>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.
======
dingsingsing
In terms of just getting comfortable with a new system, if you have the time,
i would suggest trying to get a simple webapp deployed on a new cloud service
tool, I've found with Aws, Azure, Netlify, Google Cloud, and other big
providers you can just Google search:

-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-...](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html)

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.

------
matt_s
You would need to learn about automation resources a cloud provider has to
deploy something. Think about a typical LAMP server: instead of you manually
building the LAMP server: picking a Linux distro, installing Apache, PHP,
MySQL, cPanel, etc. you will have scripts to build the LAMP from scratch and
deploy your code. Minus the MySQL part of LAMP, your database would be running
on a separate host, always on and available for any number of web servers to
connect. That is a key concept that cloud typically requires a multi-tier
architecture: a db server, multiple web servers behind a load balancer and the
domain points to the load balancer.

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.

------
mattmanser
It's pretty easy to start, you can still do exactly the same setup as you had
just using exactly the same stuff (spin up a VM, install stuff, go). But then
start using the cloud storage instead of disk, it takes minor code changes,
etc. And go from there.

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.

------
mekkkkkk
It depends on the granularity you need. If you need to manage clusters and
scaling and individual machines then you might need to spend some time going
through docs/books/tutorials for the cloud and tech in question.

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.

------
caryd
Is there a question? You are asking for dozens of solutions.

