I find that using regular cloud instances (eg EC2), with a custom runner for some CI platform (Gitlab, teamcity, whatever you prefer) is a really sweet spot.
At QuasarDB, our C++ builds only take about 20 minutes this way, as long as we’re using a 128 vCPU instance. It’s a decent sweet spot for us.
Keep in mind we have 168 hours a week
1. company with <=20 engineers (or slow paced open-source) in one time zone. Except night time, you need constant running server for ~10 hours a day. (except weekends) = 50 hrs/week
2. company with 20 engineers in different time zones. CI running everyday except weekend = 120 hrs/week
3. if you have more engineers, then probably you need running CI every day.
If you are a small company, in one region, it might make sense to fully rely on cloud, for other scenarios dedicated servers could be cheaper option. Highest cost is initial setup if automation is difficult.
Self-hosting is an option for sure, but an in-between one would be to run your own gitlab and set up your own runners. I actually found out it's pretty easy to configure a runner on your own device, but with the same process you can rent a server or VPS at higher specs than the default offering and make your builds faster.
There is a significant IPC increase with every generation.
My single threaded code runs about half as fast in Actions compared to my 3900x. They're not fast instances.
In order for the quad core, eight thread 960 to be slower than an Actions instance, there'd need to have been an 8x uplift in single core performance since '08. It's been more like 2x.
~Comparable. Or maybe I got it wrong, both are still dog slow compared to anything people actually use though.
This is comparable to what several of my friends are using right now, two of whom are trying to get into IT (so mostly doing frontend development), because the economy fucked them over for the third time in their lives. They're also in their 30s. This is nothing unusual at all.
It's pretty sad how out of touch this place can be. Not everyone in this world makes $20k a month and can buy macbooks as they come out.
2) if your friends are doing frontend and cant afford a computer that is less than 10 years old; they need to negotiate better
3) most people aren't developing on their own personal computers
4) $20k is about half of what I take home a year in the EU; yet somehow I am running a quad core laptop and 16G of ram... for the last 8 years.
> $20k is about half of what I take home a year in the EU
So… roughly $3300 a month? One of my friends makes 10× less than that. It's right around the mean salary.
Edit: I originally stated (incorrectly) that $300 is close to the median salary. It's even worse — it's a mean. Our bureau of statistics doesn't publish the median, and I mixed them up.
I also make significantly less than that, and it's considered a good salary here.
> computer that is less than 10 years old
I checked several online stores just to be sure. They have lots of new laptop models with 2-core Celeron CPUs (or low-tier Intel i3s), and 4 GBs RAM, for $350 or a bit more. They've been selling like hot potatoes since the start of the pandemic because many can't afford anything else (and didn't have a computer before that — too expensive).
But yeah, we should just stop being poor. I get it.
I'm not sure where this sentiment is coming from. We're talking about business equipment with the aim of making a profit for your company here. If your company can only afford to provide $350 laptops to the software development team then they're going to have a hard time. That's not a value judgement, that's just a statement of fact.
It's like getting annoyed at logistics enterprises because they point out you need to lay out a few million dollars for trucks and warehouses. I can't afford to do that so it looks like, even if I wanted to, I'm not going to start a heavy goods transport business.
Though of course if your area is ever discovered (including remote work) the high value companies will come after you for the cheap good developers, give them better machines and repeat the rewards of good developers.
That holds true for other industries. Taking logistics: maybe a company uses motorbikes to move smaller packages around, rather than lorries, storing outdoors, etc. It still doesn't answer my question of where the "just don't be poor" sentiment came from. Maybe the OP is just having a bad day :-)
However, and please don't read this as charity, I would be really happy to send you some of my outdated equipment.
I have a Precision 5520 (Xeon E3-150M v6, 512G NVMe, 16G DDR4, ANSI Keyboard) which I bought with my own money that is collecting dust, it will fry any of those machines you mentioned.
I will send it for you for no money, just shipping (from EU).
Uh, how should it be read then?
$300 is a high, but not unheard of hourly rate here...
Something for $1000 bought a decade ago would be much better.
Getting something used you could get way way lower than that.
I'm aware that I am privileged (barely a tiny fraction of $20k a month though, and wouldn't buy a macbook even if I thought it was worth the money)
I just spent three days making it dockerized and the builds are often 5 minutes, due to go build getting all the deps at the go mod tidy stage which is after the copy source tree into docker step and hence not cached at all. Deployment will be on docker so whatever.
After a day of writing go, I feel happy and smart and content. After a day of getting docker files to works I feel pleased but a little like I have eaten too much candy.
Some CI/CD services like GitHub Actions or TravisCI will take a configuration file which declares the CI/CD steps to run. These services will run the build on some machine; but the point of "self hosting is good" is that you'll be able to run the CI/CD build with a more powerful host, and complete the CI/CD build quicker compared to the 'managed' cloud builders.
Doesn’t address local tools dependencies, but those tend to be less (tho golangci-lint is like ten minutes of downloads for the over 100 deps (and due to or terrifically slow MITMed network proxies) I finally just made all the build tooling a published base image for the actual builds).
>the computer I bought as a student in 2008 is comparable
>the phone you had two generations ago
Good for Americans (or first-world citizens)
The laptop cost about 110% of my monthly entry-level salary.
GitHub CI also has much better network connectivity (both speed and especially ping) compared to most parts of my country.
By your logic poor people actually have more money to spend on renting cloud services.
In my country I've seen people rent cars, rent a smartphone, and literally rent someone else's Uber account just to work as a driver.
If Mighty had developed their product for ancient Windows laptops instead of Macs, they would have had millions of customers. It still wouldn't be profitable, because they'd be very poor customers.
Sounds silly, but suppose you are a starving artist whose ancient laptop can't even run Photoshop. It might make sense to remote into a powerful computer that can run Google Chrome, then from that computer use a web-based Photoshop replacement like Figma.
Unfortunately the people at Mighty chose to focus on Mac users, because they had to impress wealthy investors to get them to invest, and those investors are Mac users.
Without this beta github offer: 2-core CPU (x86_64), 7 GB of RAM, 14 GB of SSD space
Your last development machine that was thrown away is so much faster than this (and we do have great tools for administer stuff like this nowadays). Hell, the computer I bought as a student in 2008 is comparable(!) (though it didn't have an SSD). And it will have so much better network connectivity with everything else on your network.
Whenever you hear cloud, realize that the dedicated time you will get (unless you specifically pay for it (in which case it will be more expensive than self-host)) is in the same order the phone you had two generations ago. That is why gmail search sucks. Because they can't afford to really search your messages and can not even do exact matching properly.
So yes, apparently github is fixing this now and if paying for this problem makes sense for you do it. But this is a problem that was partly invented by the cloud in the first place.