7 ms·
My goodness is it Monday already and time for yet another of these articles? At a given scale and software maturity, it is cheaper to buy your own hardware and
by mabbo 4y ago
My goodness is it Monday already and time for yet another of these articles?
At a given scale and software maturity, it is cheaper to buy your own hardware and pay for your own team to operate it. Generally, this is when you start thinking of your hardware needs in terms of fractions of an entire data center, but in simple cases may be smaller.
This almost is not ever true for software startups, who get more value from speed, flexibility, and not needing to pay a team to manage hardware. Just let [cloud services company] handle it for you until you reach that point.
And then when you do reach that point, you get to write the article about how everyone using the cloud are fools because it's cheaper to self host.
- api 4y agoI always tell people to do the spreadsheet. There is a point at which bare metal or colo becomes cheaper and that point will depend on your work load. If it’s outbound bandwidth intensive that point will come sooner than say a storage intensive work load. You always hear stories like this where people didn’t do that and were lazy and massively overpaid on cloud.
- bsenftner 4y agoI am often surprised how people in our field don't run the numbers, so they are not talking nonsense when these hard numbers are so easy to generate. Also, people seem to forget that not all startups are consumer lo-CPU requiring applications. If one has a product that requires non-trivial compute, going immediately colo can be essential. In my own previous startup, my calculations showed an AWS monthly expense of $96K, while I could spend $60K to acquire higher end hardware than AWS to build a server cluster and colocate that for a measly $600 a month.And forget about the "it's hard to run a server, let along a server cluster" propaganda - it is not hard at all.
- re-thc 4y agoSadly with "microservices" and "microfrontends" and what not, it does become a CPU/memory expenditure. Every split service has overhead and requires some minimal allocation to start its own server, own database etc.
- viraptor 4y ago> "it's hard to run a server, let along a server cluster" propaganda - it is not hard at all. It's not hard at all if you have skills to manage hardware switches, deal with rack power budget, configure the power on sequence, establish procedures for hardware failures, establish procedures for disk management, redundancy, early earnings and replacements, deal with rolling out firmware updates for all components, provision resource limits between apps, provision and secure iLO or similar access, configure hardware monitoring and alerting, maybe run a SAN, ... (and lots of other things) Sure, it's not hard when you have those skills. And you can offload some of that to another company if you're doing single servers rather than full rack(a). But it's not exactly a common set of skills either. Edit: Also you can easily forget things at small scale. Just remembered LTT's "Sure we can host our video archive ourselves. Oops, forgot to turn on scrubbing. Aaand the old archive is gone."
- gscott 4y agoIf you have that sweet investor money just go all cloud!
- jjav 4y ago> I am often surprised how people in our field don't run the numbers, so they are not talking nonsense when these hard numbers are so easy to generate. Agreed. Unfortunately the tech industry is driven largely by fashion instead of objective engineering as we'd like to think. Trying to diverge from the fashion du jour (here, cloud.all.the.things) is difficult no matter how solid the numbers are. At my last couple startups I've run a recurring review of all the cloud costs so at least there is good awareness of how fast the expenses are rising (faster than revenue in every case).
- DeathArrow 4y ago>and not needing to pay a team to manage hardware But you pay for a team to manage the cloud instances and services. Usually more than the hardware guys.
- bauruine 4y agoMost of the hardware stuff is done by the data center anyway. You just create a ticket for remote hands and the data center staff is going to rack the server you sent them or replace a hard disk etc.
- re-thc 4y agoNot so true. Not all remote hands are made equal. Some are there just for simple repairs / maintenance tasks. Don't be surprised that it may need a lot more hand holding. Experienced it all first hand.
- vidarh 4y agoThe cost differential in my experience is generally higher on the low end. Once you get into the hundreds of k per month in cloud fees you can get steep discounts, and some of the gap starts to close. You also need devops resources to manage a cloud setup - most of my jobs in recent years have involved exactly that, and it's not appreciably cheaper than managing "raw" hardware resources these days (ever since IPMI etc. became the norm); for some time I did consulting and provided devops services on retainer. The amount of time spent managing actual hardware was a rounding error of the overall devops cost for those of my clients relying on colo's or managed servers. Since many colo providers also provide managed servers and cloud services, the flexibility is also not really an issue - you can start with cloud services, rent managed servers as you know what your base load is like, and can tie them into the same setup, and do the same with colo services if/when it's cheaper (the tradeoff between managed and colo is trickier than with cloud - the cost differential there is often dominated by realestate costs where the relevant data centres are; if you're somewhere expensive, managed servers elsewhere will often be cheaper than colo near you)
- dinedal 4y ago> You also need devops resources to manage a cloud setup Don't you also need them in a colo?
- vidarh 4y agoWhat nerdix said, basically. People assume most devops work when you own hardware is hardware related, but for a typical setup, if your hardware related devops work make up more than a few percent of your total devops cost something is wrong.
- sitkack 4y agoAs soon as the machine boots over PXE and is on the network, it becomes software. Hardware actually becomes easier to manage as you get more identical machines as you can do differential analysis to figure out which components could possibly be out of spec. I have seen multiple thousand host clusters managed by 1-2 people, and day to day ops looked like absolutely nothing was happening. This included messing with hardware racking and networking. The most resource intensive was just uncrating, moving and routing cables. Managing hardware is bogey man, false toil.
- dathinab 4y ago> This almost is not ever true for software startups, who get more value from speed, flexibility, and not needing to pay a team to manage hardware. It's not that simple, some costs on AWS can be high and some tasks don't need the availability/reliability guarantees AWS provides. So even for small startups sometimes having own hardware can be a good cost saver, through with some risk attached to it. For some mid-sized companies with relative fixed resource utilization sometimes renting rack space or renting bar metal (in a server center, with service for parts replacement) can be a good cost saving measure. In the end while AWS is flexible and convenient with a lot of services easily accessible it is also expensive (at least when it comes to compute power) so the question is most times how much money do the flexible, convenience and services save. For many companies this is a lot. For some companies (of any size) this is not enough. I mean this is why there are such funny things as being able to buy a "GPU compute min server center in a container" (through that's outside of the price range of an small company, but smaller versions similar to this exist, too).
- ldoughty 4y ago> It's not that simple, some costs on AWS can be high and some tasks don't need the availability/reliability guarantees AWS provides. So even for small startups sometimes having own hardware can be a good cost saver, through with some risk attached to it I agree. I'd like to add that AWS's value add can be the lack of need to understand the product configuration, just the SDK. Your start up already has developers that can read SDKs, you might not have someone on your staff that can set up an elasicsearch, redis, or other service. When you grow enough that the fine tuning of such services might matter, you likely can hire the right people to run those in house. I've been on a team with ~6 DevOps members for 5 years, and it's been very helpful to be able to pick up and drop services as we evolve.
- TimPC 4y agoI think it depends. My best friend works at a company that took four years to architect and build V1 of its product on prem. They had to build a lot of things by hand that are standard components in the cloud. They architected and built V2 on AWS is a single year. The higher cost is considered small by them compared to three additional years of waiting for a system to offer key features that upsell customers.
- t344344 4y agoSoftware startup can use consumer grade workstations and self host at their office (or at home). Cloud at scale is VERY expensive. And if you do not need the scale, but reliability, it is easier to rent two servers at coloc.
- arunkant 4y agoCloud is cheap when starting. Saves time
- t344344 4y agoTry to run LLaMA in cloud...
- bob1029 4y agoVPNs and hybrid architectures exist for a reason. If 99% of your IT infra is boring crap but you have this one special unicorn machine, maybe throw it on an employee's fiber connection and set up a point-to-site VPN for that machine. Does it make sense to abandon the entire cloud because of 1 use case?
- Nextgrid 4y ago> VPNs and hybrid architectures exist for a reason. And that's why the rent-seekers got that covered too by outrageous egress bandwidth fees, to ensure they still get their cut no matter what.
- t344344 4y ago> abandon the entire cloud I was never on cloud. I have a big home with fiber connection and some backup connectivity. Setting up new server is like $50/year in electricity. If project works I will sell it, and let new owner deal with cloud and scaling it up! Just reading price list from cloud providers gives me a headache. We will charge you between X and Z, and hopefully you will not bankrupt on next bill. Also we may terminate services anytime for whatever reason. > unicorn machine If you have a specialized startup, that is 90% of your cost! Not some sort of unicorn single machine. If you can use consumer grade hardware without extra cost, that is major competitive advantage! > VPNs and hybrid architectures What is that? Do I have to study that? Seems like a major obstacle!
- toss1 4y agoYup, I'm a bit fascinated that an entire industry is built on the drug dealer / puppy / loss-leader model -- "here; try this for a while for free; you'll like it!" No question, it is easier to spin up an instance and ler them handle the scaling. And unless you are really careful, it's then very hard to extricate yourself and provision your own servers in a/multiple colo sites... I always like the control of vertical integration, but evidently enough like convenience to support a huge industry (and there are other advantages, but I don't think that cost is on the list of advantages)
- bob1029 4y ago> This almost is not ever true for software startups, who get more value from speed, flexibility, and not needing to pay a team to manage hardware. Exactly. I cringe every time I look at the AWS/Azure running total, but at the same time I realize that paying a separate team would be even more ludicrous at our current scale. Right now, I can single-handedly administer 100% of our IT infrastructure as barely a side-concern because nearly everything is inside the Azure/AWS bubble. Delegating IT management tasks to non-wizards is actually feasible too. The moment you start racking servers on-prem, you need a very specialized workforce to keep them alive. I suppose you could vendor parts of this out too, but then you are really splitting hairs regarding why you brought crap on-site in the first place.
- re-thc 4y agoThere's always the in-between. It's not a manage your own physical server or nothing scenario.
- Justsignedup 4y agoRight. I pay under 2k for server costs. And combined with all the different platforms I use and the convenience features and not having to hire my own devops person, I assure you I am saving A LOT. There are few companies that operate at the scale at where it is cheaper to run your own servers. Once you hit that, it is a great problem to have.
- Retric 4y agoCloud doesn’t eliminate the need for dev ops. Sometimes it can help, but overall I’ve seen an increase in cost, workload, and stress. The cloud is very much a your mileage can very situation. Just remember cloud providers are very interested in selling you a product due to their extremely high profit margins.
- Justsignedup 4y agoEh. Sort of. I disagree with that statement. So far the devops of managing my cloud stuff on heroku has been a few days a year. And we have a better pull-request environment setup than most places I worked with that did or didn't use cloud. Point is, devops as a service is great for small scale. I've done the math of what it would cost to switch away from heroku, and at this point it is quadruple our current costs, because of the time investment, and that's over a few years. And then moving to our own servers? even worse.
- elif 4y agoIf you are only running in one cloud availability zone, with the backup plan being, we'll spin up new servers during downtime, maybe.. but if you are distributed over 2-3 hosting areas geographically for redundancy, I highly doubt that any cloud application is cost effective at any scale.
- mirzap 4y agoIf you are software startup, then you don't need all those cloud services. You need a server, install webserver, database, redis or whatever you need and you're good to go. Going cloud as startup is almost always over-engineering. Just go simple. Your total costs will be couple of hundreds $$ and you'll serve a million people with this simple infra. Probably much more.
- kevviiinn 4y agobUt WhAt AbOuT sCaLiNg
- ren_engineer 4y ago>This almost is not ever true for software startups, who get more value from speed, flexibility, and not needing to pay a team to manage hardware. Just let [cloud services company] handle it for you until you reach that point. >And then when you do reach that point, you get to write the article about how everyone using the cloud are fools because it's cheaper to self host. at least read the article, this is about a software company that started in a colo and literally wouldn't be a viable company if they tried to use the cloud. It's more about the fact that if you have the skills you can avoid having to burn a huge amount of VC money by running your own hardware
- teerak 4y ago> This almost is not ever true for software startups, who get more value from speed, flexibility, and not needing to pay a team to manage hardware. Just let [cloud services company] handle it for you until you reach that point. This is an old myth. Today you can get dedicated servers provisioned in minutes with an API call. A competent DevOps person can manage 10s if not 100s with proper automation. When you have a certain baseline usage of compute moving to dedicated can give you massive savings. And if you're a heavy user of say, RDS, the cost difference can be even more dramatic while also gaining on performance. For ephemeral workloads, testing, etc. the cloud makes sense of course.
- fidgewidge 4y agoI'd say testing/CI is one of the best cases for renting dedicated metal because of the huge speed increase available, everyone hates slow CI, and CI workers are easy to setup so if hw fails (it probably won't) it's not a big deal, you don't need to scale up again immediately.
- teerak 4y agoAgreed, but I include CI in baseline usage. With testing I mean compute for feature branches, experiments.. that kind of stuff.