edjboston
It's not quite over though. Monday traffic will be far higher than the weekend. People will need to login, which will put unusual stress on those endpoints.
Also, there is a small chance someone experiences malformed or missing data. There was only a single repo that we know experienced this, which we're already working on. So I'm only talking about unknown unknowns. So we will be on high alert to respond to any such requests and retrieve data from the archives in the previous infrastructure.
More pertinent to your concern about cost: It should make it easier for PaaS' who are k8s-based to run it for you and perhaps provide a lower price point.
Historically the dominant source of outage minutes is indeed features that didn't scale (70%).
However, We've made great strides in the past 6 months on QA and release management and it's yielded a marked improvement in availability. The last week has been an exception to that.
We're in the midst of a move from Azure to GCP, and once that is done, we're going to rebuild out system to be entirely automated which will eliminate a class of manual mistakes.
We do have a dedicated DB team of three people. We also have an open vacancy for the team's manager and and individual contributor.
We are in the midst of a move from Azure to GCP. That means more work than usual is going on currently because we're replicating data across infrastructure-as-a-service providers and keeping the site running. This has been the case for a couple months now and it's shouldn't impact site performance. Today's site slowness was unfortunately due to a manual mistake related to a Postgres upgrade task.
[2] This article is old. A move to metal never happened, and is not in our future plans. In fact, after we move to GCP we are likely to set up a CloudSQL replica and evaluate it's performance
We have a plan to address this and are kicking off our move to GCP shortly. Our top-level engineering department goal is to make gitlab.com ready for mission critical workloads and are targeting industry standard SLA's (e.g. three 9's). You can see our proposed architecture here if you're curious: https://about.gitlab.com/handbook/infrastructure/production-...
We just kicked off a major effort to address the availability issue Sid mentions above. The highlights are that we're moving to GCP which should provide better underlying reliability. But interestingly we found that only about ~20% of our downtime minutes where from underlying infrastructure. Whereas ~70% came from features that didn't scale.
So the more exciting part of the project is to tighten the feedback loop between development and deployment with a continuous delivery pipeline. This may be obvious to some people, but it's harder to pull off when you've got an open source project, an on-prem product, and a large-scale SaaS sharing the same code base. I'm calling it "Open-core SaaS" and there are only a handful of companies that run a large, multi-tenant service based on an open source project.
Flight Testing and Autonomous Design Challenges
Testing Your First Redux App
Life with React and Redux
Airware snatches $30M to sell complete drones to the Fortune 500
Apply http://grnh.se/yn3epi
Apply http://grnh.se/yn3epi
Check out our Eng blog https://makers.airware.com
Show HN: How we static site
What I was getting at in the article was completely transferring a production app (presumably under load and with customers) from one language to another.
Show HN: Vili, Kubernetes Deployment System
Y6 Drone Hackathon Project
Airware Makers
The Lost Wax Method of Rewriting Software
Another level would be container infrastructure. Our new project is Docker/Kubernetes so the AWS infrastructure mostly just vanilla resources. It would be fantastic to have a similar tool for the internals of our micro SOA.
Great job!