7 ms·
The cloud has made people forget how far you can get with a single machine. Hosting staging envs in pricey cloud envs seems crazy to me but I understand why yo
by tempest_ 1y ago
The cloud has made people forget how far you can get with a single machine.
Hosting staging envs in pricey cloud envs seems crazy to me but I understand why you would want to because modern clouds can have a lot of moving parts.
- odie5533 1y agoFully replicating prod is helpful. Saves time since deployment is similar and does a better test of what prod will be.
- teaearlgraycold 1y agoCompletely agree. It’s not a staging server if it’s hosted on a different platform.
- odie5533 1y agoI think OP is using these less as staging and more as dev environments for individual developers. That seems like a great use of a single server to me. I'd still like a staging + prod, but keeping the dev environments on a separate beefy server seems smart.
- ricketycricket 1y agoI've been using a development server for about 9 years and the best thing I ever did was move to a machine with a low-power Xeon D for a time. It made development painful enough that I quickly fixed the performance issues I was able to overlook on more powerful hardware. I recommend it, even just as an exercise.
- eru 1y agoFor similar reasons, in the Google office I worked in you had the option to connect to a really intentionally crappy wifi that was simulating a 2G connection.
- hamdingers 1y agoThe "platform" software runs on is just other software. If your prod environment is managed kubernetes then you don't lose much if your staging environment is self-hosted kubernetes.
- odie5533 1y agoLoad balancers, IAM roles, kubernetes upgrades, postgres upgrades, security settings, DNS records, http routes... there's a lot that can go wrong and makes it useful to have a staging environment.
- j45 1y agoCloud often has everyone thinking it's still 2008.
- tempest_ 1y agoWith some obvious exceptions there isnt much you cant run on a 200 Core machine wrt web services.
- j45 1y agoOf course. The default thought to use the cloud because it's more performant though for even the most basic to intermediate loads instead of the hardware directly is what I'm referring to and what the article is referring to. It's very easy to pay for cloud services per transaction at greatly inflated prices than what it actually costs, and how many cpu cores it actually uses at any given time.
- rikafurude21 1y agoThe cloud has made people afraid of linux servers. The markup is essentially just the price business has to pay because of developer insecurity. The irony is that self hosting is relatively simple, and alot of fun. Personally never got the appeal of Heroku, Vercel and similar, because theres nothing better than spinning up a server and setting it up from scratch. Every developer should try it.
- agumonkey 1y agomy take is that it's fun up until there's just enough brittleness and chaos.. too many instance of the same thing but with too many env variables setup by hand and then fuzzy bug starts to pile up
- daemonologist 1y agoI dunno, the cloud has mostly made me afraid of the cloud. You can bury yourself in towering complexity so easily on AWS. (The highly managed stuff like Vercel I don't have much experience with, so maybe it's different.)
- ygouzerh 1y agoI will recommend to try GCP or Azure, the complexity is lower there! AWS is great for big corporate that needs a lot of lego pieces to do their own custom setup. At the contrario, GCP and Azure solutions are often more bundled.
- tempest_ 1y agoIt is way more than that though. It offloads things like - Power Usage - Colo Costs - Networking (a big one) - Storage (SSD wear / HDD pools) - etc It is a long list but what doesnt allow you do it make trade offs like spending way less but accept downtime if your switch dies etc etc. For a staging env these are things you might want to do.
- brandon272 1y ago"Self hosting" may actually be referring not to hosting your own on-prem hardware, but to renting bare metal in which case the concerns around power usage, networking, etc. are offloaded to the provider.
- MangoCoffee 1y agoThe cloud has made people forget that the internet is decentralized.
- jamestimmins 1y agoThis could be the premise for a fun project based infra learning site. You get X resources in the cloud and know that a certain request/load profile will run against it. You have to configure things to handle that load, and are scored against other people.
- YouAreWRONGtoo 1y agoAll it means is that the cloud doesn't work like a power socket, which was the whole point of it. Things like Lambda do fit in this model, but they are too inefficient to model every workload. Amazon lacks vision.
- altcognito 1y agoThe weird thing is the relationship between developer costs and operations costs. For startups that pay salaries, $3000 a month is a pittance!* * The big caveat: If you don't incur the exact same devops costs that would have happened with a linux instance. Many tools (containers in particular) have cropped up that have made things like quick, redundant deployment pretty straightforward and cheap.
- andersa 1y agoThe best part is when you start with a $3000/month cloud bill during development and finally realize that hosting the production instance this way would actually cost $300k/month, but now it's too late to change it quickly.
- jeroenhd 1y agoTeaching a whole bunch of developers some cloud basics and having a few cloud people around is relatively cheap for quite a while. Plus, having test/staging/prod on similar configurations will help catch mistakes earlier. None of that "localstack runs just fine but it turns out Amazon SES isn't available in region antartica-east-1". Then, eventually, you pay a couple people's wages extra in cloud bills, and leaving the cloud becomes profitable. Cloud isn't worth it until suddenly it is because you can't deploy your own servers fast enough, and then it's worth it until it exceeds the price of a solid infrastructure team and hardware. There's a curve to how much you're saving by throwing everything in the cloud.
- nine_k 1y agoDeploying to your private cloud requires basically the same skills. Containers, k8s or whatnot, S3, etc. Operating a large DB on bare metal is different from using a managed DB like Aurora, bit for developers, the difference is hardly visible.
- matt-p 1y agoRDS/managed database is extremely nice I will admit, otherwise I agree. Similarly s3, if you're going to do object storage, then running minio or whatever locally is probably not cheaper overall than R2 or similar.
- objektif 1y agoI would never ever go back to hosting own DB. It is just a maintenance nightmare.
- nimbius 1y agoyou can literally buy a used dell desktop that matches the spec for hetzner (8 core, 32 gigs of ram) for under 500 USD. Why wouldnt you just do that? As cloud marches on it continues to seem like a grift.
- sodality2 1y agoDo you plan on keeping it in your home? At that point I'd be worried about ISP networking or power guarantees unless you plan on upgrading to business rates for both. If you mean colo, well, if you're sure you'll be using it in X years, it's worth it, but the flexibility of month-to-month might be preferable.
- SchemaLoad 1y agoBecause that used desktop is subject to power outages, internet outages, the cleaners unplugging it, etc. Datacenters have redundancy on everything.
- eru 1y agoAlso you still have to pay for the electricity on that thing. The cloud costs includes everything.
- jopsen 1y agoNot to mention physical security. Breaking into a home is relatively easy. And unless you live in the US and is willing to actually shot someone (with all the paperwork that entails, as well as physical and legal risks), the fact is that you can't actually stop a burglary.
- ngold 1y agoI'm probably wrong, but this argument always cracks me up. It used to be called 3 laptops a power scrubber and a backup battery. If you want to go self hosting things. If you were fancy you had two servers.
- marcosdumay 1y agoAnd you'll need some $100/month to colocate that thing, so you are better spending some more and buying a reasonable server that uses only 1U.
- noosphr 1y agoThe cloud was a good deal in 2006 when the smallest aws machine was about the size of a ok dev desktop and took over two years of renting to justify buying the physical machine outright. Today the smallest, and even large, aws machines are a joke, comparable to a mobile phone from 15 years ago to a terrible laptop today, and take about three to six months to in rent as buying the hardware outright. If you're on the cloud without getting 75% discount you will save money and headcount by doing everything on prem.
- adgjlsfhk1 1y agoalso how far you can get with a single machine has changed massively in the past 15 years. 15 years ago a (really beefy) single machine meant 8 cores with 256GB ram and a couple TB of storage. Now a single machine can be 256 cores on 8TB of ram and a PB of storage.
- layoric 1y agoExactly, and the performance of consumer tech is wildly faster. Eg, a Ryzen 5825U mini pc with 16GB memory is ~$250USD with 512GB nvme. That thing will outperform of 14 core Xeon from ~2016 on multicore workloads and absolutely thrash it in single thread. Yes lack of ECC is not good for any serious workload, but great for lower environments/testing/prototyping, and it sips power at ~50W full tilt.
- eru 1y agoCuriously, RAM sizes haven't gone up much for consumer tech. As an example: my Macbook Pro from 2015 had 16 GiB RAM, and that's what my MacBook Air from 2025 also has.
- ericd 1y agoEhhh Macbook Pros can be configured with up to 128 now, iirc 16 was the max back then. But I guess the baseline hasn't moved as much.
- eru 1y agoYes, there has been some movement. But even an 8 fold increase (128/16) over a decade is nothing compared to what we used to see in the past. Oh, and the new machine has unified RAM. The old machine had a bit of extra RAM in the GPU that I'm not counting here. As far as I can tell, the new RAM is a lot faster. That counts for something. And presumably also uses less power.
- wild_egg 1y agoI saw a twitter thread recently where someone tried to make this point to someone shilling AWS spaghetti architectures. They were subsequently dog-piled into oblivion but the mental gymnastics people can do around this subject is a sight to behold. Simplicity is uncomfortable to a lot of people when they're used to doing things the hard way.
- matt-p 1y agoYou put your staging env in the same (kind of) place you put your prod system because you need to replicate your prod environment as faithfully as possible. You also then get to re-use your deployment code.