Application Packaging Standard

Last updated 18-Mar-2019

APS Resource Model

The resource model of an APS application defines custom and built-in APS types used to create necessary APS resources as well as relationship between them.

General Rules

For each APS type, the model defines the context (environment) where the resources will be created. The context specifies the owner of the resources. In the platform, it is possible to use the following contexts named after the resource owner:

  • Provider
  • Reseller
  • Customer

For simplicity, in this document we will use the provider and customer contexts. Relationship between resources can change permissions to those resources. For example, if APStype1 in the provider context has a link with APStype2 in the customer context, all subscribers to APStype2 resources will be able to get the related APStype1 resources using permissions of the referrer role.

A resource model always contains at least the following two resources:

  • Application root resource, created for each APS application instance and available in the provider context. It is shared for all customers that use the application service provided by the respective application instance. Usually, the provider, as the resource owner, configures service access parameters (host domain name, login, and password) that allow the system to get access to the cloud application.

  • Subscription service resource linked with the application root resource and a customer subscription in the customer context. Typically, such a singleton resource is called “tenant”, or “management context”, or “subscription service”.

    Note

    Usually, the latter resource is linked with the subscription and with the customer account resources in the platform.

You will get main principles of designing resource model from the following typical cases.

Multi-Tenant Unlimited Service

Application Services

Suppose there is a cloud application providing a single service with unlimited resource usage for each tenant. For example, an organization uses the acquired tenant to get access to all application resources, such as legal documents, or technical standards, or online movies.

The ISV uses APS to integrate the application with the OSS platform as follows.

../../../../_images/structure-single-service.png

APS Resource Model

The resource model of the application must contain two resources.

  • In the provider context:
    • Application root resource named CloudLib/cloud here. It is needed in every APS resource model.
  • In the customer context:
    • Tenant resource named CloudLib/tenant and linked with the application root resource. It provides access to the application for the customer.
../../../../_images/resource-model-single-service.png

Sales Model

A provider can sell the application service using the flat sales model. The service template must contain both of the above explained resources. The service plan does not have any resource rates.

Resource Name Resource Class Limit Auto-provide
CloudLib global configuration Application Service Reference 1 -
CloudLib Tenant Application Service 1 1

Application with Subservices

Application Services

Suppose there is a cloud application providing virtual private servers (VPSes) to customers. There is a predefined set of limits on resource usage that a VPS cannot exceed. A customer can order a number of VPSes. When the customer staff creates a VPS, they configure VPS parameters with values that cannot exceed the predefined limits.

The ISV uses APS to integrate the application with the OSS platform as follows.

../../../../_images/structure-cloud-vps-basic.png

Resource Model

Compared with the mentioned earlier application, this application provides not only access to its management environment, but also allows customers to create resources - VPSes.

  • In the provider context:
    • Application root resource named CloudVPS/cloud here provides access to the cloud application for the system.
  • In the customer context:
    • Management context created from the CloudVPS/context APS type and linked with the application root resource. It provides access to the application for the customer and allows managing VPSes.
    • The subservice allows creating VPSes from the CloudVPS/vps type.
../../../../_images/resource-model-cloudvps-basic.png

Sales Model

A provider can sell the application service using, for example, the add-on sales model. The service template must contain all of the resources included into the resource model.

Resource Name Resource Class Limit Auto-provide
CloudVPS global configuration Application Service Reference 1 -
Management Context Application Service 1 1
VPS Application Service -1 -

The service plan contains a resource rate for implementing the add-on model for selling VPSes. When configuring the resource rate, specify the recurring price per unit per month.

Other Cases

Similarly, you can analyze other applications and then build resource models and sales models. Typical resource models were presented in the following sections: