10 ms·
I'm very much on the boring technology side of things with respect to hosting. 40€ / month gets you a very powerful dedicated server that can easily handle mil
by sirwitti 4y ago
I'm very much on the boring technology side of things with respect to hosting.
40€ / month gets you a very powerful dedicated server that can easily handle millions of requests per day and performs incredibly well and can be managed easily.
If you also use containers you even get quite a bit of flexibility and agility.
To be honest I don't really understand the sentiment that developers can get away with not knowing basic sysadmin stuff and at the same time have to spend relevant amounts of time, energy and money to get up to speed with cloud solutions, k8s and so on.
But then again, I'm not one of the cool kids...
- Keyframe 4y agoYeah, but how will you scale up your multi-dozen-users-at-the-same-time app easily then?
- salawat 4y agoBuy more servers, loadbalance, and don't take the short painful route architecture-wise? It isn't really that hard.
- valbaca 4y agoCan't wait to end my next system design with "just buy more servers. scaling isn't really that hard."
- grogenaut 4y agoI've done exactly this in many meetings. It's a balance between infra costs and dev time optimizing spend. Typically ping pongs back and forth.
- devmor 4y agoThere is a point where that becomes exponentially prohibitively expensive. At a former startup where I worked as senior engineer, that was our original approach. Then one weekend we tripled our userbase and horizontally scaling required massive changes in database architecture, sharding solutions, etc. "Just buy more servers and load balance" is the short painful route. Carefully planning out and taking advantage of scalable architecture that can be provided to you less expensively because it too, runs at scale is the hard method. The fact that its easy to shoot yourself in the foot with it doesn't make it the easy route.
- salawat 4y ago>Then one weekend we tripled our userbase and horizontally scaling required massive changes in database architecture, sharding solutions, etc. You took the short easy route out of the gate instead of building for what you were planning to handle. This is the opposite of what I espouse. If you were going about it my way, you build that in from the ground up. Harder and a bit bumpier to roll out from the get go, but has worked well for me in the past.
- devmor 4y agoIf you want to spend capital for an unpredictable eventuality that may never pass over taking advantage of another company's investment to scale cost... sure, that's definitely the hard route. I wouldn't call it "good" or "intelligent", but it's definitely hard.
- aeturnum 4y agoScaling is a hard problem. I've worked at places where we used a whole network of auto-scaleable services and guess what - you will still have problems. Each managed service has tradeoffs, often ones that you only encounter once you'd made a substantial commitment to that service. There is no free lunch and you're fooling yourself if you think there is one. Often you get lucky and the cluster of managed services you select happen to scale along the metrics of your resource use. Many people's resource use patterns are similar and the managed service people take advantage of that. This is nice! But it's a trade for downside risk: you may find that your resource use patterns differ from the 90% case and your spend goes up very fast or your scaling hits a wall. In my experience a lot of designing a service architecture is picking where you want your complexity. Services (in or out of containers) running on VMs have a simple billing and architectural model. In my experience they form a good basis to organize your other resources around and are a good foundation to grow from.
- Nextgrid 4y agoHow do you scale your cloud app? Usually, the hard part of scaling isn't raw compute power, it's scaling your datastore after you've already exhausted the option of throwing more compute power at it, and this problem remains whether you're on the cloud or not. Until you hit that problem however, throwing more hardware at it is the right solution (you may be surprised just how much load a single Postgres server on bare-metal can handle).
- eropple 4y agoI agree with this in general, but would caveat that AWS etc. have made throwing more hardware at the datastore solution a lot easier. You're right that a bare-metal Postgres monster can serve a lot--but Aurora Serverless V2, if you can live with its (pretty mild IMO) quirks and if you can pay for it, is a profoundly hard-to-argue-with offering.
- ecshafer 4y agoI think this is a joke people missed. Surely scaling multi-dozen-users-at-the-same-time was obvious enough that people didn't start talk about scaling seriously, but that's what happened. If you app has multi-dozen users, and needs to "scale" something is wrong.
- Keyframe 4y agoYeah, my joke didn't scale well. We did well with servers (sans cloud) and comolex apps before.. something changed in collective mindset in the meantime.
- Mo3 4y agoYou're going to understand where the cool kids come from once your single dedicated server goes down or can't handle the load any more. As soon as you try to scale horizontally or become highly available and start to think about how to do it you end up falling into the same rabbit hole. > If you also use containers you even get quite a bit of flexibility and agility. Yeah... and then the only difference is between a single host and multiple hosts. Guess which one Kubernetes is for? With all due respect and no offense intended, your perspective sounds a lot like "I've never attempted to scale so I can't understand the problems" > can get away with not knowing basic sysadmin stuff I promise you that the knowledge you need for your single dedicated server is also needed for k8s clusters, and I definitely can't imagine anyone who can maintain a k8s cluster but can't maintain a single linux host. It's more like that scaling horizontally comes with exponentially more difficult problems than what you're used to or have heard of. Obviously the billing is an issue but that doesn't negate the whole concept. They should definitely implement better expense controls. A simple hard cap to activate if you want would fix this for good.
- nojito 4y agoMost people don't need to scale and even running 5x redundant servers is cheaper than a comparable cloud solution.
- 300bps 4y agoRunning Lambda, I get a million calls per month for free. Then it's 20 cents per million calls. Just curious - have you really researched cloud solutions or did you just compare the price of hosting EC2 instances in AWS vs having your own server? Because that's not what cloud is about.
- nojito 4y agoAnd? I don't think you are aware of how cheap metal is these days. Plus the OP has already decided that free tiers don't work.
- deleted 4y ago
- shepardrtc 4y ago> To be honest I don't really understand the sentiment that developers can get away with not knowing basic sysadmin stuff and at the same time have to spend relevant amounts of time, energy and money to get up to speed with cloud solutions, k8s and so on. There was a thread here the other day on how DevOps has failed. And this should hopefully show everyone why DevOps is needed. Cloud infrastructure is complex and needs specialists, otherwise simple mistakes can be very costly. If I make a new lambda, you better believe I'm watching invocations.
- jvanderbot 4y agoOr does it? The whole point of GP is that you don't need the complexity that would require devops staff to manage if you are not serving > 10s of millions of reqs in huge bursts with long stretches of dead time between. I don't know, I'm curious about the actual requirements vs the marketing buy-in and resume building that may happen when designing the system.
- jpalomaki 4y agoServers can also be liability. You need to document, implement and maintaing hardening, have a process for regularly patching os and apps, monitor logs, have backup and disaster recovery procedures, regularly test the procedures, figure how to implement data encryption at rest, implement high-availability and so on. Good platform-as-service can solve many things for you and let you focus on the core thing you are providing. Obviously not everybody needs to worry so much about the stuff mentioned above. If you are providing SaaS solution, there’s a good chance some customer will start asking these questions as part of their procurement process.
- jsiepkes 4y agoI'd rather worry about (and fix) those technical problems then having to deal with possible billing-pocalyse.
- jpalomaki 4y agoTake for example OS and app upgrades. Quite often you have few requirements, for example 1)all updates should be first tested in test env 2)updates need to be installed in timely manner 3)critical updates need to be installed quickly (30 days is too slow) When you start thinking these, they are not so easy. (1) means you can’t just run “apt upgrade” on every server - you need to manage the updates to make sure they get tested first. (2) is kind of ok, but requires some work on regular basis (at least checking things) (3) means you need to monitor the updates for your stack and classify them. You can get feeds for example for Ubuntu, but does that cover whole stack. And checking these weekly (or daily) actually gets boring. All this stuff can be done, but IMHO it is time consuming and takes time from more important things. The weekly/monthly JIRA tickets for checking x, y and z get quite annoying when you also have n other things to finish. Then you start slacking on them and feel the pain when trying to collect evidence for the next procurement process check. If you have tens or hundreds of servers and can have a separate infra team with professional sysadmins then this is all fine. My rant is mainly for small teams, where same guys are supposed to develop and run things.
- 4y ago
- kif 4y agoReading some replies here, it’s no wonder some startups go bankrupt while investing so much in infrastructure — all while not having enough users to justify more than a single dedicated server. Scalability should be the last thing in mind if your product sucks.
- peterangular 4y ago[dead]
- cortesoft 4y agoMy frustration with replies like this one is assuming that everyone here is working on personal projects or at tiny startups trying to get users. A lot of us work at big companies with lots of users and demand and aren't just making POCs, but every time we bring up scaling or maintenance or monitoring we are told not to worry about that yet.
- foepys 4y agoWhy should you be worried about large bills if you are working at a big company? This whole Tell HN is about personal projects where costs matter, the startup tangent here is just a jab at people underestimating the raw processing power of modern hardware. Big corps can do what big corps do with their big corp money. 200 user startups don't necessarily have hate kind of money but pretend they will be big corp very soon and thus need to spend big corp money.
- sirwitti 4y agoFair point. If your usecase actually needs to be able to handle massive loads, then things might be different. But then there will probably needs to be a devops team and careful planning how to architect infrastructure anyway. Also in such cases cloud pricing becomes prohibitively expensive unless you get a special deal.
- meatsauce 4y agoWhere can you get a dedicated for 40?
- Nextgrid 4y agoHetzner, OVH. Hell, if you go with Kimsufi (OVH's budget brand) you can get dedicated for a dozen bucks.
- lowendstock 4y agoCheck https://www.lowendstock.com https://www.lowendstock.com Also Rasmus (of PHP) wrote a series of posts https://toys.lerdorf.com/low-cost-vps-testing https://toys.lerdorf.com/low-cost-vps-testing a while ago comparing VPS providers in the $10/mo range. It was discussed on HN https://news.ycombinator.com/item?id=21725853 https://news.ycombinator.com/item?id=21725853
- meatsauce 4y agoThank you
- kypro 4y agoWith almost service like hosting where there could potentially be unknown costs I always select services with fixed fees and pay annually via PayPal so no card info is stored. If you have to pay by card and you have to subscribe always use a disposal virtual card. Most of the time these companies won't pursue you for payment because it's simply not worth the effort. The most likely outcome is that they'll just suspend your account. What you don't want happening is them taking money from you before you're even aware what is happening because that way you won't get it back and there's no room for negotiation.
- itsmemattchung 4y agoAmen. I've consulted for companies that went all in on AWS Lambda + AWS SQS, only to transition them to an EC2 instance that performs the same computations at a fraction of the cost. No — you do not need K8 on day one.
- peterangular 4y ago> EC2 instance that performs the same computations at a fraction of the cost And typically with much lower latency/request times. GCP functions, AWS Lambdas, etc... my anecdotal experience is that they are way slower for request times vs a $20 VPS running the exact same workload.
- tick_tock_tick 4y agoBut managed K8s is so easy to setup and makes life and the development cycle so much easier you're basically robbing yourself if you don't. I assume you just dropped a shit ton of features on your move to that EC2 instance unless of course you wasted more time then it would take to get everything working better on Lambda/SQS.
- itsmemattchung 4y agoThe actual compute is decoupled from the CI/CD pipeline. Moving to an EC2 instance does not preclude us from leveraging Lambda and other technologies.
- jlmorton 4y agoI'm a fan of boring technology too, but I would like to suggest to you that Serverless _is_ kind of boring. Essentially you just upload a ZIP of your application, and register a handler function that takes a JSON payload. Obviously this is quite a bit more boring than a K8s cluster, with a bunch of nodes, networking, Helm charts, etc. I would posit that even compared to something like a DO Droplet, Serverless is still kind of boring. Everything is going to fit into the model of registering a handler function to accept a JSON payload. There's no debate about whether we're going to have Nginx, or what USGI runtime we're using. It's just a function. And with Serverless, your cost for doing a couple million, 2-second-long requests is about four cents.
- bilekas 4y ago> your cost for doing a couple million, 2-second-long requests is about four cents. This seems wrong to me ? Can you explain a bit more ? Are these just API requests or ?
- jlmorton 4y agoIt's admittedly a simplification and a best case. For AWS Lambda, the price is in GB-seconds, and the amount of CPU available to your function is itself a function of the memory allocated. The price is $0.0000166667 for every GB-second on X86. So it looks like I've also misplaced a decimal. It's $0.20 per 1M requests with 1GB of memory. Lambdas can be sized from 128MB to 10GB, and pricing depends on the resources allotted. Ultimately, this pricing just represents the compute time for a function to complete. That function can do whatever it wants. There are additional costs to put an API Gateway in front of it, for instance, to make it a publicly accessible API.
- stevewatson301 4y agoLambda function endpoints[1] are a replacement for some use cases. [1] https://aws.amazon.com/blogs/aws/announcing-aws-lambda-function-urls-built-in-https-endpoints-for-single-function-microservices/ https://aws.amazon.com/blogs/aws/announcing-aws-lambda-funct...
- k8sToGo 4y agoPowerful yes, what about getting good peering and routing?
- throwaway894345 4y agoIf you're putting your service behind CloudFront, you're probably aiming for DDOS protection and low latency or something that you can't easily get from a VPS. Of course, you can put your VPS behind CloudFront, but you would run into the same issue (albeit the fixed capacity of your server would effectively cap your bill). A single VPS is great if you don't need reliability or scale, but if you care about those things you probably need at least a few of them running behind load balancers, and you probably don't want humans manually poking at them (but rather you want some reproducibility). Moreover, there's a bunch of host management stuff you're taking upon yourself--configuring metrics collection and log collection and SSH and certs and stateful backups/replication/failover and application deployment and process management and a whole bunch of other things that come for free with serverless. Implying that serverless/Kubernetes/whatever is just hype ("cool kids") while ignoring the pretty significant discrepancies in requirements is pretty silly.
- stevewatson301 4y agoCloudfront is terrible for DDOS protection though, given that there is a per request pricing (and no, AWS WAF doesn't help as it just imposes additional pricing on top, the only thing it does is to prevent Cloudfront from processing those requests.) However, if your statement is generally about CDNs such as Cloudflare or Bunny.net that don't have per request pricing, it makes sense.
- foepys 4y agoE.g. Hetzner will give you DDoS protection for free with every dedicated server you host with them. If you need more security you can also put another provider in front of it. CloudFront on the other hand will bleed you dry with their pricing.
- bilekas 4y agoThis. The company I work for use AWS and that makes sense for the level they scale at etc and I'm sure they work out a deal with Amazon. I have a few dedicated servers monthly cost ~100$, never ran into any problems, for a brief period I needed to pay cloudflare for some dns management that was getting a bit heavy, but even that was because I didn't know enough as to how to optimize. For any personal projects etc / POC's even startups launching to less than 100k daily users (traffic and load type dependant ofc) hold off on the AWS> I also don't like the lambda architecture in AWS as it seems to lock you into it in a sense, you're almost tied to that infrastructure for good. Yes you can rework it but thats tech debt that may not be possible. Love AWS but only as an enterprise solution.
- turtlebits 4y agoStanding up a service isn't only about compute. Where is your logging, metrics, alerting? Even with a server, you need methods for access control, hardening, log rotation, updates/patches (what happens when the OS goes out of support?).
- kjhjkhf 4y agothe cloud means you get to write sexy code and call yourself an engineer not the cloud means you write boring configuration files and call yourself a sysadmin
- justinhj 4y agoCloud functions are not used to look cool, nor are they used solely by people that “don’t know basic system admin”. Their use cases don’t line up with your needs and that is okay.
- zitterbewegung 4y agoAlso , $100 a month can get you a business line with a static IP for self hosting.
- leesec 4y agoWhere would I learn how to set this up, this 'basic sysadmin stuff'?
- jjav 4y ago> To be honest I don't really understand the sentiment that developers can get away with not knowing basic sysadmin stuff and at the same time have to spend relevant amounts of time, energy and money to get up to speed with cloud solutions, k8s and so on. Agreed. I hear some saying it's nice to deploy on a lambda because you don't need to know anything about the runtime environment. But it's never quite true. As you say, you do have to become an expert in all the intricacies of these proprietary deployment environments to get the best out of it and avoid getting burned. So an amount of effort has to be spent, anyway. But the drawback is that now you spend this effort on learning what is after all a proprietary product of AWS. While AWS is massively popular, the knowledge doesn't translate to anywhere else so it locks you in. If you spent similar time learning the basics of Linux deployment and administration, your knowledge is lower level and more general. But where it really gets you is when things go wrong and you need to dig deep to diagnose. Can I attach a debugger or watch socket traffic or run bpftrace or do any kind of diagnostics at all on that lambda instance? Oh sorry no, good luck. Unless your budget is so low you can't afford a $5 VPS and your traffic is so low that your lambda bill will never reach $5, you're really better off deploying on a VPS that you control and can debug. Keep it simple.
- GGO 4y agoCould not agree more. I have multiple VPS servers running for personal email, file storage, ci, and some side projects. Maintenance and management is really low - everything is backed up to S3 and if things go down, it will take an hour or so to restore it, but I can tolerate that kind of downtime as long as data is not lost. I think cloud platform is easier to sell once you need a robust HA. As for performance, one of my projects can sustain 300rps which is more than enough. Sure it cannot scale automatically to thousands and millions but I don't think many projects have that requirements.
- zxcq544 4y agoVISA has 2000 rps for all payment stuff. So it is what it is :)
- majkinetor 4y ago
- that_guy_iain 4y agoI literally benchmarked an application I've written on a €34 euro dedicated server to 480 requests per second. Which comes out at 1,244,160,000 requests per month. If I ever reach a level anywhere near that renting a few more to provide reliability and failover would again be reasonably cheap. This all comes while keeping the data on servers belonging to EU companies. Using Cloud servers is rather dodgy as shown by the fact Google Analytics, Google Fonts, etc are all illegal. Everyone keeps talking about the ease of just getting a new server and not having to spend time repairing servers. This is an over sold problem. How often have we ever dealt with hardware problems 8-10 years ago? I only remember one server going down because of hardware issues that cause problems all the other times there were failover servers and the hardware issues were fixed by datacentre staff before anyone even noticed there was an issue in the first place. With tools like ansible and chef, you can provision a new server super quickly so even if the server gets a corrupt configure of whatever, you can just wipe the server and rebuild. Most of us are not at the scale where we would realsitically see the benefits of cloud computing for hosting.
- RobRivera 4y agoI never understood people who are in such a rush not to survey whats available.
- thelittleone 4y agoOne benefit is compliance. If my SaaS runs on Lambda and managed DB it offloads a bunch of OS related security requirements.
- JohnHaugeland 4y ago> To be honest I don't really understand the sentiment that developers can get away with not knowing basic sysadmin stuff It's not that. I used to own a VPS ISP. I know how the infrastructure stuff works. It's that I don't care. I want to write code and deploy it to a new machine. The time savings as a developer is enormous.
- nousermane 4y ago> easily handle millions of requests per day Yes. People don't realize how little that is. Million requests per day is 12 requests per second, on average. Even if we factor in peak load at 20x that, it is still well within reach of exceptionally modest hardware, assuming at least vaguely sane software stack.
- p0d 4y agoAnother not cool kid here. I've been running my little Saas for 12 years on fixed price cloud vms, €18 total per month (initially shared hosting). I'm sure I will ever hit my providers 20TB monthly traffic limit. I settled with running lxc containers. I just couldn't bring myself to be bothered about docker. Before I left my last job we started using k8s. I wouldn't use k8s unless in an enterprise environment. Even then I would consider the need. "But Mom, all the cool kids have k8s!"