Application Packaging Standard

Last updated 18-Mar-2019

Resource Model

In the platform, a service that can be provided to a customer is represented as a resource or a combination of resources.

Services and Resources

In the platform, a service that can be provided to a customer is represented by one or more resources. Resources present applications, measurable technical objects and flows, such as disk space, mailboxes, databases, network traffic, and other provided by external systems to customers.

By resources and services in different contexts we understand the following:

  • From the provider’s point of view, the resources are all the hardware and software equipment including servers, networks, OSs and other distribution packages that are necessary to provide customers with hosting (cloud) services. They can be local, that is available in the provider’s premises, or external, typically provided by independent software vendors.
  • From the customer’s and reseller’s point of view, the service is a set of integrated resources available through service plans and purposed to cover the customer’s needs.

Resource Class

Every resource in the platform is based on a resource class - a fundamental entity that has one purpose: to provide to the platform the information on how to interact with the service it represents.

Note

Being a part of the platform core, resource classes cannot be added, removed, or changed in any way.

Resource Type

When you need to add a service that you wish to provide to your clients, you create a resource type (or several resource types) which will represent this service in the platform resource model. A resource type carries the information about resource configuration and the infrastructure that should be used for the provisioning of that resource.

../../../_images/resource-type.png

Every resource type is an instance of a resource class, with one-to-many relation, meaning a resource type is always based on one resource class, but there can be many resource types based on the same resource class.

../../../_images/resource-class-type.png

Service Template

A service template typically is a combination of resource types with limits on resource usage. Depending on its configuration, the platform comes with a number of pre-defined service templates which include all necessary resource types. One resource type can be included in any number of service templates.

For example, the built-in Shared Web-Hosting service template includes resource types for traffic, diskspace, and hosting and forms a complete service that can be provided to the service subscribers (customers).

../../../_images/service-template1.png

Finally, a customer subscribes to a service template and gets all the resources included in that template. During this process, the platform creates a subscription that mainly is a copy of the service template.