Skip to content

Structure and Terminology

The following picture shows the core elements of the dune framework and how they are related to each other.

Dune Structure

Dune core elements

Tenant

Normally one tenant is created per company using Dune. When logging in to dune, a user needs to specify the Tenant name. Tenants are isolated against each other (data is stored in separate databases).

Collection

A collection is a container to group multiple deployments. Let's say you have multiple deployments of an application and its infrastructure (e.g. Dev, Test, Prod) you would put these three deployments into the same collection.

Deployment

A deployment describes rolled out infrastructure. Normally you would have one deployment for one application and its infrastructure. The deployment has many functions which are usefull for operators and business owners. A deployment has one or more owwers which have elevated rights and are getting informed on changes. Some examples what an owner can do with its deployments:

  • Check resource states
  • Start / Stop its resources
  • Configure a patching schedule
  • Manage users (owners and operators)
  • Check expiration

Infrastructure as code

Deployments get created in two ways. When a users roll out a new application infrastructure through a Dune DeploymentTemplate (yaml template) or through a regular infrastructure scan which detects resources not deployed through Dune

Resource Group

Resource Groups are used to group resources with different concerns. A deployment can have multiple Resource Groups to group its resources. You would for example put all application VMs in one resource group and all database VMs in another Resource Group. This then enables you to assign a different patch schedule for the database VMs or to just restart the Application VMs etc.

Resource

A resource describes a single resource in a cloud or a data center. There are several types of resources supported and we are continously adding more resources as needed.

Example of supported resources:

  • VirtualMachine
  • Disks
  • Subnet / Ip Addresses
  • GenericResource (such as ServiceAccount, RbacResourceGroup, storageaccount...)

Many operational taks can be performed on resources. Some examples for the VirtualMachine resource

  • Start / Stop / Restart
  • Enable / Disable Monitoring
  • Check Installed / Pending updates
  • Overview of Services / Installed Packages / Facts (like last reboot etc.)