This document provides context for the Phacility Cluster Documentation.
- Phacility, Inc offers a hosted version of Phabricator, which runs in a cluster configuration.
Phacility, Inc is the company that develops Phabricator. Among other services, we offer a hosted SAAS version of Phabricator for users who are interested in using Phabricator, but not in deploying or administrating it.
Instances of Phabricator that we host are deployed on a cluster, which broadly means that each instance spans across multiple machines. This makes the instances more scalable, more efficient, and easier to administrate en mass than they would be if we deployed with a non-cluster configuration (like starting one VM per instance).
Although instances can scale better in a cluster configuration and the administrative cost per instance is smaller, the initial setup is also more complicated. Additionally, many of the tools used to manage a hosted cluster are necessarily different from the tools used to manage a single install. This documentation describes the architecture, deployment, and administration of the Phacility cluster.
- Phacility technical staff should read this documentation.
- Other users may find it interesting or useful.
This documentation is primarily intended for Phacility staff who are working with the cluster. If you work at Phacility in an engineering or operational capacity, you should certainly read it!
Although this documentation is primarily aimed at Phacility staff, other users may also find it interesting or useful and there is no technical or business reason not to make it open. For example, this information may be interesting to customers who want to gain a deeper understanding of the Phacility cluster, potential customers interested in evaluating the technology, administrators who are interested in deploying a Phabricator cluster on their own hardware, or engineers who are curious about how we built things.
A small amount of information specific to security and billing concerns is omitted from these documents.
- Most of it, but this isn't a manual (unless you are Phacility staff).
Most of the information here is applicable to Phabricator clusters in general, but third parties are not the primary audience of this documentation.
In particular, the Phacility cluster runs a vanilla clone of the Phabricator upstream, which includes primitives for the major capabilities (like clustering, instancing, and billing). Many of the ideas in the architecture of this cluster are applicable to the design of any Phabricator cluster.
However, the Phacility cluster also runs some closed-source extensions, and we have some closed-source tools to deploy, manage, and administrate the cluster. The Repositories page has more details about exactly what we deploy and how much is open source. The CLI Tools page describes the closed-source CLI tools we've built to help administrate the cluster.
- Not yet.
While the upstream technically has code to implement clustering, it is in its infancy and not yet documented or supported.