Assuming you're being serious, the advantage of the cloud is scalability, avoiding managing hardware, reliable power, and reliable network.
You want to run your web app off your basement server? Go ahead, but if you have a blog post that hits the front page of HN, there's no way to scale up. If your home server has hardware failure then you're out of luck until you can get new hardware. Your home has a power outage or ISP outage? Your site is down.
If you can tolerate those things, great! I wish my employers and their customers would tolerate it.
> Assuming you're being serious, the advantage of the cloud is scalability, avoiding managing hardware, reliable power, and reliable network.
Or in reality, it's weird transient failures you can't debug, and unexpected bills for some asanine reason. And scalability sure seems like something to avoid until you actually need it (as in the demand on the site is large enough, not that your performance is so bad you can't handle traffic).
Obviously I can be more cavalier with my uptime, as it is a personal server.
My first job out of college was a hybrid computer operator /programmer for a company that ran a state lottery. This was the mid 90s.
They had a complete backup site with redundant servers, modems (for point of sales systems) and a redundant staff because the cost of being down was so high.
We never had to use the backup site the entire three years I was there.
Well, if you're serving reasonable amounts of text and not including a javascript kitchen sink. I mean yes, you probably should be serving library off an edge network, but I've seen stranger.
Then that goes out the window the moment you have any media on that Pi... ISP upload speed in the US is balls.
Oh, did I mention that most ISPs in the US don't allow hosting websites? So are you putting that Pi in a datacenter?
And, I forgot to mention, what happens with you piss off some bored troll and get DDOSed?
None of what you mentioned related to "traffic to a blog post from HN front page". I am just saying "traffic from HN front page" is a poor example of things that need "scale up".
Not disagreeing all the challenges you mentioned. Just "traffic from HN front page" is so easy it is a poor example.
> I'm sorry, what's the advantage to the cloud again?
For-most-purposes-infinite on-demand resources, provided in a format where you don't have to pay for when you aren't using it. And yes, we all know that this does mean you pay a premium for it when you need it, and (good) cloud folks understand that you have to design for that reality.
If you don't need that advantage, that's fine, but it's silly to act like it doesn't exist. Find the point where the delta in variable costs outweighs additional capex and steer your solution to that point, make peace with inefficient spending, or get out. You don't have to be weird about either extreme position.
This matters when you're an op in an IRC channel and someone joins the channel, starts spamming racial slurs, so you ban them, and they respond by DDoSing you.
If I had a dollar for every time it happened, I'd have $2, which isn't a lot of money but it's pretty annoying that it's happened twice. The first time, they only ran the attack for a few minutes. The second time it happened, they ran it for over an hour. Releasing and Renewing my WAN IP didn't stop the attack, because I still got the same WAN IP. I had to call my ISP support and spend way too long on the phone trying to talk to someone who knew what I was asking for to get a new IP address before I was able to dodge the attack.
Using AWS, I can configure security groups so that my VM never even sees the packets from a DDoS if I've configured them to only allow connections from my home IP.
This just reminds me why I just run (my personal) web apps on the server in my basement: it's actually simpler.
I really think the worst part of programming is dealing with the development environment.