[HN Gopher] Gitlab Dedicated - our new single-tenant SaaS offering ___________________________________________________________________ Gitlab Dedicated - our new single-tenant SaaS offering Author : mikece Score : 171 points Date : 2022-11-30 14:10 UTC (8 hours ago) (HTM) web link (about.gitlab.com) (TXT) w3m dump (about.gitlab.com) | jdoss wrote: | A couple jobs ago we had to take our entire SaaS offering | (security product) and reproduce it in the EU for GDPR. This | exercise evolved into my Systems team being asked to create | private deployments for a handful of Fortune 500 / Fortune 10 | sales opportunities. The private deployment enabled Sales to land | these Enterprise deals that were very risk adverse to having | their data in a multi-tenant SaaS product. We ended up with | around 10 of these private deployments and some very large big | name customers. | | We did it entirely with Ansible on AWS or GCP on accounts owned | by us. This was before Terraform was 1.0 and Ansible enabled us | to quickly reproduce our deployments. It wasn't sexy or pretty. | It worked well enough to get the job done. The best aspect of | using this model is it gives your engineering team total control | over the private SaaS deployment and unlimited access. Where as | On-Prem or Customer Cloud deployments are an entire other bag of | cats. It is great middle ground for Enterprise customers that | won't do multi-tenant SaaS. | | I am only sharing this anecdote because I have seen this single- | tenant SaaS model work in the past and I think more engineering | teams should strive be able to reproduce their whole environments | for private deployments. | croes wrote: | Wouldn't it nowadays be a violation of the GDPR? | | I mean AWS and GCP still are affected by the CloudAct, and if | your company is US based they are too. | | I guess your anecdote happened during Safe Harbor or Privacy | Shield. | jcims wrote: | What part says violation to you? Just the fact that re-homing | was the only thing mentioned? | jdoss wrote: | Good question. Our EU deployment was on AWS in eu-central-1. | TBH I don't know. I was told it was for GDPR and other | compliance reasons and as long as it was being hosted in the | EU it checked the boxes for our EU customers. | wara23arish wrote: | if you were to do this again today do you think terraform would | be a better fit or maybe even something like pulumni? | jdoss wrote: | I would use Pulumi if I had to do it over again. I use the | Pulumi Python SDK for some internal things at my work | currently and it's so much better of a DX than fighting HCL | all day. | | We actually tried to adopt Terraform early in 2015 but we hit | some of the nasty state bugs back in version .05 or .06 IIRC | and we hosed one of our deployments and couldn't recover. | That burned the Terraform bridge for us and we just used | Ansible to automate everything. | daxelrod wrote: | If I remember correctly, GitLab used to offer the same kind of | service, but discontinued it because managing it was not a core | competency that they wanted to focus on. I'm curious what's | different now. | [deleted] | [deleted] | daxelrod wrote: | Ah yes, it was called GitHost. Here's the previous page for it | https://web.archive.org/web/20190528091645/https://about.git... | . | | Note that the domain it used to be hosted at (GitHost dot | Indian Ocean) is now a possibly-nsfw casino. | nimbius wrote: | so no pricing and its offered by inquiry only which i can only | assume means we have serious reservations regarding the | salability of this 'new' product versus, say, a $24 a month vultr | instance or something... | | if you had 60 devs using the service thats 14k a year. you could | have one of them thats on payroll maintain the gitlab container | along with the rest of the CI/CD and im not sure it would really | matter. Is there something im missing? | nixgeek wrote: | Exact pricing is not listed, however if you dig around on | GitLab's site [1] it says Dedicated is for purchasers of >= | 2000 seats of Ultimate, plus a management fee to cover | defraying the infrastructure cost, and the time to look after | it for you. | | From this even with generous discounting on those seats, I'd | infer this is for customers willing to spend >$50k/mo or | >$500k/yr. | | [1] https://about.gitlab.com/direction/saas- | platforms/dedicated/... | Thaxll wrote: | Comparing a SaaS solution to a cheap vps like vultr is | completely missing the point. | water-your-self wrote: | >maintain the gitlab container along with the rest of the CI/CD | | Errr.. I would hope you have at least 1, preferably more, | replications outside of your own stack. | chrisseaton wrote: | > offered by inquiry only which i can only assume means we have | serious reservations regarding the salability of this 'new' | product | | Much B2B is done on price by inquiry. The three columns and | 'best value!' is a very modern thing. Even in those cases | you'll usually see the enterprise option is 'call us'. I | wouldn't make extreme assumptions based on the pricing model. | mschuster91 wrote: | > Much B2B is done on price by inquiry. The three columns and | 'best value!' is a very modern thing. | | Yeah. That is the biggest cultural difference between "suit | tech" and "t-shirt tech" - the old boomer-generation suits | _love_ personal connections and dealings of any kind, while | the modern generation prefers efficiency and getting their | work done without pseudo-social bullshit. | senko wrote: | > Is there something im missing? | | Yes. This is for big corporations who _absolutely must not_ use | shared /co-hosted/non-dedicated hardware, but don't want to | maintain the thing themselves. | | We had several such customers at my previous startup; one of | them was a bank, another was a popular household name, neither | of which so much as blinked when we quoted a price much higher | than what they could get otherwise if they only shopped for the | cheapest option. | toomuchtodo wrote: | Cheaper than blame when there is a vendor snafu, | compliance/regulatory risk and all that. It's mostly a risk | insurance premium. | tallship wrote: | > neither of which so much as blinked when we quoted a price | much higher than what they could get otherwise | | And therein lies the business model of throwing good money | after bad, and that's not even taking into consideration the | enormous cost benefits of self-hosting with one's own | physically colocated hardware infra and a meager full time | staff. | | Not batting an eye, or rather, "...so much as blinked", as | you said, are bourne of business models with factored in | wreckless budget kruft that may at first be acceptable until | one merely scratches the surface of cost savings. | | Even with a full time staff, and carrier hotel fees, the | reliability and overall cost savings of self-hosting would | likely not even exceed 15% of what the fully managed SaaS | hosting package would cost - and two more points as well... | | * Response time of support staff would be under 5 minutes. | | * Dedicated support staff would actually need to "dedicate" | very little actual man-hours to support functions, freeing | them up to have their budgeted labor resources allocated | elsewhere in the company most of the time. | | This is a wonderfully stark and typical example of how to | sell vendor lock-in for a FOSS solution... brilliant! | mschuster91 wrote: | > Even with a full time staff, and carrier hotel fees, the | reliability and overall cost savings of self-hosting would | likely not even exceed 15% of what the fully managed SaaS | hosting package would cost - and two more points as well... | | There's a bigger issue: security updates. With self-host, | you have to subscribe to a ton of better-or-less-well- | organized mailing lists, and once a 0-day is published you | are in the race between your IT team and exploiters (who | can _and will_ find your instance on Shodan). | | In contrast, SaaS vendors (usually...) get informed about | vulnerabilities prior to everyone else, so you don't have | to worry about timely updates. | filmgirlcw wrote: | > And therein lies the business model of throwing good | money after bad, and that's not even taking into | consideration the enormous cost benefits of self-hosting | with one's own physically colocated hardware infra and a | meager full time staff. | | First, depending on where you are taking about, "meager" | full time staff for that 5 minute response time would be a | few hundred thousand dollars because you'd need multiple | people per site to be on-call. Could those people do other | things? Maybe! But thinking you can hire people for $35 an | hour to be on-call or on-site if the servers go down is | really misguided. In some parts of the world, that might be | possible, but having multiple full-time staff to hit that | "5 minute response time" claim is still going to be more | expensive than you let on. | | Second, you now get to multiply this figure by however many | different regions you are in that have to be physically | isolated for GDPR or other compliance reasons. And if | you're doing any government work? Well, that requires | special audits (that are not cheap and governments love to | spend money, regardless is where they are based) and very | specific data residency rules and requirements. Even if | you're not contracting with a government, highly regulated | industries have very specific data residency rules that | must be followed that your local colo may or may not be | able to handle. And if it does, that colo is often a lot | more expensive than usual. | | > Not batting an eye, or rather, "...so much as blinked", | as you said, are bourne of business models with factored in | wreckless budget kruft that may at first be acceptable | until one merely scratches the surface of cost savings. | | This reads to me like something a consultancy firm that | hasn't actually done the long-term math would say. | | Look, for businesses of a specific size, I do agree that | self-hosting can be a more efficient and economical model. | But that size changes based on usage and is often elastic. | | A smaller business that doesn't already have its own on- | prem setup already and needs single-tenant stuff for | regulatory reasons is probably better off looking at | getting a dedicated offering from Gitlab or using a third- | party vendor who is setup to handle and manage that stuff | for them. The hard costs (capex) are often large upfront | and taxes work differently (amortized over time for capex) | versus the economics on cloud (opex), which might provide | some tax savings that are more beneficial. | | A business of a certain size and volume who likely can | amortize the costs better over time and has a lot of | dedicated staff to do their own specialized and customized | work, and who is already very deep in the regulated space? | They are going to be better off self-hosting. | | But the super huge businesses that have hundreds of | thousands of employees and need to follow data residency | requirements in dozens of regions? They are probably better | off using a mix of both. Dedicated on-prem self-hosting in | areas where they have lots of clients and business. Use a | single tenancy SaaS for places that have high regulatory | needs but that aren't huge business centers (or that are in | regions where it is difficult to setup your own tenancy or | where you aren't incorporated as a business). | | There are trade-offs with everything. And this is a product | that isn't for 95% of the businesses out there. But for | those that it is for, for a lot of places -- especially | places that don't count devops as a core competency or | product focus -- it's useful and not blinking an eye at the | price doesn't mean people are burning money. It means that | the service is of value for their time and energy and | focus. | | Disclosure: I work at GitHub, who is obviously one of | Gitlab's competitors. But I find this knee-jerk "just self- | host" rhetoric to really miss the nuance of all of this | stuff. | pelagicAustral wrote: | Yeah, that's actually how much I pay for my instance on Vultr. | Granted it's only a few users... It is a bit tricky at times to | keep things up to date and secure enough, it would've been | great to see a price tag for small teams or something. | | I mean, I do get that at that point (<= 5 devs) these guys (nor | any other company of that size) actually cares about that | particular case study since one could just stick to their free | tier on the main site. | lbotos wrote: | If you have any insights as to what makes it tricky to keep | up to date I'm all ears. Would love to know: | | Single node? Omnibus or docker based? | | Making upgrades easier for all users is a core part of my | plan for the next year | | (I work at GL) | pelagicAustral wrote: | I guess my comment was a bit misleading, what I meant was | the entire sysop of having a single node (which is what I | have) running smoothly. I mainly work development so at | times having to tinker with the OS, keeping things up to | date (including GL), secure, manage logs, etc can be quite | time consuming. | | I do remember the first time I have a bit of a meltdown | with the stage upgrade procedure. Granted the same thing | can be said of any upgrade, you follow steps toward latest | and greatest. But it was a bit of a job to get that up to | date from the image provided by Vultr. | bmitc wrote: | I have never understood why companies don't just publish | pricing. It too often means pricing is just a game they want to | play, for both personal and enterprise use, and it's a game I | all too often don't want to play. If pricing is not available, | I almost universally move on. | filmgirlcw wrote: | Because pricing is always negotiable in enterprise settings. | Even if it was published, that wouldn't necessarily be what | would be charged. | | I agree with you in a personal sense that it's frustrating, | but in enterprise, it often is too variable to list because | if you are a big enough client, you're going to get discounts | and deals that regular folks just won't. It's no different | than volume pricing in any other industry. | kube-system wrote: | Enterprise pricing san be complicated enough that there may | be billions of combinations and it can require an engineer to | do scoping to determine which line items should be included. | | Source: have been said engineer. | cbzoiav wrote: | Because when you are dealing with corporates the amount of | time needed can vary massively by customer. A bank or | healthcare firm will come at you with endless feature | requests, support requests etc. over things they claim is a | regulatory requirement / they must have ASAP. | | You also might offer the first bank a discount because once | you have one onboard its much easier to sell your product to | others. They know a competitor has already done all the due | diligence and decided you're safe, so the risk they spend | months evaluating you to not be able to move forward is | minimal. | bmitc wrote: | I concede that I mainly approach this from a non-enterprise | mindset, but even trying to research these things for | enterprise can be frustrating. It does seem to make sense | for products that are at a large scale, both in deployment | "size" or effect and pricing. | bityard wrote: | I assume you don't work in the Enterprise IT space, this is | absolutely 100% the norm. There is no such thing as up-front | pricing, they always want you to talk to a salescritter. In | some ways, this is good as the salesperson (usually) has the | same level of knowledge of a system architect or engineer, or | will bring one in, and you can have an open dialogue about | how (or even if) their product can solve your problem. It's | bad when you know exactly what you want and the salesperson's | job is merely to gauge how much they think you're willing to | pay and quote accordingly. | | And many companies will not even talk to you except through a | reseller. | a_c wrote: | Enterprise software is more willing to milk money from | corporate than to leave money on the table. The amount of | money a company is will to pay can be order of magnitudes | higher than an enterprise software imagined. Hence SaaS | company hire bunch of sales people/sales engineer to | "understand your need", which is an euphemistic way of asking | how deep your pocket is. And when everyone is doing this, you | can't simply move on, there are only so much options. | | Of course, you could see it completely differently, private | pricing means longer sales process, higher labour cost and | fewer customer. Having tiered offering is common. This is | actually what gitlab did, free plan, individual plans, | business plan[1]. If you don't need worrying about data | residency, you don't need contacting their sales at all. | | [1] https://about.gitlab.com/pricing/ | a_c wrote: | One more angle, when you are starting up, every bucks feel | like coming out of your own pocket. When purchasing | "enterprise plan", your company already attain certain size | and you are spending your company's money, money that | otherwise would not fall under your pocket anyway. | zeeZ wrote: | Or your startup is forced to look into "enterprise plans" | due to necessary features for compliance being locked | behind them, without having attained a certain size and | "enterprise" money. | maartendraijer wrote: | It's an interesting move from GitLab. About 5 years ago they | offered single-tenant hosting as well, but they shut down this | service. Back then we had just started single-tenant GitLab | hosting (focusing on the European market) and were a good | alternative, so GitLab referred their single-tenant customers to | us. | | Fast forward a couple of years and now they are back again. :) In | the meantime we also started offering HA GitLab hosting (on AWS, | GCP and Azure), so if you're interested but don't want to wait or | don't have > 2000 seats, feel free to reach out: support <at> | gitlabhost <dot> com or check out our website[0]. | | [0] https://gitlabhost.com/services/dedicated-high- | availability-... | a_c wrote: | I can see gitlab's appeal. I wonder if there is opensource | connector that let SaaS company host their application on | customer's choice of cloud? Or is there similar project? | water-your-self wrote: | We heard you didnt like having all your source code scraped for | our ML model so what if we silo you? Would that make you content | when we eventually do our scraping again? | roblabla wrote: | This is gitlab, not github. I'm not aware of gitlab doing any | code scraping for ML models. Did I miss some news? | sco1 wrote: | I guess this is why they couldn't call it GitLab Enterprise | :) | dustedcodes wrote: | This blog post as well as the GitLab blog doesn't load for me at | the moment and times out. | | I know the "HN hug of death" can happen to anyone, but with | GitLab's history I can't help myself and be very judgmental now. | sytse wrote: | I checked a few minutes after your comment and right now and it | loads fine for me. Maybe our DDoS protection routing people | different? | [deleted] | gjvc wrote: | https://code.onedev.io/ is a good backup plan for when gitlab | goes rogue. | paxys wrote: | What does single-tenant SaaS even mean? All of your company's | data will be in a separate AWS account? Isolated Kuberentes | cluster? Individual RDS instance? And how are you ensuring that | the cloud provider you rely on is also single tenant? It is a | meaningless term unless the service describes exactly how they | are isolating customers (And it doesn't seem like they are in | this post). In my experience the term is just used by salespeople | to assure paranoid CIOs and nothing else. | sa46 wrote: | > What does single-tenant SaaS even mean? | | I'll attempt to explain to clarify my own understanding. | | SaaS is a delivery mechanism. Tenancy is an isolation model. To | your broader point, the isolation model is implementation | specific. | | Multi-tenant SaaS means a single deployment for all tenants, | and the data is delivered over the internet. | | Single-tenant SaaS means a separate deployment for each tenant. | I _think_ common usage means a separate database per tenant. | Single-tenant can also include entirely new infra for each | tenant with private networking which is what Gitlab describes. | | HN thread on single-tenant DB experiences with lots of useful | tidbits: https://news.ycombinator.com/item?id=23305111 | cheriot wrote: | The press release says customers can pick the cloud and region | they want to use so I suspect the answer will be 'yes' for | those questions. | | A ~1000 person company I'm familiar with moved from GitHub to a | self hosted GitHub because it was too easy for engineers to hit | a button and accidentally publish a repository/gist to the | public. That _shouldn 't_ matter, but sometimes it does. I'm | not sure if that's the same on GitLab. | sugaroverflow wrote: | Hi, GitLab team member here :) | | GitLab has some project visibility settings that you can | utilize to control visibility and prevent users from | publishing repos to the public: https://docs.gitlab.com/ee/us | er/public_access.html#restrict-... | | Alternatively, private groups can only have private projects: | https://docs.gitlab.com/ee/user/public_access.html#private-p. | .. | cheriot wrote: | Good to know, thx! | paxys wrote: | Sure but you can offer that with multi-tenant deployments in | different regions. | cheriot wrote: | They're specifically saying it's single tenant. I suspect | this is the same software as a self hosted GitLab, but | where GitLab is operating it. | cultureulterior wrote: | They already had this once before, then shut it down. Not sure | why this time should be different? | sschueller wrote: | Please don't let this be the kickoff to gitlab starting to remove | the self-hosted option like Atlassian/Jira decided to do. I know | it's open source and a fork would happen but I would prefer not | going through this crap again like I am currently having to deal | with Atlassian. What happens to all the premium features we pay | for right now? They aren't open source. | sytse wrote: | This is not intended as a replacement for self-hosting. We plan | to continue offering that. | thepill wrote: | Thank god... | godman_8 wrote: | I don't see this as an attempt to kill off their self-hosted | offering. They charge the same as their SaaS version with some | slight differences in features/limits (limits being removed as | they're offloaded to your infrastructure.) The self-hosted | version should in theory have a better profit margin than their | SaaS version. Seems like the Gitlab Dedicated offering is | probably just their self-hosted version automated and hosted on | Gitlab infrastructure. Appears the demand was there and it | probably wasn't much extra work to make it happen so why not. | brightball wrote: | Gitlab has invested pretty heavily into being able to self host | virtually anywhere. | | If they aren't committed to it they are certainly investing a | lot of time into doing it well. | brazzledazzle wrote: | To be fair so was Atlassian. It just takes the CEO seeing the | amount of money they'll make and save from pushing their | customers to SaaS to change the direction for the company. | ccday wrote: | I don't think GitLab will do this as they would lose many | government customers that self-host on private networks. | sdmike1 wrote: | They would lose us, that's for sure | sschueller wrote: | This sure looks like an attempt to move those into this | solution. | sarki_247 wrote: | GitLab team member here. No, it's not. This service will | not be replacing our self-hosted versions. | koolba wrote: | There's plenty of people that want dedicated deployments | without having to manage the details of the deployment and | upgrades. Especially those that already run their core on | one of the target cloud platforms. | 0xffff2 wrote: | At least for the US government, that's not going to happen. | The government controls the servers is a non-negotiable | contract term. We even have our own AWS regions for US | government work. | delfinom wrote: | Nah, that's looser than you think. Contractors deploy to | the government cloud regions on AWS and Azure all the | time. There's no reason GitLab can't become a qualified | contractor and gain access. | | The government cloud regions are way more about meeting | compliance with all levels of FedRAMP and DoD | requirements. Such as exclusively only US Citizens may | access the systems even on the cloud hosts staff (so no | foreign/remote/visa employees) and a whole list of other | requirements both big, small and annoying (like FIPS) | that affects everything from software to the physical | building. | akerl_ wrote: | GitLab has already confirmed in comments here that | removing self-hosted isn't something they're going to do. | | That said, as you note yourself, the government is | perfectly fine w/ not controlling the servers. GitLab | could offer single-tenant (or heck, even multi-tenant) | SaaS in AWS GovCloud and sell to government customers. | ramoz wrote: | I bet differently. Gov CIOs are being forced to adapt to | rapid business solutioning and minimal overhead. It takes | years to operationalize a Gitlab instance, and then | requires permanent O&M less adaptive to IT cultural | shift. | | Gov IT leaders will move to Gitlab SaaS overnight, once | it's FedRAMP approved and migration is enabled through a | click of a button. | | Maybe less favorable for AWS and their contracts oriented | to long-term gov owned compute. | jnsaff2 wrote: | Is this going to be more performant and less flaky/down? Can | money be thrown at the one dedicated tenant being more | performant? | | These were the big issues with at my previous client. The | isolation/compliance/etc stuff had already been solved. | sqs wrote: | Everyone assumes cloud == multi-tenant, but single-tenant cloud | has a lot of benefits and is becoming more common: GitLab | Dedicated is single-tenant, GitHub is prioritizing and rebuilding | "GitHub AE" (their single-tenant cloud offering), and Sourcegraph | (of which I am a cofounder) Cloud is single-tenant[1]. | | For self-hosted products, offering a single-tenant cloud product | is much easier than multi-tenant because single-tenant cloud | "just" requires automating and managing infrastructure, not | completely changing the core application to support multi- | tenancy. This also means nobody should be worried about self- | hosted being deprecated in favor of a single-tenant cloud | product; companies generally find it easy to keep both. | | Single-tenant cloud is also a lot more appealing to large | customers because the security is (arguably) fundamentally better | and scalability is easier to prove (you can just point to | scalability on a self-hosted instance, which has the same scaling | characteristics). | | Expect to see more single-tenant cloud offerings come out for dev | tools, especially those that have a big self-hosted offering | (like GitLab, GitHub, and Sourcegraph). | | [1] https://about.sourcegraph.com/blog/enterprise-cloud | mooreds wrote: | I agree. At FusionAuth (my employer) we have a single tenant | SaaS solution . I think this has legs and serves a real need. | | Interesting to note that you mentioning mostly devtime | solutions (version control, source navigation). | | I think the proposition is even more compelling for components | of your application that are used at runtime (like auth | servers, databases or message queues). | | Wins for the company offering the self-hosted solution: | | * Easier to build the SaaS offering as you mention. | | * Can leverage same code for SaaS and self-hosted versions. | | * Unique value proposition: "run it yourself or let us run it, | or migrate between these as needed" has been a compelling | message for some of our clients | | Wins from the developer perspective: | | * Easier to version the tool like a library. No more surprise | upgrades. Especially when you using a component that other | pieces of code depend on, devs want control over the upgrade | process. | | * No noisy neighbor problem (at least, no more than you'd have | using a VM in a public cloud). | | * Still a SaaS, so you get ease of delivery/usage/maintenance. | | The major cons: | | * it costs more. | | * deployment time can take longer (you're not just adding a row | in a database and configuring a hostname). | | * making sure folks know when/how to upgrade (it's still a | learning experience for many devs to have a single tenant SaaS | solution). | | I had an interesting discussion with the Cloudility folks about | the three models for multi-tenancy: | | * logical (in a db) | | * with k8s namespaces | | * with VMs | | That's here: https://cloudify.co/blog/podcast-episode-twenty- | five-the-end... | bryanray wrote: | Honestly, curious ... if I understand this correctly, you are | deploying multiple versions of your application? So if you | have 100 clients, you have 100 deployed versions of your | application? | | Do you have infrastructure in place to deploy all at once? | All I can think about is a time back in the dark ages where I | had 50 different instances of an application deployed and | some clients didn't want to upgrade. Some didn't care. And | some did. It was an absolute nightmare trying to keep all of | the individual systems in sync? | | I get the feeling that's not what you're describing here | though? It sounds like a really convenient setup you guys | have, but I just can't envision it very clearly. | | Anyhow, thank you for sharing a bit of your infrastructure. | mooreds wrote: | > if I understand this correctly, you are deploying | multiple versions of your application? So if you have 100 | clients, you have 100 deployed versions of your | application? | | That is correct. | | We've written a lot of code against our cloud provider's | APIs to spin up a new instance of our application. The | application itself is pretty simple: java runtime, java | code and a relational database (plus optional | elasticsearch). | | > It was an absolute nightmare trying to keep all of the | individual systems in sync? | | We don't try to keep all the applications in sync. We let | folks upgrade on their schedule, not ours. We inform them | of features and security issues and let them make the | assessment on when is best to upgrade. These are devs and | this is sensitive user data, so they tend to be receptive | to upgrading when needed. | | It's absolutely a tradeoff between more granular control | and operational simplicity (for us; the end user doesn't | really care). | | FYI, I gave a conference talk about our infra evolution | which led to that podcast interview I linked. I can try to | dig up the PDF if that would be of interest (it wasn't | recorded). | magicalhippo wrote: | > So if you have 100 clients, you have 100 deployed | versions of your application? | | We in essence do that. We have about 300 customers, each | with their own deployment. | | We have a set of active major versions which our customers | can run, and then bug fixes etc in minor versions gets | deployed automatically. | | When the customer is ready they can bump the preferred | major version, and the database etc gets upgraded over the | following night/weekend (depending on activity level). | | When signing on, the user can select the version to run, | defaulting to the highest minor version of the preferred | major version (after upgrade is ready of course). They can | select one of the 5 latest minor versions per major | version. | | The update service checks for any new builds once per hour | and grabs them, informing the "boss users" of any new major | version if available. | | This makes bugs and issues have less impact. If we screw | up, the user can always just use one of the previous | versions until we fix it. And once we fix a bug we just | have to make a new build and tell the user to log back out | and in again in an hours time. | | As for keeping it in sync, our installations are fairly | stand-alone as such. However we have to take locally. So we | make sure database upgrades are backwards compatible as far | as possible, ie old code should run fine on a newer db | schema. Automated services follow the default version | policy (so get upgraded automatically). And we don't have | too many major versions around, about a year, so they have | to upgrade at some point. At least if they want to receive | support. | | For us it's what's allowed us to do customer specific | solutions and logic within our general application, which | has been one of our strong points compared to many of our | competitors. | | But yeah, one of the downsides is when, like last week, we | discover a bug in a library of ours which we've used for a | while. Then there's like a dozen branches to patch and | build. And as mentioned, upgrading the db schema might | require care and/or preparation to ensure older versions | can still run against it. | claytonjy wrote: | How does one handle cross-customer data work in a single-tenant | SaaS arch? Do you pipe a lot of "exhaust" data from those envs | into a shared env for analysis, ML model development, etc.? | sqs wrote: | For products like GitLab and Sourcegraph that started self- | hosted, there is not really any cross-customer data or cross- | customer functionality. This is what customers expect. They | want their data to be isolated and not shared. | | For other products needing cross-customer features, I think | you'd need to define clear APIs and pipelines for exporting | some form of the data that the customer can inspect to be | certain it is not violating their security/privacy | expectations. I'd love to hear from people who have built | such a system! | SergeAx wrote: | Single tenant app is also better from data security point of | view: there's no way to make a mistake that allows to access | someone else's data, if it resides in a different | database/object storage. On the other hand, single tenant app | is more expensive to scale: memory footprint and caching layer | are not shared between clients. | bberenberg wrote: | I would love to hear about the tooling you're using to deploy | the tenants as part of the signup flow etc. | compiskey wrote: | So a code monolith I can just dump on a Linux box is in again? | | Our figurative ideas, ephemera, seem to be in a loop of taking | a simple mental model, branching it into a mess, feeling over | extended, circling back to a simpler mental model, branching it | into an over extended mess. | | Monotheism versus polytheism, and dozens of flavors of a | religion rooted in a central umbrella idea. | | Nation states allow creating over leveraged branches of | economic Ponzi schemes. | | And we're all certain this is net new and never before seen of | humans because the labels are all different! | groestl wrote: | Just nitpicking, but code monolith does say nothing about the | way it's deployed. Could be a massively distributed system, | fwiw (we did that and were quite happy with it). | compiskey wrote: | Extensive dependency chain of brittle logic that needs tons | of planning and preparation to update and manage is not | unreasonable description for microservices architecture | from an ops perspective. | | Sure generated book sales, crowning of thought leaders, and | busy work to soak up easy money for anyone paying | attention. | zitterbewegung wrote: | You can still put it on a Linux box this is more like you | enter in a support contract with GitLab and they setup the | SaaS for you and the cloud infrastructure instead of being | intermingled with their other multi tenant systems. | | What this is trying to solve for is companies that can't buy | their other offerings which they said are enterprise | companies and or heavily regulated . | cheriot wrote: | > So a code monolith I can just dump on a Linux box is in | again? | | Single tenant != Monolith. These things are orthogonal. | compiskey wrote: | If you stick to arbitrary software industry definitions. As | a hardware engineer first, it's all "monolith of electron | state" to me. | chasd00 wrote: | > Our figurative ideas, ephemera, seem to be in a loop of | taking a simple mental model, branching it into a mess, | feeling over extended, circling back to a simpler mental | model, branching it into an over extended mess. | | It's pretty standard, the pendulum swings to one side and | then eventually swings back to the other. If you stay | flexible you can just ride it back and forth throughout your | career. | | here's an old Dilbert that shows the same | | https://www.sambridger.com/wp- | content/uploads/2012/01/dilber... | nzoschke wrote: | Yes! We're doing this at my job for our single tenant cloud | offering for a data processing and analytics product. | | Monorepo, single Go binary, dump on an instance via cloud | init, run it as auto scaling group with count of 1. Only | dependency is S3 and database service like RDS. | | Super simple for us to build, maintain and operate. Still get | a reasonable economy of scale in right sizing the instance / | db for the customer workload. | | Easy to have a customer set the same thing up themselves for | self-managed / any IaaS or on prem version. | | More portable than any pre-containerized contraption, because | all our enterprise clients all know how to manage instances, | and only a few have container expertise, and its trivial to | wrap it your container of choosing anyway. | count wrote: | Not to be terribly pedantic, but multi-tenant is _literally_ | part of the NIST definition of cloud: | | "Resource pooling. The provider's computing resources are | pooled to serve multiple consumers using a multi-tenant | model..." | sqs wrote: | It's still an accurate term under that definition. Single- | tenant cloud is technically multi-tenant with respect to the | underlying cloud provider (AWS/GCP/etc.), but not with | respect to the software service provider (GitLab in this | case). | | But I believe language and communication are emergent, | decentralized phenomena. Single-tenant cloud is a good and | useful term. | hardwaresofton wrote: | Well this is _fascinating_. There are other Gitlab hosting | companies out there like GitlabHost[0] but interesting how the | market will shift with Gitlab itself entering. | | [0]: https://gitlabhost.com | zeeZ wrote: | With the way things have been going and them showing decreasing | amount of care for smaller orgs and more push towards | enterprise, I'm gonna say we'll see the discontinuation of at | least some of the various official self-hosted packages for | nonsense marketing keyword reasons. | JoshTriplett wrote: | This looks _great_. I 'd love to use something like this. | | The biggest thing I've been hoping for for years is a federated | mechanism for handling clones and pull requests. Click "fork" on | a repo on gitlab.com and get a fork on your single-tenant | instance. Push changes to your fork, and open a federated pull | request that ends up back on the original repo. ___________________________________________________________________ (page generated 2022-11-30 23:00 UTC)