github.com/chasestarr/deis@v1.13.5-0.20170519182049-1d9e59fbdbfc/docs/installing_deis/system-requirements.rst (about) 1 :title: System Requirements 2 :description: System requirements for provisioning Deis. 3 4 .. _system-requirements: 5 6 System Requirements 7 =================== 8 9 When deploying Deis, it's important to provision machines with adequate resources. Deis is a 10 highly-available distributed system, which means that Deis components and your deployed applications 11 will move around the cluster onto healthy hosts as hosts leave the cluster for various reasons 12 (failures, reboots, autoscalers, etc.). Because of this, you should have ample spare resources on 13 any machine in your cluster to withstand the additional load of running services for failed machines. 14 15 Resources 16 --------- 17 18 Deis components consume approximately 2 - 2.5GB of memory across the cluster, and approximately 19 30GB of hard disk space. Because each machine should be able to absorb additional load should a 20 machine fail, each machine must have: 21 22 * At least 4GB of RAM (more is better) 23 * At least 40GB of hard disk space 24 25 Note that these estimates are for Deis and CoreOS only, and there should be ample room for deployed 26 applications. 27 28 Running smaller machines will likely result in increased system load and has been known to result 29 in component failures, issues with etcd/fleet, and other problems. 30 31 .. _cluster-size: 32 33 Cluster size 34 ------------ 35 36 For the :ref:`deis-store <Store>` component to work properly, clusters must have at least 37 three nodes. The ``etcd`` service must always be able to obtain a quorum, and the Ceph 38 data store must maintain at least three replicas of persistent data. 39 40 See `optimal etcd cluster size`_ and `etcd disaster recovery`_ for further information. 41 42 .. important:: 43 44 Deis clusters of less than three nodes are unsupported. 45 46 If running multiple (at least three) machines of an adequate size is unreasonable, it is recommended to 47 investigate the `Dokku`_ project instead. Dokku is `sponsored`_ by Deis and is ideal for environments 48 where a highly-available distributed system is not necessary (i.e. local development, testing, etc.). 49 50 Network 51 ------- 52 53 .. include:: ../_includes/_private-network.rst 54 55 .. _`dokku`: https://github.com/progrium/dokku 56 .. _`optimal etcd cluster size`: https://coreos.com/docs/cluster-management/scaling/etcd-optimal-cluster-size/ 57 .. _`etcd disaster recovery`: https://github.com/coreos/etcd/blob/master/Documentation/admin_guide.md#disaster-recovery 58 .. _`sponsored`: http://deis.io/deis-sponsors-dokku/