ADCM Objects

Before using ADCM we recommend you to take a glance at ADCM’s object model. At first let us show you what are the internal objects and their roles.

../_images/concept.png

Рис. 3. Platform concept

Bundle

Bundle is a delivery unit in ADCM. New extensions and parts are coming over in bundles. In short, it is just a tarball with the information for ADCM, explaining how to do everything.

There are two kinds of bundle: Cluster Bundle and Infrastructure Bundle.

Cluster Bundle allows you to install Cluster (take a look at a definition bellow), while Infrastructure Bundle allows you to add support of different host providers (like Google Cloud, Yandex Cloud or regular ssh host).

Host

It is a representation of real hardware host or virtual host. It doesn’t matter whether it comes in (a cloud or bare-metal) but it should be accessible over ssh. Every host could be added to created cluster only.

Provider

Provider is a complicated idea. Provider is something that produces a host. For example you have a Google Cloud account. In that case you create a GCE Provider, place credentials to it, and it allows you to create a host in GCE. Or create a lot of hosts and all of them will have the same Provider and consequently have the same credentials.

Service

Service is a software that does some function. For example Hadoop is a service, and Hive is a service, as well as Postgres and so on.

Component

Component is a part of the service. For example Hadoop service has DataNode component and ServiceNode component. It is a way of service decomposition which is native for complicated cluster software.

Cluster

In short, cluster is a set of services running on the set of hosts. With ADCM you are able to create a lot of clusters with different configuration and distribution of services over clusters.

But one cluster allows restricted set of service kinds only. So if you create a cluster Hadoop from bundle Hadoop, there is no way to install services from cluster ADB from bundle ADB.