12 ms·
And then people consider me a dinosaur when I say, no cloud, just rent a server or two (not colo! just dedicated servers). Your average web service does not nee
by chx 9y ago
And then people consider me a dinosaur when I say, no cloud, just rent a server or two (not colo! just dedicated servers). Your average web service does not need to scale near infinitely; for the same amount of money you pay to Amazon you can overprovision 3-5-10 times and that'll handle your spikes. No surprises. Same amount of work: EC2 and bare metal both gives you a root prompt, go from there. These days you can get things provisioned with 24 hours -- some providers will do it in minutes. Of course, Amazon provides a lot of services beyond basic EC2 instances but if you use them you have a very ugly vendor lock and heaven forbid you want to do something else in the future...
This is like a double trap many try to sell to startups: a) you need to scale across many machines and b) the way to scale is the cloud. My take: a single machine (or two for HA) will be enough, if you really want to go big separate the web server from the database but that's it. And yes, I am in the website performance business, I worked on the video purchase platform of one of the largest British television stations and even that didn't require more than a single database server and a single Redis server for caching layer. Harken to https://stackoverflow.com/questions/5131266/increase-postgresql-write-speed-at-the-cost-of-likely-data-loss https://stackoverflow.com/questions/5131266/increase-postgre... this question from 2011 discussing speeding up from like a thousand inserts per second at the cost of data loss -- today you will write on an SSD and don't need to risk data loss. Does your web site / app really get a thousand writes every second? I thought not. Does it even get a thousand reads? If not, then why are you building a complex database cluster...?
The other day I saw quad E7-4870 (yeah won't win any single thread contest but has 40 cores and 80 threads) 512GB RAM servers for $299 a month, with 1TB RAM for $499. Had a low end 2TB SSD for boot and you could add 8x1TB HDD w/ HW RAID for $40...
- maximz 9y agoRent a server: do you mean dedicated hosting or something else?
- chx 9y agoDedi, yes.
- vacri 9y agoAh, that nasty AWS vendor lockin. Guess I'll just run my own CDN then, shouldn't be hard (can't use other vendors, because lock-in). L'il ol me running edge nodes all over the five continents where we have clients. I'll have it done by closing time today. AWS is more than just compute cores, and you're hand-waving away what it offers.
- adanto6840 9y agoTo be fair though, even with a setup like this you can still use Cloudfront, or any number of other 3rd party CDNs. Most of these providers including Cloudfront offer 'remote origin' features/configurations. I agree that AWS offers much more than hosting, but when talking about hosting specifically the numbers are clearly better with 'bare metal' (rented or otherwise) -- it's just substantially more power per dollar. You'll need to do a cost-benefit for your own situation so YMMV of course, just as it would with any other provider or any other service your business may choose to subcontract.
- matthewmacleod 9y agoI think it’s clear what was intended. Nobody disputes that targeted uses of third party infrastructure services can be appropriate. After all, it’s relatively easy to migrate a service to a new CDN - but it’s a lot harder to migrate from AWS when it’s a core part of your application architecture!
- vacri 9y agoI'm just tired of seeing Yet Another AWS Debunking on HN that is solely concerned with hardware specifications and ignores the myriad of other reasons someone might go for AWS. Particularly someone who doesn't have access to 10+ year veteran neckbeard skills.
- bdcravens 9y agoI think the comment does ring true in many cases however, where a minimal infrastructure is more than sufficient. We recently received notice that an EC2 instance was being retired and we needed to relaunch. It had no load balancing; it was just an m1.medium with a standard Java app on Ubuntu, with a static IP address, and it ran for like 5 years. No elasticity etc. Essentially 1:1 for a standard "old school" setup.
- anonacct37 9y agoYes. Look at https://www.packet.net/bare-metal/ https://www.packet.net/bare-metal/ for bare metal boxes provisioned in less time than an ec2 instance. Or if you want to go old school, cheaper, and less sexy/api driven: https://www.delimiter.com/ https://www.delimiter.com/ If you shop, for around 30-40 a month you can get 16 cores, 32gb ram, and a 120GB ssd or 1-2TB spinny disk.
- dman 9y agoThat price for that config sounds amazing. Any pointers?
- anonacct37 9y agoRight this second: https://cc.delimiter.com/cart/dedicated-servers/ https://cc.delimiter.com/cart/dedicated-servers/ $50/month 24GB ram, 16 threads, 2TB HD, gigabit uplink (20TB/month free). It's not hard to wait until they have a sale and/or coupons and/or pay upfront yearly to get a similar config for 30-40. (disclaimer: these servers are pretty "unmanaged") Or packet gives you a completely "cloud/api-driven" experience that's still on bare metal and reasonably priced compared to AWS or DO.
- voltagex_ 9y agoWhere do you find the discounts/sales?
- chris_overseas 9y agoHere I guess? https://cc.delimiter.com/cart/clearance-servers/&step=0 https://cc.delimiter.com/cart/clearance-servers/&step=0
- chx 9y agowebhostingtalk
- geff82 9y ago32€ quadcore 32GB RAM, 2x3TB HDD: hetzner.de in their "second hand market"
- f4rker 9y agoYour giving really general advice that fits YOUR needs and experience. Meanwhile, my company has been in business for 10+ years and we have 60+ severs streaming a shit to of data 24x7. Running "a few" dedicated servers is not some magic catch all for everyone.
- vidarh 9y agoIf you're streaming any kind of volume of data from AWS, you're pretty much burning money compared to other services, unless you've secured steep discounts on the published prices. I too have run networks for companies that's been in business 10+ years, with as many servers, and I've done that on both AWS, colo'd servers, managed servers, and hybrid setups of all of that, and I've yet to see an instance where AWS was cost effective at published prices for base load. I have seen AWS be cost effectively used to handle spikes or batch jobs, and I have recommended it for clients that care more about the brand name (to tell their customers for example) than cost, or have very specific needs. I have also seen it used cost effectively once you get big enough to secure steep discounts.
- wordpressdev 9y agoBeing part of a project that utilized 5 dedicated severs at some point in time, I hear you.
- Roritharr 9y agoThe problem with renting boxes is the hidden costs if you want to do it right. First of all, if you have anything mission critical, you need to run it in a high availability config, this is easy for stateless microservices, but when it comes to running your DB, you start renting three boxes instead of one or two and configuring them accordingly. And then you setup your Backup Infrastructure for disaster recovery, Glacier needs a replacement after all. No problem, just more disks(?) on a few more boxes(?) and bacula(?), better in a different Datacenter just to be on the safe side, it would be nasty if you whole rack gets fried and your data with it. Don't forget to backup your configuration, all of it. Loadbalancers, Server Environment Variables, Network (do you have an internal DNS?), Crontabs, some businesses need their audit logs stored etc... On the infrastructure level there is lots and lots of stuff you can do and you won't ever really need AWS, you'll just spend significantly more time finding and administering the right solutions than just using the AWS Solutions where you'll find a treasure trove of great tutorials and can relatively cheaply pay for support. If you then pay someone on top for 24/7 management/monitoring of your dedicated stack so that your team doesn't have to get up at 3 am because one of your VMs disk fills because some stray logfile is filling the disc, many of the savings you had by setting it up on a dedicated server go out of the window because the management partner needs to train their people to look into your infrastructure. AWS only Management Partners are just light-years cheaper because they can streamline their processes much better. You could also hire your own team of admins... Sure AWS is a beast with its own surprises, but overall the cost/benefit ratio is still very fair even if you factor in all the "surprises"(many of which your management partner will probably know about). Having layered support is really something beneficial aswell. If something is wonky with RDS, you get to call your management partner if he didn't detect it before you, who if he can't tackle it himself can call AWS technicians. This gets you much much further than you would get elsewhere. The outside the world is paying for (for example) perconas consultants or someone similar if the problems grow over their team's head. Sure, at some point in a companies growth, depending on how technical the operation is, there might be a time where an admin team and colocation/dedicated boxes make sense, where AWS technicians will scratch their heads etc., especially if you have some very very specific tasks you need to do. But for most people this is far off if ever.
- chx 9y ago
- TurboHaskal 9y agoThat might make sense for your (organisation's) business needs, but should you continue being that pragmatic you'll end up being an unemployable mess. Just do the whole Docker thing, the more dependencies and lock-in the better, update your CV and move on.
- breerly 9y agoCloud services don't save you money, they buy you focus.
- falcolas 9y agoOnly slightly tongue in cheek: Imagine the focus you could achieve with dedicated personnel taking care of all of the operations concerns for your devs...
- FLUX-YOU 9y agoIf you know good ops people, you have additional options. Hiring ops people and hoping they can out-value a cloud provider is a risk. Good ops people can cost as much as good developers. If you're a larger business, you can probably absorb that risk if it goes wrong. If you're a startup, it could be catastrophic. However, I also know larger businesses that just simply do not have good ops teams and a cloud provider would outperform all of them.
- falcolas 9y agoAlmost every argument that you are making here could be exactly applied to developers and contractors. Hope that they can out-value a contractor. They're expensive. Some larger businesses have terrible dev teams and a team of contractors could out-perform them all. > Good ops people can cost as much as good developers. And this is a surprise? They bring a ton of domain specific expertise, good automation experience, and they lift the burden of managing your systems from your developers, so they can work on features and not scaling.
- FLUX-YOU 9y agoIf you can afford to put good people in every position, by all means go for it, but that's not been how startups and small businesses hire, or else they wouldn't have to use the phrase "we wear a bunch of different hats here at St4rtUp". The apparent trend has been to overload the developer with additional responsibility instead of, e.g., making ops people build product features.
- manigandham 9y agoInterestingly this is where Google does great with fast VMs and disks along with sustained use discounts. Add in the committed use discounts and you get very close to dedicated server pricing, while getting all the flexibility and resilience of their cloud platform. Sadly their support quality has decreased and our own account team has ignored us for weeks so maybe stick with AWS instead.
- vgt 9y agoHey there, work at Google. Please feel free to ping me with your concerns. That's certainly not the experience we strive for.
- laumars 9y agoI don't disagree with your point per se as I do love working with physical gear, but I do think you're grossly missing the point in places: > "My take: a single machine (or two for HA) will be enough" 2 bare metal instances isn't HA. Not even close. > "if you really want to go big separate the web server from the database but that's it." I would always recommend separating the web server from the database server on anything professional. It gives an easy clear path for scaling sideways (since you've already separated out your back end from your application), it allows you to tighten security (eg only allow access to the DB server from the web servers via the unprivileged DB user connection), it also makes maintenance easier. Even if you're only running on one physical box, put the web server and DB in their own VM or LXC/Zone/Jail container. > The other day I saw quad E7-4870 (yeah won't win any single thread contest but has 40 cores and 80 threads) 512GB RAM servers for $299 a month, with 1TB RAM for $499. Had a low end 2TB SSD for boot and you could add 8x1TB HDD w/ HW RAID for $40... I work with both bare metal servers matching your description and both self-hosted and private clouds. Frankly I think your rant misses one of the most important point of working with AWS and that's the convenience and redundancy that the tooling offers. AWS isn't just about single instances, it's about having redundant availability zones with redundant networking hardware and about being able to have disaster recovery zones in whole other data centres and having all of the above work automatically. Getting our self hosted stuff to even close the level of tooling that AWS offers took months of man hours and quite a considerable more initial set up costs. Having to buy at least two of every piece of kit for redundancy, having to have BT lay two dedicated internet links (we have 3 now) just incase a builder accidentally cuts one of our lines and having core infrastructure replicated off site all adds considerably to both the set up time and cost. So yeah, for small businesses and personal blogs AWS is a bit overkill. But you cannot use the "high availability" argument and say "2 physical machines is enough". Disclaimer: I've worked for clients such as Sony, UEFA and News International as well as many smaller but still sizable national publications. Our infrastructure has consisted of both scaled up physical hardware and scaled sideways virtual machines and frankly I/we wouldn't be able to offer the kinds of services we do nor with the kind of uptime we do without running a fleet of virtualized web servers.
- viraptor 9y ago> So yeah, for small businesses and personal blogs AWS is a bit overkill. Even then the answer is: it depends what you need. I run blogs on S3 + CloudFront. That's effectively content versioning and geo-distributed caching CDN for pennies. AWS is not just EC2.
- inopinatus 9y agoIf I followed this advice, it would hurt my startup badly. We would be investing far more time into system operations than I do now thanks to AWS's automation of standard stuff. My hosting bill would increase - partly because we can run on t2.micro instances, but that awfully glib advice about overprovisioning is most definitely asking for trouble; and we'd lose curated services like RDS and OpsWorks - which, by the way, are PostgreSQL and Chef, hardly a "ugly vendor lock" but simply well-designed infrastructure services based on standard parts. Oh, and I'd have to spend more money and time on auditors, because bare-metal providers don't have compliance programmes like AWS/Azure/GCP do. And I've haven't even started to think about securing the resulting systems to the same level I get for minimal effort from a major public cloud. You're not a dinosaur, no, but these claims don't match my reality, nor that of many other projects besides. This is compounded in my view because you've claimed specific expertise to promote your opinion. Any manager bringing me such a poorly considered and bombastically argued business case would be sent away with an ear bashing about TCO and opportunity cost.
- _Codemonkeyism 9y agoI think people need to make a conscious tradeoff between ~5x AWS cost compared to rented server vs. OPS costs. Some startups (A) I work with have basically no OPS costs beyond setup, integrating Docker deployements and getting automatic backup working. Most simple technology just works and devs easily can do operations. The largest pain point still is VPN. Machines today are very very fast and load of many startups is very low. This are mostly simple marketplace startups etc. without any rocket science aka "web ui frontend to database". They often have <10 servers and are still over provisioned mostly due to HA requirements. Some startups (B) I work with have high OPS costs due to demanding technology needs for throughput, load peaks, amount of data with innovative technology at their core, aka "rocket science". I have not seen any correlation between AWS usage and A/B types. From my experience with startups the only way to successfully use AWS is deep integration and using lots of services. If you use AWS and do everything on your own people are doing it wrong.
- pizza234 9y agoI managed a metal to AWS transition, and 5x definitely doesn't match the costs I experienced (in this specific case, it was around the lines of 1.2x). I don't mean this case to be universal, in particular, I think cloud services force applications to have a particularly good/modular design (which is a cost in itself) - where, with metal, as you wrote, you can relatively cheaply overprovision. I think the analysis you're making overlooks some important characteristics of the infrastructure engineering aspect. Some typical network/infrastructure elements, in particular firewalling, load balancing, and network management don't necessarily belong to the "rocket science" type of application; they are easy to overlook in "type A" services, ending with a "kind-of-HA-but-not-really" infrastructure, which is ok, but it makes the comparison cloud <> metal not really meaningful, as in the cloud, those features are baked in ("almost" for free). I'm very skeptical for example, that the 5x figure includes hardware for the above network equipment and management. To summarize, it's perfectly fine not to have an "advanced" infrastructure but it must be highlighted that such conditions make a direct comparison incorrect.
- sideproject 9y agoI've been running a web application for the past 6 months and it just crossed 150,000 page views/month mark. Sure, for others it's not that great, but for me, this is the project that is showing the biggest potential. Anyway, the funny thing is, I'm running it on $2.50/month Vultr VPS. I got so worried when it crossed 30,000 that my site will crash. But it didn't. Then when its views got higher, I optimized further. I learned more things about how to make things faster. I refactored my code to squeeze out that much more juice out of $2.50 - not because I'm cheap (well, perhaps), but because I wanted to see how far I can push it. I'll probably cross 200,000 soon and I think by then I'll need to increase it to (yikes heaven forbid!) $5/month plan. Recently, just because of all the hype about AWS (in general and also at my work) I wanted to get started with AWS. Then I looked at their ridiculous pricing calculation page and I just closed the browser. I thought my time was better spent working on my project than learning about how to deploy a simple PHP application to AWS.
- empath75 9y ago150,000 views a month is like a hit every two seconds. That's nothing. Talk to me when you're managing 150000 hits a second. Edit: sorry didn't mean to imply that your site isn't successful, only that in terms of traffic, it doesn't make aws worth it.
- jazoom 9y agoI don't understand the point of your comment. The parent was simply explaining why they don't need extreme scalability with their scenario. No one is under the impression that multiplying their traffic by 75000 (so you work at Google then?) will not require a big server upgrade.
- empath75 9y agoHe's making a judgement on the value of aws using a use case that makes no sense to use aws, anyway. He could be doing something similar with lightsail on aws at similar cost if he really wanted to, though.
- anon1253 9y agoWell, I agree wholeheartedly https://joelkuiper.eu/cloud https://joelkuiper.eu/cloud
- tambourine_man 9y agoMy love for AWS is their availability zones. You can be anywhere in the world and have ridiculously small latency. But the cost you pay sure is high.
- draw_down 9y agoKnock yourself out. But, not everybody is doing the average.
- jcurbo 9y agoI always think of this as the "Stack Overflow approach" since I was listening to their podcast when they were building it and that's what they elected to do: https://blog.codinghorror.com/building-servers-for-fun-and-prof-ok-maybe-just-for-fun/ https://blog.codinghorror.com/building-servers-for-fun-and-p...
- StillBored 9y agoThe last sentence pretty much sums it up.. "I know that hardware is cheap, and programmers are expensive." The way people here are talking makes it sound like they are spending man years setting up a couple servers. From my experience the time consuming parts are messing with the software stack. A problem none of these vendors of machines/VMs/etc really solve (ignoring way overpriced shared databases/etc). Buying a server installing an OS/whatever on it, tossing it in the rack and providing an IP/VLAN/etc is less than 1% of the time/effort spent on spinning up an application. Plus if you buy used, its possible to get 3 year old machines for less money than AWS charges for a month... To which I always hear about "reliability" of old hardware despite the fact that a large part of this rented hardware is just as old, and outside of disks/SFPs and batteries none of it really dies of old age. As others have said, the effort to "cloudify" your application is probably more than the effort to buy some massively over-provisioned machine. Sure all the big boys need all this fancy management, but your startup with a few hundred thousand hits a month can probably be run on a 5 year old machine if any effort at all were spent assuring its not doing something stupid that results in second long page responses.
- staticassertion 9y agoOK, what happens when your power goes out? What happens when a system goes down? Are you including the cost of your infra/ ops team in your server costs? What about the larger upfront investment for hardware, especially over provisioned, relative to a spread out payment? What about the 5000 credits you get upfront from aws for startups, and the free tier? As for vendor lock in, this isn't a problem most companies face - they're fine buying into AWS, and you're underselling the many, many other services they provide beyond EC2.
- EGreg 9y agoOr better yet - build your software as open source that enterprise clients or end-users can run anywhere. Eliminate "the cloud" as a single point of failure.
- ivanhoe 9y agoIt's not just about scaling up, but also down. In my experience most of the startups initially greatly over-estimate what they need, and end up with only small part of the resources really used. With cloud you can provision what you think you'll need for a few weeks and then, once you get actual usage data, you can scale and fine-tune the setup to fully utilize it (and optimize the costs). And it's done with a few clicks in just a minute or two, without having to manually update anything, anywhere. No need to change DNS zones, no need to copy the data, all the tedious work that's usually involved with moving to a new unmanaged dedicated machine. With EC2 I can do this as often as I wish, while your hosting company would probably go crazy if you'd ask them to provision you a new hardware every week, or change it twice a day because you've changed your mind.
- sly010 9y ago> With cloud you can provision what you think you'll need for a few weeks and then, once you get actual usage data, you can scale and fine-tune the setup to fully utilize it (and optimize the costs). Or in a more realistic scenario you forget to dial back an are paying $200/month extra for unused provisioned IO for years before anyone notices it. Happened, even though I was looking for improvements after every bill.
- ivanhoe 9y agoTrue, but did you ever scale down an already setup & running dedicated machine? With dedicated hardware it's always like "if it works don't touch, and we might need it one day anyway" :)
- sly010 9y agoI guess the point is if you own the machine, there is no reason to scale down, because you already paid the costs upfront. In conclusion cloud providers solve some of the problems they create in the first place very well ;)
- deleted 9y ago[deleted]
- r1ch 9y agoI feel the exact same way. I run a 45M pv/mo network on a single dedicated box. The cost of our bandwidth alone at any cloud provider costs multiples of what we are paying for our current server. The cloud just doesn't make economical sense for a lot of workloads.
- nunez 9y agoThe problem with the rent-a-server approach over buying AWS is that, in many cases, your engineering team will need to implement a ton of APIs, tooling, monitoring, alerting, etc. to get the same quality of service that you get from a public cloud vendor "for free." Which is great for us engineers since it's interesting problems that need solving, but not so much for the PMs that need to justify that spend. Also, when your web service scales to millions of requests per second from millions of requests a month or week or whatever, having elastic compute that can scale with that is a blessing. Because nobody wants to wait for page loads: