Formations
RosettaHub provides a CloudFormation-like service RosettaHub Formations. Formations are templates that describe the infrastructure resources, applications, security credentials and SSL certificates that are necessary to create a service on the cloud. Those templates are cloud agnostic and they make it possible for anyone to easily create and distribute complex data science applications and services. RosettaHub Formations constitute a powerful sharing mechanism. Users with whom the template is shared can with one-click trigger the reconstruction and wiring on the fly of all the artifacts and dependencies.
There are 5 types of formations on RosettaHub. These formations exist in on-demand or in Spot mode. Spot formations allow you to launch Spot/Preemptible cloud machine instances which come at a substantial discount to on-demand machine instances:
Machine: There are two types of machine formations:
Cloud Formations: they allow you to launch a machine instance based on any cloud image
Docker Formation: they allow you to launch RosettaHub machine images which come with a pre-configured docker container with pre-installed ready to use applications such as Jupyter, RStudio, The RosettaHub data science workbench
Machine Pool: They allow you to launch a pool of machines either based on docker machine images or custom machine images
Virtual Labs: They allow you to launch any machine image and connect to using a virtual desktop in the browser. Launching the formations launches two machines, one is a proxy machine and is based on a RosettaHub container machine image and the second one is based on your chosen cloud image.
EMR Cluster: They allow you to launch a Spark & Hadoop cluster based on AWS EMR or GCP Dataproc. Launching the formations launches a proxy machine that controls the master node of the cluster on top of launching the cluster.
HPC Cluster: They allow you to launch a dedicated HPC cluster based on AWS Parallel Cluster or Terraform script.
Create your own formations
To create your own formation, the best way is to start from existing public formations that have been shared with you.
(1) Clone: clone an existing formation the newly create formation will use your default keys and Ssl certificate.
(2) Customize: change the label, description and visual icon that is associated with the formation
(3) Update: change instance types, maximum spot bid price, SSL Certificate, number of cluster nodes
(4) Configure: change machine launch options such as root disk size and the container settings of the formation such as volumes, applications etc.
(5) Launch: by clicking on the formation
(6) Connect: get a session that corresponds to your formation, upload files and install packages
(7) Snapshot: create a new machine image based on the new session, this will automatically update the formation with the new image
(8) Share and Publish: share with users, groups or organizations. You can also publish the formation to the RosettaHub marketplace, you would need to share with user "hub" before publishing. The formation can now be acquired by another user who can transform the formation in the same manner