Jump to: navigation, search

Solum/FeatureBlueprints/DeployApp

< Solum
Revision as of 19:34, 7 October 2013 by Roshan Agrawal (talk | contribs) (Functionality)

Blueprint

Solum-R1.1 Deploy application

Functionality

As an application developer, I can invoke a REST API call to push code to the Solum platform, and receive back the URL (for web apps) of my running application.

I would be able to specify application characteristics, auto scale policies, etc, as inputs while deploying my application.

Implementation

We propose that the Solum API implement a "deployApp" resource. A POST call will be made to it for deploying an application. The body of the POST call will be zipped up directory of the application source. The application source directory will contain a manifest file containing above listed information. As part of the POST call handling the Solum API server will perform the following actions: (1) It will detect the application's type (2) It will compile the application package using the appropriate LanguagePack. (3) If services are specified, it will provision them for the application (4) It will run any service specific tasks. For example, for a database service we might have to create the application's data schema on the provisioned service. (5) It will provision appropriate compute resource. For example, for a Java application it will provision a container that has tomcat installed on it. (6) It will create the specified environment on the compute resource (7) It will deploy the application package to the compute resource. If the deployment is successful it will send back the application url to the user.