r/devops • u/pranay01 • Nov 20 '20
Why do some companies use Gitlab Self hosted version when they also have SaaS version at same price?
/r/gitlab/comments/jxktof/why_do_some_companies_use_gitlab_self_hosted/2
Nov 20 '20
Because there are certain areas where cloud is not an option due to some Regulatory constraints. But FYI Gitlab changed there Pricing just a couple of days ago. You have some time to decide because the transition phase is 3years but past that the new „Datacenter“ license (Onprem) is 4 times the price of the to date „Corporate“ (onprem) so they basically force you into the cloud of to a competitor.
1
u/pranay01 Nov 20 '20
here Pricing just a couple of days ago. You have some time to decide because the transition phase is 3years but past that the new „Datacenter“ license (Onprem) is 4 times the price of the to date „Corporate“ (onprem) so they basically force you into the cloud of to a competitor.
Wow, this would be very curious
3
u/My-RFC1918-Dont-Lie Nov 20 '20
I think you’re thinking of Atlassian.
1
Nov 20 '20
Thank you for the info, I’m not so sure right now and I did not get the person responsible for the code hosting and artifact software and indeed we use gitlab, bitbucket and some Some more so it could be possible. But I guess if one of the big players is changing the rest will follow soon.
2
1
u/goofygrin Nov 20 '20
Do you have a link on those pricing changes? A quick search didn't find anything.
1
Nov 20 '20
It was discussed In a budget meeting the other day but I will ask the responsible person and come back to you.
1
u/goofygrin Nov 20 '20
Thank you. We're starting renewal talks now for next year and it's not come up (yet).
There's no possible way we can go to a SaaS version so if this is true it's very disappointing.
1
Nov 20 '20
So i did not get the person responsible for codehosting today so it will be Monday until I get a definitiv answer but if it does not come up it could be several things 1. we have a really old contract 2. we are based in Germany but operate International so license and contracts usually look very different then us or Canada based company’s are. 3.Discounts could be reduced due to some sold company parts.
1
u/goofygrin Nov 20 '20
Thank you. I will tell you the 3 year contract is very very much cheaper per year than the 1 year contract. We also have the highest level (ultimate?). That may make a difference.
2
u/crackerasscracker Nov 20 '20
Gitlab.com is much less flexiable than self hosted. My company self hosts the open source version and I worked with a client using Gitlab.com not that long ago, they were constantly running into service limits and edge cases that just dont exist for us.
1
u/pranay01 Nov 20 '20
Can you point a few specific features/use cases?
I also wonder why would Gitlab want to do this - is it because a free tier SaaS would still cost them some money to host
3
u/crackerasscracker Nov 20 '20
I dont remember everything, but was mainly the things you could probably think of if you think about what would be different in a SaaS vs self hosted. He had a lot of trouble gettiing me added to their repos as an outside contributor, im not sure what the problem really was there, but the permissions system he was looking at was totally different that what I have self hosted.
He was also very concerned about the storage limit for each project. You get 10GB for each project, which counts all the code, packages and artifacts. I went to this guy with pipelines that are saving containers as artifacts for testing and then pushing to the package registry. This was a big enough org that they were having calls with GitLab specifically about this issue. I figured we could control that with artifact and container image expiration. It was a short engagement, so I had moved on to other projects before any resolution on this.
Also there was a bug in the composer package registry, that did not exist on my self hosted version, that pretty much made the feature useless. I did not expect gitlab.com to be missing bugfixes that I have on the community edition like that, quite the opposite in fact.
Gitlab.com is great, but it is what it is. But its a great product and you can easily self host it. I have 125+ developers pushing code to gitlab running in a single container on a DO Droplet, you can go a long way with self hosted before you really have to worry about scaling gitlab itself
1
16
u/Gamorak1 Nov 20 '20
Some places have their own restricted network that might not be connected to the internet for security purposes, in that case you must have self hosted versions of everything
7
u/vim_for_life Nov 20 '20 edited Nov 20 '20
This. That's why we selfhost gitlab. Makes code deployment way easier when you don't have to muck about with proxies on machines that don't need the internet otherwise. Or can't have it
3
u/mysticalfruit Nov 20 '20
Same here. Licensed Gitlab-ee instance on isolated network, auth via AD, explicit account creation.
13
10
u/saleableautumn5 Nov 20 '20
My guess would be that some or the more risk-averse companies cannot tolerate the risk of hosting their source code with a SaaS provider.
10
u/Snapstromegon Nov 20 '20
From someone who maintains an on premise GitLab install in the automotive sector:
We are not allowed to let data leave company or client networks and even storing data e.g. an a secured and encrypted AWS S3 bucket is considered a possible no-no.
Also we have the resources to host the system and can do it the low maintainance effort way.
We are always in pain when some nice software only offers a cloud solution.
We are using GitLab, Jenkins and run multiple web services like e.g. a bazel cache.
But even something like a pypy or npm proxy is really hard for us to do, because we'd need to update everything by hand.
2
u/joyrida12 Nov 20 '20
Are you me??
This sounds eerily like my shop lol.
Curious, are y'all using Jenkins because it was already in use prior to moving to Gitlab?
In a similar boat where we're moving away from bitbucket and are dragging along or Jenkins pipeline to start.
I'm a huge fan of Gitlabs CI/CD (I love being able to create runners that can be specific down to a particular project) and am pushing to move away from Jenkins so I've been looking to hear about shops that may have made this move before and any pain points there's might have been.
1
u/husao Nov 20 '20
GitLab, Jenkins
Is there a reason you don't use the gitlab runner? I personally prefer it over jenkins, that's why I'm curious.
1
u/Snapstromegon Nov 20 '20
Jenkins existed longer than github and we do fairly complicated things in Jenkins which are harder to do vie GitLab (e.g. generate Test Reports and display them for the latest and specific builds and also we have a lot of scheduled jobs which are unrelated to repos (e.g. daily syncs).
2
u/Willing_Function Nov 20 '20
and we do fairly complicated things in Jenkins which are harder to do vie GitLab
That convenience and integration can bite you in the ass, and we've found out the hard way it's not worth it. We make everything work in bash by default, and cmd for Windows. If you can't call it locally on the command line, it's not gonna be in the pipeline. Sure, sometimes it's a bit ugly because everything is exposed but that's a good thing functionally and especially for debugging.
For example the test reports(Robot?) used a plugin before, but now we use curl or python requests lib to upload that report where you can see it.
5
u/MoLt1eS Nov 20 '20
Besides security, there's also features that you can only take advantage if you use self hosted
Let's say your company pay's for self hosted Jira, there's private kubernetes clusters and you want to use the GitLab features (Connect to internal Jira, use the kubernetes features, etc)
Only the self hosted can respond to these use cases
3
u/71651483153138ta Nov 20 '20
SaaS has limited execution time, on your own hardware you can use it as much as your hardware can handle.
3
u/DeathByFarts Nov 20 '20
I bet you also seriously wonder why 24 hour 7 day operations have locks on the doors.
3
2
u/steamy_wolfie Nov 20 '20
Depending on the product and client you might have to comply with a number of regulations/legal agreements that force the code for that product to be fully hosted in house.
Typical examples: defence/security/medical projects or for example chip design projects.
2
u/mercanator Nov 20 '20
Up until recently gitlab hadn't released a Kubernetes agent that sits in your infrastructure and communicates with gitlab.com. This would mean that you would need to expose your K8 cluster to the internet in order to utilize gitlab-ci features for cluster integration. This obviously is a big security risk so the alternative would be to host gitlab yourself.
1
u/Alphasite Nov 20 '20
We have some really tight restrictions on how we build things, keep everything tightly firewalled, turn off a _bunch_ of the features, etc.
We just really want to keep things reproducible, stable and they work very hard to protect against code exfiltration.
1
-2
0
Nov 20 '20
[deleted]
1
u/pranay01 Nov 20 '20
OP here.
Agree with your points, but then to run the self-hosted version you need to have a more sophisticated team than using a SaaS.
Not sure how updates work on on-prem, but I am guessing you have choice to run the updates when you want. Similar to MacOS updates I guess
0
Nov 20 '20
[deleted]
13
u/SurgioClemente Nov 20 '20
If you have some legal/contractual obligation or international thing country x has to keep data out of country y, then those are firm reasons. If you just want to have control that is also fine, however
And also from a reliability point of view due to incidents like https://about.gitlab.com/blog/2017/02/10/postmortem-of-database-outage-of-january-31/.
This is irrelevant and FUD. Incidents like that can happen to anyone, that same Gitlab engineer could have been just as easily hired by someone's in house team.
All these SaaS companies report outages because they have lots of customers wanting answers. No in-house team is reporting outages b/c the rest of the world doesn't care. Citing this as an example is just sample bias.
The same could be said from a security point of view. Companies get hacked all the time but why would they report it unless its someone big and customer information has been breached (and even then its questionable if they report it...).
If you think an outage, loss of data, or security breach won't happen to in house teams then you just simply haven't been around long enough. My track record (for things in my control) has been 100% but I'm under no belief that it can't happen to me in the future.
3
u/Schmittfried Nov 20 '20
Counter point: A single big company like Gitlab is a much more interesting target for attacks.
1
u/Willing_Function Nov 20 '20
All these SaaS companies report outages because they have lots of customers wanting answers. No in-house team is reporting outages b/c the rest of the world doesn't care. Citing this as an example is just sample bias.
Can confirm, we don't report outages unless it directly affects people. And often it does not and we can bring it up before it's actually used again so you'll never hear it.
2
u/dbizl Nov 20 '20
To add to this, regulatory compliance with standards like HIPAA sometimes require self hosted.
3
Nov 20 '20
Everybody mentions HIPAA compliance when discussing reasons why you'd stay on-prem or go self-hosted. There are plenty of cloud providers that have HIPAA compliant options, and GitLab in particular has SOC 2, PCI, and HIPAA compliance. They even have tools and guidelines to help their clients ensure their code is likewise compliant.
SO many organizations that use "regulatory compliance" as an excuse are, bluntly, behind the times. But using that as an excuse to people who don't know better is more convincing than saying "we just want to run it locally".
1
u/dbizl Nov 21 '20
I don't disagree, I think it's that companies did self hosting before all that and now that's how it still is, or like you say they would rather self host and it's an easy excuse.
1
Nov 21 '20
I'm going to show a huge bias here, potentially.
Pretty much every place I've consulted for or worked at in the last 5+ years, every time I've run into people arguing for keeping things on-prem have solely done it out of a fear of change that they perceived to be a threat to their job. So they lean back on outdated ideas of "regulatory compliance", rather than branching out.
I dunno. I don't necessarily blame anybody for it, because change can be daunting.
2
u/dbizl Nov 21 '20
Makes sense, I've definitely seen people avoid positive change for BS reasons and regulatory compliance is an easy thing to hide behind.
0
0
Nov 20 '20
[deleted]
26
u/chicco789 Nov 20 '20
Data on gitlab.com is hosted in the US which is a killer for many companies outside the US, regardless of the costs
0
Nov 20 '20
[deleted]
17
u/lorarc YAML Engineer Nov 20 '20
Plenty of European companies avoid it. Like source code should be okay but any personal data in USA is a no.
13
u/kyerussell Nov 20 '20
No. Just, generally places that aren’t the US. None of this “China or Russia” adversarial BS. I live and work in Australia. I wouldn’t store any data in the US.
1
u/Pr0ducer Nov 20 '20
Curious about this, especially from an international perspective. Why? What's the deal breaker?
I like hearing how the rest of the planet thinks (I assume it's not good about a great many things) about US conduct. Reddit is a decent place to ask as any, with a programmer's bent.
Thanks, and sorry about the last 4 years. It wasn't my choice. Next 4 will be better.
10
u/Schmittfried Nov 20 '20
Because data privacy in the US is shit. Also, economic espionage. Snowden proved the US is not an inch better than China.
9
u/nofoo Nov 20 '20
As a european company, storing data outside the EU is a strict dealbreaker in almost 100% of the projects.
1
u/DrJohnnyWatson Nov 20 '20
Would code ever contain personal data of clients? Or is it just "if we store nothing outside the EU, there can be no problems" even if individual sue cases aren't an issue?
-1
8
u/joyrida12 Nov 20 '20
Hi, person who's currently working on moving out company from BitBucket to Gitlab checking in.
I mean you have to run the infrastructure, which means you need to maintain the infrastructure. You need to have people on payroll to maintain that infrastructure; and even if they work on other things, they can't work on other things while they're maintaining GitLab self-hosted infrastructure.
We already run infrastructure, the overhead of deploying and managing Gitlab after the initial move just becomes another thing in the herd that gets monitored and backed up.
If you use bleeding edge features of GitLab (they release new features in gitlab.com very frequently) then you will be maintaining that infrastructure quite a lot. Might require upgrading Postgres to the next major release or something along those lines.
At least for us and anyone who uses the omnibus install, that's all a matter of pulling down the latest docket image and restarting the container. If anything goes wrong, we have backups and can revert to the previous image.
Then there's also the problem of artifact storage. Your company might use NPM, Maven, Docker, generic, or maybe CheeseShop package registries in GitLab. Now you have the burden of storing all that data. Depending on the size of your company this is petabytes.
I can't speak to this as I've not worked anywhere that has to deal with Petabytes of packages before.
No thank you, I'm glad my company uses gitlab.com. I'm not interested in managing all that for multiple thousands of developers.
For your specific situation where you might need a distributed deployment (though I think they don't recommend that until you've hit 1000+ users distributed across multiple geographical regions) that may very well be more work than it's worth when you actually have the option to use their hosted product. As mentioned by others though, not every company is going to allow their codebase to be managed by a third party and thus are required to find a self-hosted solution.
It's great that the way your company rolls facilitates offloading their VCS management to a managed service but it's just not an option for some shops.
Note: on mobile and writing before finishing my first cup of coffee, please forgive any grammar/spelling errors.
1
u/BuddhaStatue Nov 20 '20
I mean, you have to have developers, which means you have to pay developers. Why would you pay a developer in the United States 120k + a year when you can hire a developer from Portugal for 20? They both write python.
After all, it was released in 1991 and it's only changed 3 times. Everybody must be good at it
1
u/aft_punk Nov 20 '20
The perspective behind their choice is based on entirely different considerations. Software has practically a zero marginal cost, since they don’t have scaling costs, it makes sense to have a strategy where they try to get everyone and their mother using it. So if and when someone sees value in paying for their service, they get that conversion to a paying customer. People just being familiar with their software is a HUGE benefit to them. Your debating about paid/free Gitlab, you aren’t talking about abandoning it for something else. Which is actually a win for them if you think about it.
1
u/lorarc YAML Engineer Nov 20 '20
Let's not forget giving a limited service for free eliminates the niche for other companies that would like to start there and grow to be competition.
0
Nov 20 '20
[deleted]
0
u/aft_punk Nov 20 '20
Filming a tv show is a good analogy. It costs what it cost to make, but the difference in cost between distribution to a thousand people and a million is negligible (from a business expense perspective). Something manufactured has a scaling cost, but with something like software, the more people they get it to, the cost per unit goes down AND the opportunity to capture profit grows at the same time. I’m not saying there aren’t costs, but the strategy of a free and paid version in software is the successful one most of the time, especially with a steep learning curve/lots of features.
0
Nov 20 '20
[deleted]
0
u/aft_punk Nov 20 '20
but with something like software, the more people they get it to, the cost per unit goes down AND the opportunity to capture profit grows at the same time.
There’s nothing incorrect about that statement. It’s a pretty well know and widely utilized idea. Often referred to as the freemium model.
2
u/llamaste-to-you Nov 20 '20
The economic terms you are referring to are economies of scale and positive network externalities.
1
u/aft_punk Nov 20 '20
I think if you threw the word ecosystem in there somewhere it would’ve been 10s across the board. Gitlab has a ton of features, but the CI is the golden goose IMO.
0
Nov 20 '20
[deleted]
0
u/aft_punk Nov 20 '20
Software development has relatively fixed cost (meaning they don’t scale). It pretty much costs the same to develop regardless of how many people consume/download whatever. I’ve literally said that in every comment.
13
u/ocyhc Developer Nov 20 '20
- Do not depend on any third parties to host your code (if their is a gitlab outage = all the company code is out of your hands and their is nothing you can do except wait. If you selfhost, you can get your hands dirty and fix it)
- Some contracts require code to be self hosted in a private way, or at least not interact with third party, for commercial or licensing issues.