PHPNews

Performance Impact of Removing OOBGC

Until last week, GitHub used an Out of Band Garbage Collector (OOBGC) in production. Since removing it, we decreased CPU time across our production machines by 10%. Let’s talk about what an OOBGC is, when to use it, and when not to use it. Then follow up with some statistics about the impact of removing it from …

Continue reading »

Written by GitHub Engineering - - Aggregated on Friday May 18, 2018


February 28th DDoS Incident Report

On Wednesday, February 28, 2018 GitHub.com was unavailable from 17:21 to 17:26 UTC and intermittently unavailable from 17:26 to 17:30 UTC due to a distributed denial-of-service (DDoS) attack. We understand how much you rely on GitHub and we know the availability of our service is of critical importance to our users. …

Continue reading »

Written by GitHub Engineering - - Aggregated on Thursday March 1, 2018


Weak cryptographic standards removal notice

Last year we announced the deprecation of several weak cryptographic standards. Then we provided a status update toward the end of last year outlining some changes we’d made to make the transition easier for clients. We quickly approached the February 1, 2018 cutoff date we mentioned in previous posts and, as a …

Continue reading »

Written by GitHub Engineering - - Aggregated on Thursday February 1, 2018


Stretching Spokes

GitHub’s Spokes system stores multiple distributed copies of Git repositories. This article discusses how we got Spokes replication to span widely separated datacenters. Background: Spokes GitHub developed a system called Spokes to store multiple replicas of our users’ Git repositories and to keep the replicas …

Continue reading »

Written by GitHub Engineering - - Aggregated on Friday October 13, 2017


Evolution of GitHub’s data centers

Over the past 18 months we’ve made a significant investment in GitHub’s physical infrastructure. The goal of this work is to improve the redundancy and global availability of our system. In doing so we’ve solidified the foundation upon which we will expand our compute and storage footprint in support of our growing …

Continue reading »

Written by GitHub Engineering - - Aggregated on Thursday October 12, 2017


GitHub Debug

GitHub is proud to handle thousands of requests per second from our millions of users. The Internet, however, can be a fickle beast of cables and sparks, and sometimes those requests don’t happen very fast (or at all). While we’re happy to help you troubleshoot connection issues to us, we also know our users like …

Continue reading »

Written by GitHub Engineering - - Aggregated on Tuesday September 19, 2017


Keeping an eye on our network

Visibility is essential to effectively operating complex systems. As our network has grown, we’ve had to improve the the way we collect data about it to keep up. Key to these improvements has been the ability to tag metrics. Tagging has allowed us to build dashboards that start at a high level and facilitate drilling …

Continue reading »

Written by GitHub Engineering - - Aggregated on Tuesday September 5, 2017


Kubernetes at GitHub

Over the last year, GitHub has gradually evolved the infrastructure that runs the Ruby on Rails application responsible for github.com and api.github.com . We reached a big milestone recently: all web and API requests are served by containers running in Kubernetes clusters deployed on our metal cloud . Moving a …

Continue reading »

Written by GitHub Engineering - - Aggregated on Wednesday August 16, 2017


Soft U2F

In an effort to increase the adoption of FIDO U2F second factor authentication, we’re releasing Soft U2F : a software-based U2F authenticator for macOS. We’ve long been interested in promoting better user security through two-factor authentication on GitHub.com. Initially, we added support for TOTP …

Continue reading »

Written by GitHub Engineering - - Aggregated on Thursday July 20, 2017


DNS Infrastructure at GitHub

At GitHub we recently revamped how we do DNS from the ground up. This included both how we interact with external DNS providers and how we serve records internally to our hosts. To do this, we had to design and build a new DNS infrastructure that could scale with GitHub’s growth and across many data centers. …

Continue reading »

Written by GitHub Engineering - - Aggregated on Wednesday May 31, 2017


Integrating Git in Atom

The Atom team has been working to bring the power of Git and GitHub as close to your cursor as possible. With today’s release of the GitHub package for Atom , you can now perform common Git operations without leaving the editor: stage changes, make commits, create and switch branches, resolve merge conflicts, and …

Continue reading »

Written by GitHub Engineering - - Aggregated on Tuesday May 16, 2017


Enabling DNS split authority with OctoDNS

Building robust systems involves designing for failure. As Site Reliability Engineers at GitHub, we’re always on the lookout for places where redundancy can help to mitigate problems, and today we’ll be talking about steps we’ve recently taken to shore up how you locate our servers via DNS. Large DNS providers …

Continue reading »

Written by GitHub Engineering - - Aggregated on Thursday April 27, 2017