Stacks & Clusters

General

This view give you a general view of the Stack or Cluster, showing name, UUID and the type.

Elements

The elements view only exists for Stacks, here you can add and remove clusters to the stack.

Configuration

Each Stack or Cluster can have some configuration attached to it that can be accessed from the VM to have a tiny shared storage space. Values for that can be set here.

Creation

This dialogue lets you create a new Stack or Cluster, Select the type you want and give it a name.

Example

Let us walk through it on a simple example, a web app - lets call it appy - it consists of:

psql (db), erlang (some app), haproxy (reverse proxy).

Which is a common setup but the same logic apply to every other combination of tools.

So the first step of the deployment is to create a stack for this application, lets call the stack appy, just like the application itself.

Now for each part of our application we create a cluster.

appy-db
appy-app
appy-proxy

Then we assign all those clusters to the stack as parts of it so we get a bit of a tree structure:

appy
-appy-db -appy-app
`-appy-proxy

Now when creating a new zone it simply goes into the cluster that represents it's functionality. So a app server vm gets created in the appy-app cluster.

But things are not always static, while clusters can't change stacks can. Say the appy team gets all fancy and wants to extract the authentication in a own service form the main app it still is simple.

We create a new cluster appy-auth and join it to the appy stack so they'd have:

appy
-appy-db -appy-app
-appy-proxy -appy-auth

Now they can create a new VM in the appy-auth cluster and it'll be part of the stack like all the others and move the auth part of the app into there.