DreamCompute is DreamHost’s cloud computing service that provides scalable compute resources for developers and entrepreneurs. DreamCompute is based on OpenStack and designed for scalability, resiliency, and security.
With DreamCompute you can select the amount of compute resources and storage resources needed and define your own virtual networks.
DreamCompute is powered by OpenStack which is a widely adopted, open source cloud computing platform. It is used by both public cloud hosting companies, like DreamHost, and for private internal clouds as well.
DreamCompute provides virtual servers through the use of the KVM hypervisor. Instances can be launched from the DreamCompute dashboard or using the OpenStack command-line interface. Each instance is based on a Flavor. Flavors define the amount of resources allocated to the instance in terms of vCPUs, RAM memory, and boot volume size. DreamCompute provides Flavors small enough for companies just starting out, large enough for companies with greater computing needs, and everything in between.
Networking services for DreamCompute are delivered through OpenStack’s Neutron service.
Storage in DreamCompute is implemented with Ceph. Ceph is a massively scalable, distributed, redundant storage technology that can be delivered using standard server hardware. OpenStack’s Cinder project integrates with Ceph for block storage using Ceph’s RADOS Block Device (RBD) software.
Ceph is software created by DreamHost founder Sage Weil and has been under development inside DreamHost for several years. Ceph has been open source since its inception, and in early 2012, a new company called Inktank was spun out of DreamHost to support and continue development of the technology. Inktank was then acquired by Red Hat in April 2014.
Ceph is also the foundation for DreamHost’s cloud storage service DreamObjects.
The DreamCompute dashboard is built with OpenStack’s Horizon project. The dashboard provides a user interface for interacting with DreamCompute’s three main services:
Functions such as launching an instance, creating storage volumes, and configuring a virtual network, as well as creating and managing snapshots of both a running instance and storage volumes, can all be done in the dashboard (or using the OpenStack command-line interface).
OpenStack, and therefore DreamCompute, has a whole host of APIs that can be used for system automation. More about OpenStack APIs can be found here: