
Gitlab reducing free tier CI/CD minutes from 2000 to 400 minutes - kraf
https://about.gitlab.com/releases/2020/09/01/ci-minutes-update-free-users/
======
jrochkind1
One thing that always confuses me about the business factors in this kind of
announcement, where they say that the vast majority of users won't be
effected:

> We evaluted CI/CD minute usage and found that 98.5% of free users use 400
> CI/CD minutes or less per month.

Okay, so just that 1.5% of free users, each using at most 1600 minutes more
than the 400 under the new limits... is enough cost to actually matter and
make it worth making this change?

Or they anticipated that number going up if they didn't make the change?

It seems odd to me to say "This hardly effects anyone at all, almost everyone
can keep doing exactly what they are doing for the same price (free in this
case)", AND "this was necessary for the sustainability of our budget."

What am I missing?

~~~
nialv7
These are carefully constructed truthful statistic lies.

Of all the free users, how many of them even have a repository? Out of all the
users who have a repository, how many of them actually make any use of CI/CD?

They are saying "1.5%" to make it sounds small, but those 1.5% could account
for a significant portion of total minutes of CI/CD used.

~~~
paxys
This is exactly it. 1.5% of users does not equal to 1.5% of CI/CD minutes. And
such messaging isn't always dishonest. If you have 99 users using 100 minutes
each and 1 user using 10 million minutes, setting the max limit to say 1000 is
a net benefit for the system and its users, at the expense of the one outlier.

~~~
jrochkind1
Yes, but in this case one user couldn't use 10 million minutes, they were
already capped at 2000. Now they are capped at 400 instead. So that limits how
extremely disproportionate the high percentile use could be. As I said, that
1.5% of users could have been using at most 1600 more minutes a month than the
new max.

~~~
swsieber
If the other 98.5% don't use any minutes, then it's an 80% reduction. That
seems pretty good. We can't say more without real numbers though.

------
bachmeier
Their existing policy has never made sense to me. You can only give away so
much stuff on a free plan. I don't think CI/CD is cheap. Buying extra minutes
for $10 (not per month) is completely reasonable. At some point I feel
uncomfortable using a free plan that is obviously unsustainable.

~~~
vorpalhex
You can also run your own CI/CD runner for free and use their platform for
coordination. I do this and it works well, as easy as running a docker image.
Runs on my homelab.

~~~
acoard
Can you share a bit more about this? I'm interested in setting this up myself.
A link the docker image or name I can google?

To be clear, you store all your code on Gitlab's servers (i.e. not self-
hosting git instance) but just "outsource" the CI/CD work to your homelab?
That's my ideal.

~~~
time0ut
You run an agent called the GitLab runner. You configure it with a token from
your Gitlab.com group or repo (depending on where you want the runner to be
available). You tag the runner and reference it by tagging CI jobs you want to
run on it. The runner polls for outstanding jobs and then executes them. It is
extremely flexible in how it does this. In our case, the runner manages a
fleet of executors using docker+machine. I believe this is similar to how
Gitlab does it internally.

