A user of the Cloud will typically create or "spin up" one or more virtual machines (VMs or "instances"). He or she then logs into the VM with administrative privileges, installs any desired software, and runs the software applications needed. These applications could be as diverse as a CPU-intensive analysis of particle physics data, or a web service directed towards scholars of literature and the humanities. The advantage is that the Cloud user has complete control over the collection of installed software (the "software stack"). The disadvantage is that the Cloud user must have some degree of experience in installing software and otherwise managing a computer.
Virtual machines can be easily replicated. One can take a "snapshot" of a VM which can then be started again elsewhere. This makes it easy to replicate or scale up a service, and to recover from (for example) a power interruption.
If you can fit your work easily into the HPC batch submission workflow and environment (see What is a scheduler?) it is preferable to work outside the cloud, as there are more resources available for HPC and software is already configured and installed for many common needs. There are also tools like Singularity to run custom software stacks inside containers within Compute Canada HPC clusters. If your need isn't served by singularity or HPC batch, then cloud is your solution.
Using the Cloud
- Get an account
- To create your first VM, read the cloud quick start guide.
- Learn how to use the Linux command line.
- Consider security issues.
- Learn more about OpenStack.
- Configure a data or web server.
- Find out about the available pre-made cloud configurations.
- Back up your VMs.
- Automatically create your VMs.
- Some best practices.
The details of the underlying hardware and Openstack versions are described on the cloud resources page. The system status page contains information about the current cloud status and future planned maintenance and upgrade activities.
For questions about the Compute Canada cloud service, contact technical support.