Deployment options and sizing guidelines for HipChat Data Center

With HipChat Data Center you can now deploy a multi-node cluster, which allows you to scale your deployment for large numbers of users, and to create a highly-available (HA) application. If your organization doesn't need scale or availability, you can deploy HipChat Data Center using only one HipChat node and combine other services on a second node. 

Why can't I deploy two HipChat nodes?

If you have enough users in your deployment that you need more than one node, you need a total of three nodes.

If you were to only deploy two nodes for a medium or large deployment, it would give you a false sense of security. If a single node in a two-node cluster fails, the remaining node would immediately be overwhelmed with traffic.

With a three-node cluster one node can fail and the remaining two can continue operating, even if their performance is reduced.

The configuration requirements (such as open ports, usernames and settings, etc) are the same for the services, no matter which option you decide to deploy. 

On this page:



AWS deployment options for HipChat Data Center

HipChat Data Center can be deployed on AWS. We provide an AWS CloudFormation template which you can use as provided, or use as a reference implementation to build your own template. You can also deploy either of the architectures described here, substituting AWS components for the different required services. 

Service AWS equivalent
HipChat nodes c4.2xlarge servers
Postgres database AWS Relational Database Service (RDS)

db.m4.2xlarge, with 64 GB rdsstorage

Redis server AWS ElastiCache, size: cache.m4.large
NFSv4 file system AWS Elastic File System (EFS)
Load balancer AWS Elastic Load Balancer (ELB)

Enterprise-scale HipChat Data Center deployment

An enterprise deployment of HipChat Data Center consists of a total of seven components: a load balancer, three HipChat application nodes, and three external data stores (Postgres, Redis, and an NFS4 volume).

Use an enterprise-scale deployment when:

  • You have more than 2000 users.
  • Your organization requires High Availability (HA).

Small-scale HipChat Data Center deployment

For a small-scale deployment you'll need a reverse proxy, and two nodes. One node will host the HipChat application, and the other will host the combined data stores (Postgres, Redis, and the file store) used by the application. That's three machines, down from seven. 

Use a small-scale deployment when:

  • You're deploying a temporary evaluation, test, or development instance.
  • Your deployment serves 2000 users or fewer

An Enterprise-scale deployment of HipChat Data Center

A small-scale deployment of HipChat Data Center

Load balancer or Reverse proxy?

In both deployment scale options, clients access the HipChat node(s) through a service which terminates SSL. This is required regardless of which deployment type you choose.

In an Enterprise-scale deployment this service is a load balancer which distributes client connections among the HipChat nodes. In a small-scale deployment all connections go to a single HipChat node, so this service can be just a reverse proxy.

Several services (such as NGINX or Apache) can function as both a load balancer and a reverse proxy. If you use one of these, you can quickly scale up your deployment later by adding more HipChat nodes.

Enterprise-scale requirements

  • The load balancer host can be small: 2 cores, with 2GB of RAM.
  • The three HipChat nodes must have 8 cores 2.8GHz or faster, and a minimum of 16GB unallocated RAM. 
  • The Postgres server must have at least an 8 core 2.25GHz CPU, with simultaneous threading (SMT) capability, 32 GB of memory, and at least 64GB of storage.
  • The Redis server must have a 4 core 2.25Ghz CPU, and at least 8GB of memory.
  • The NFS volume must be NFSv4, and accessible anonymously (with read and write permissions) by all three HipChat Nodes.

    We recommend that you start with at least 40GB of file storage for a new deployment, however if you're migrating from a HipChat Server deployment, you might need more storage.
  • If your deployment requires high availability (HA) then you must configure both Postgres and Redis to be highly-available. This may require additional infrastructure.

Small-scale requirements

  • The reverse proxy (load balancer) host can be small: 2 cores, with 2GB of RAM.
  • The HipChat application node must have 8 CPU cores (2.8GHz or faster),16GB RAM, and a minimum of 40GB of (non-RAM) storage space.

  • The data stores node must have 8 CPU cores (2.8GHz or faster), 16GB RAM, and at least 60GB of non-RAM storage. 

    If you are migrating from a HipChat Server deployment, you might need to increase the data store node's available storage based on the number and size of messages in your exported server data.

Single points of failure

A small-scale deployment can save you administrative and maintenance time and reduce infrastructure costs, however it can be hazardous. If the node that hosts your data stores fails, there are no failover mechanisms, all three data stores are affected, and the deployment will immediately stop.

Be extra sure that the data stores node has a good backup and recovery mechanism.

Last modified on Aug 16, 2017

Was this helpful?

Provide feedback about this article

Not finding the help you need?

Ask the community

Powered by Confluence and Scroll Viewport.