See [https://docs.gitlab.com/runner/](https://docs.gitlab.com/runner/)

~~~
lloeki
I did macOS runners this way, combining the runner with the VirtualBox
executor. Best part is once you set up the base VMs (one per macOS version),
the runner is smart enough to take a snapshot right after boot and restore
that on subsequent runs, which not just makes job running stateless, but also
makes job worker boot about 2s.

------
nrclark
I've never really understood "minutes" as a unit of build work.

What kind of server are we talking about? What CPU? How much RAM? How fast is
the storage access? Is my instance virtualized? And if so, do I have dedicated
resources?

I have a build that takes around 70 minutes on an 8-core i9 with 32 GB of RAM
and M.2 SSDs. What does that translate into for Gitlab "minutes"?

~~~
JoshTriplett
What would be the most immediately understandable way to present that? Suppose
they added new, faster servers in the future; what unit would make the most
sense to offer that won't change in the future?

~~~
ivalm
I mean like other public cloud providers it would make sense to have instances
and per minute pricing for an instance. If there is only one instance type
that's fine.

~~~
JoshTriplett
What about if there's one instance type, but sometimes that instance gets
upgraded so that the same things take less time? Is there a unit that would
make more sense than "minutes", and be stable over time?

For instance, "time to compile XYZ well-known project"?

~~~
ivalm
Time to compile is a hard to gauge metric. I’d rather just be transparent that
the instance type has changed.

It’s presumably in a big standardized DC. They don’t have a continuum of
instance configurations, they probably upgrade rarely and systematically. If
they are mid upgrade just have 2 instance types available then sunset the
older one. Since the upgraded instance is a new instance type it can have new
(or same) pricing. In addition, they could publish benchmarks for each
instance type if they want.

It is literally what we see with cloud providers having v1/v2/v3 names for
some instance types.

------
immago
Honestly not that big of a deal given that(I would assume) most probably run
their own gitlab runners. I personally use the free tier and have a bunch of
my own runners.

------
nscalf
For smaller projects who aren't ready to start spending yet, it's pretty
trivial to spin up your own runners on a server. Not sure how it scales, but
Gitlab has pretty solid guides on how to make one. It took me maybe an hour
the last time I looked at it, worth checking out. Definitely easier to drop
$10 than maintain that though, I'm a fan of Gitlab's CI/CD infrastructure.

~~~
davnicwil
This thing of spending like an hour setting up a runner is one of the things I
wanted to address with [https://boxci.dev](https://boxci.dev) \- A CI service
I’ve built with a similar bring your own runners model but where “setting up
the runner” consists of just installing a package, literally done in seconds
:-) You should check it out.

~~~
nscalf
Awesome! I’m a couple weeks from turning my attention to ci/cd for a side
project. I’m going to bookmark this and I promise I’ll check it out!

------
avolcano
$4/mo for 2000 minutes is reasonable. GitHub Actions does 2000 minutes for
free/3000 minutes for $4, wonder if they'll drop their free tier a bit without
the competition.

~~~
ldoughty
At $4/month you can get a server from anyone for 700+ hours of CICD .. this
doesn't sound like a great deal to me unless you're CICD can't exist without
~2gb/ram and the cpu limits... Or unless GitLab runners have 16+GB RAM and
lots of CPU for large jobs

~~~
deastman
Today, for our Linux Runners on GitLab.com, those Runners are currently
offered only on one machine type, Google Compute n1-standard-1 instances with
3.75GB of RAM. Our current Windows Runners on GitLab.com are Google Compute
n1-standard-2 instances with 2 vCPUs and 7.5GB RAM. In the future, for Linux
and Windows Runners, we will offer more GCP machine types. For our soon to
launch macOS Build Cloud beta, we are planning to start with one virtual
machine size and then possibly offer different machine configurations at GA.

So as you get going initially with GitLab SaaS, you don't have to set up your
Runners for your first CI/CD jobs. Then, depending on your requirements, and
as your use cases evolve, you can easily set up your own Runners but still
benefit from the included minutes.

Darren Eastman - Product Manager GitLab Runner

------
xuki
Why many words when little would do?

“We want to reduce cost and make more money, therefore today we reduce the
number of free minutes from 2000 to 400 for free accounts. There are options
to buy more minutes. kthxbye.”

So tired of corporate PR BS.

~~~
pm90
I work at a medium-ish enterprise and the comm team forbids engineering from
sending out notices to customers without clearing past them. Not sure if it’s
the same for Gitlab, but sounds like something similar...

------
dmm
This is only about seven builds per month for my Rust project, not too bad but
something I'll have to keep in mind.

Does anyone else think this is a Gitlab campaign against overuse of
monomorphization in Rust projects? I just can't get myself to use Dyn...

~~~
rumanator
> Does anyone else think this is a Gitlab campaign against overuse of
> monomorphization in Rust projects?

No,not really. I mean, in healthy projects build times are dwarfed by the time
it takes to run tests. In web development projects even the delivery and
deployment steps dwarf build times.

~~~
dmm
> in healthy projects build times are dwarfed by the time it takes to run
> tests

I don't doubt that's often true but many Rust projects may be outliers here. A
full, non-incremental build of a Rust project involves building all of its
dependencies. This can add significant amounts of time if a project uses a big
framework like Actix-web, which adds many dependencies.

My tests however run very quickly, ~1ms each. So running thousands of tests
only takes a few seconds, even on relatively slow gitlab runners.

~~~
kevincox
You should be caching the builds of your dependencies. This is very easy with
cargo and GitLab. I think encouraging people to optimize this is a reasonable
cost to push onto the free users.

~~~
papaf
To add to your point, the caching is done by adding a cache entry to .gitlab-
ci.yml :

    
    
      variables:
        CARGO_HOME: $CI_PROJECT_DIR/cargo
    
      cache:
        key: "$CI_JOB_NAME"
        untracked: true
        paths:
          - cargo/
          - target/

------
the_jeremy
That page links to [https://about.gitlab.com/solutions/open-
source/program/](https://about.gitlab.com/solutions/open-source/program/) for
determining if your project can have more free minutes. It sounds like that
says if you have a public repo you get a bajillion (50,000) free minutes. That
seems like a crazy good deal.

------
slykar
The feature that sold me GitLab was the ability to run your own runners. It's
basically 10x (source needed) cheaper than other hosted CI/CD services. Most
basic setup is like 3 commands.

------
time0ut
Gitlab's SaaS offering is an excellent product. It is absolutely worth paying
for. Their free tier was and still is very generous. I hope this isn't a
signal that they are having trouble. I've kind of naturally shifted 90+% of my
work over the Gitlab over the past year. I love it and want to stay!

------
tomcam
400 minutes is plenty to decide if you need to pay for the service, and they
need to stay in business. Eminently fair, and still far better than the
typical 1 month free.

------
etaioinshrdlu
Are we in a "belt-tightening" cycle? Noticing that Docker and now Gitlab are
reducing their super generous free tiers...

~~~
marcosdumay
There is a global recession out there, of the kind that only happens once
every 3 or 4 decades.

Even if those companies aren't losing revenue (they probably are), there is
less investment money too, so they are still impacted.

~~~
swyx
it isnt evenly distributed. usage of cloud services is UP if aws results are
any indication. gitlab should experience a similar lift.

~~~
marcosdumay
Investment money drying up is very well distributed. Even if none of those
companies are looking for money right now, when it gets tight it's a good
practice to reduce your spending so you need less of it.

Those things the OP is talking about are all investment, so it's natural that
they get cut.

------
nakedgremlin
Does anyone know how to see historical runner usage on GitLab? I'm digging
into the interface, and I only see current month usage, no ability to go back
to previous months. With this reduction news, I thought the interface would
have updated with better details.

~~~
tyeager
GitLab PM here. We will enable view of previous months' usage in this issue:
[https://gitlab.com/gitlab-
org/gitlab/-/issues/246844](https://gitlab.com/gitlab-
org/gitlab/-/issues/246844)

------
atonse
Seems like they’ve done it in a pretty reasonable way.

------
axelthegerman
Can anybody provide more info about how to set up your own runners? I have a
VPS which runs dokku - can I spin up some containers there? Or can I just run
it locally on my laptop (usually my laptop is connected to the internet when I
push my changes and trigger CI so it could run there?)

edit: I had the look at the docs but they're quite overwhelming with lots of
options. I run linux on my laptop. If the setup is too complicated I'll just
purchase some minutes and call it a day

------
downvoteme1
I see a lot of comments citing gitlab as devious or showing statistical lies.
The basic point is that gitlab is a business that is competing in an area
where competitors have infinite pockets. GitHub can allow users to use 2000
minutes and even make it free for teams because Microsoft has a huge war
chest. Gitlab on the other hand is valued at 1/1000 and has to be profitable
to survive.

------
wdb
I wish they would make there merge request work like GitHub’s pull requests. I
always miss the messaging when there are merge conflicts. Also would be nice
to have something similar to status checks with the annotations support like
GH.

Now I am going to see if they fixed the bug were copy to clipboard stopped
working a few months ago. Why would I want some JSON blurb intrad of branch
name when copying it ️

------
bovermyer
This seems totally reasonable.

------
aaronbrager
This is cool, I love that gitlab lets you purchase extra minutes adhoc without
a tier change. Neither GitHub nor CircleCi let you do that

------
agarzenm
Do they have metrics on how many free tier accounts actually use the CI/CD
feature and of those how many exhaust the former 2000 minute quota?

I am asking because my use is definitely in the minority of the user base
which is just slapping projects into a managed git repo that is not owned by
Microsoft.

This was before github decided to allow private repos for free.

------
badbanana
Colleague of mine blogged about how to save on Gitlab runner costs using AWS
Spot instances not too long ago, [https://makersden.io/blog/reducing-gitlab-
runner-cost-with-a...](https://makersden.io/blog/reducing-gitlab-runner-cost-
with-aws-spot-instance)

------
FpUser
At the end of the day it will all come down to a very simple thing: pay up or
hit the highway. There is only so much charity company can afford if it is
there to make money rather than vaporizing investments.

------
cornflake
CI pricing (gitlab, github actions, circleci etc.) is all extortionate. When
they price by 'user seat' (gitlab) or 'credit' (circleci), comparing pricing
is like trying to pick a cell phone plan.

AWS Code Build will always be an order of magnitude cheaper, it's just
slightly harder to set up but it works very well. It's unclear how all these
other services will ever compete with that.

For example, to run a CI server on Gitlab for a team of 8 that never spun
down, it would cost $492 per month on their 'shared' runners. On AWS Code
Build, you get a DEDICATED ec2 instance for $223 per month and only pay for
what you use when it's running.

~~~
danielheath
The setup time isn’t cheap, though, and the UI is... confusing.

If you’re using a dedicated ec2 instance, most providers (gitlab, buildkite,
github, etc) will let you connect it as an agent for free.

IMO using your own runner is a better way to go in general because the
standard ones tend to be very underpowered and you can get much faster builds
without spending much.

At that point different providers are largely competing on price and UX (imo
Buildkite have the best developer UX and the time saved as a result is well
worth the price).

(Not affiliated with buildkite other than as a user).

------
ivanstame
Hetzner VPS for $35, caprover and you can install many one click apps, plus
there is gitlab ce and some CI/CDs...For just $35 a month...

~~~
xuki
You can get an AMD bare metal for that price:

[https://www.hetzner.com/dedicated-rootserver/matrix-
ax?count...](https://www.hetzner.com/dedicated-rootserver/matrix-
ax?country=ot)

~~~
ivanstame
Thanks for pointing this out, I am still on Intel hardware with 32G of RAM,
this has double that :D

------
pyrox420
When can we address only offering yearly plans for the paid user seats? We
would have upgraded months ago if we could go month to month....

------
thiht
What would be the cheapest way (ideally free) to setup custom runners?

------
alexellisuk
Good timing with Docker being the first-mover with its Hub pricing change.

------
coding123
This doesn't change anything for us, we use our own runners.

------
interrupt_
I wonder what would be the response here if GitHub did the same.

------
qppo
edit: I can't read, ignore my gripes on github actions. Gitlab is the best!

~~~
Macha
This is about gitlab, not github.

------
aaomidi
I know I work at Microsoft and this is going to sound bad but...at what stage
is it other companies doing EEE?

------
sam0x17
They sort of hang themselves with this -- gitlab runners will occasionally
hang and just run for the full 1 hour max, making it very easy to max out your
hours. Presumably they don't fix this so people max out their hours and have
to buy more, but it also hurts the bottom line of their free tier. I see this
happen at least 2x a month on our project, and it doesn't seem to correspond
with any particular docker image.

~~~
deastman
Can you raise an issue in the GitLab Runner project? This way we can take a
closer look at the errors you have experienced.

And no, we don't do this on purpose in order to have you buy more minutes.

[https://gitlab.com/gitlab-org/gitlab-
runner/-/issues](https://gitlab.com/gitlab-org/gitlab-runner/-/issues)

Darren Eastman - Product Manager GitLab Runner

------
sushshshsh
Metering of services like this only makes sense for organizations that don't
have the time or expertise or desire to maintain the open source, self-hosted
version themselves.

Raspi and similar devices will some day hopefully rid the world of this
tyranny of having to trust a website like this and pay them for eternity and
hope they dont go down and hope they dont raise prices (oops) and hope they
dont obfuscate pricing like ermmm well every cloud provider has.

~~~
zepolen
99$ for 50,000 hours is a steal. You could barely rent a dedicated server for
that amount of money, let alone the maintenance.

~~~
random_visitor
> You could barely rent a dedicated server for that amount of money

You can get a Ryzen 5/64G for like $40/month on providers like hetzner. While
I get your point about maintenance, it's not right to say that dedicated
servers are _that_ expensive (you also can't compare the performance of
2vCPU/4G with a dedi but that's beside the point)

~~~
brodock
the minutes can be consumed in parallel, so there is a difference to that.

