Jump to: navigation, search

Difference between revisions of "Solum/FeatureBlueprints/GitIntegration"

(Git Integration)
(Functionality)
Line 24: Line 24:
 
I would be able to use git push for deploying a new application, or to update an existing application.
 
I would be able to use git push for deploying a new application, or to update an existing application.
  
I would be able to specify the the application characteristics (AppName, app instance size, instance count, auto scale policies, etc) via an application manifest file. The application manifest file will be stored at the root location of my code project's directory, and will be automatically picked up by the platform in response to a git push.
+
I would be able to specify the the application characteristics (AppName, app instance size, instance count, auto scale policies, etc) via an application manifest file. The application manifest file will be stored at the root location of my code project's directory, and will be automatically picked up by the platform in response to a git push. <br />
 +
Following are the application characteristics that can be specified in the manifest file (this is an indicative list, not intended to be a comprehensive list)
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 35: Line 36:
 
|-
 
|-
 
| Instance Size|| Size of each app instance (as determined by RAM, CPU, disk space, allocated to each instance). Small, medium, large, extra large, etc. the sizing characteristics of what is small and what is large is configurable by the platform service provider || Optional (default = "small")
 
| Instance Size|| Size of each app instance (as determined by RAM, CPU, disk space, allocated to each instance). Small, medium, large, extra large, etc. the sizing characteristics of what is small and what is large is configurable by the platform service provider || Optional (default = "small")
|-
 
| Artifact|| Packaged application code|| Required
 
 
|-
 
|-
 
| Auto Scale|| Should the application auto-scale (Y/N)|| Optional (default = N)
 
| Auto Scale|| Should the application auto-scale (Y/N)|| Optional (default = N)
Line 52: Line 51:
 
|}
 
|}
  
 
 
 
=== Implementation ===
 
=== Implementation ===

Revision as of 19:39, 7 October 2013

Blueprint

Git Integration

Generic note on Solum's User Interface

Solum exposes its "user interface" via the following mechanisms:

REST API CLI interface GIT a set of SDK's in various languages UI Console IDE Plugins

The CLI, GIT, SDK's and the UI console are ease of use interfaces that are layered on top of the REST API. User can also directly call into the REST API.

End Generic Note

Functionality

As an application developer, I want to push my code to my git repository, and have the platform automatically detect the code push and generate a running application using the new code.

I would be able to use git push for deploying a new application, or to update an existing application.

I would be able to specify the the application characteristics (AppName, app instance size, instance count, auto scale policies, etc) via an application manifest file. The application manifest file will be stored at the root location of my code project's directory, and will be automatically picked up by the platform in response to a git push.
Following are the application characteristics that can be specified in the manifest file (this is an indicative list, not intended to be a comprehensive list)

Attribute name Description Required?
App Name Name of application (Unique at tenant level) Required
Instance Count Initial number of app instances Optional (default = 1 instance)
Instance Size Size of each app instance (as determined by RAM, CPU, disk space, allocated to each instance). Small, medium, large, extra large, etc. the sizing characteristics of what is small and what is large is configurable by the platform service provider Optional (default = "small")
Auto Scale Should the application auto-scale (Y/N) Optional (default = N)
MinInstances Minimum number of app instances (lower threshold for the auto scale policy) Optional (default = 1)
MaxInstances Maximum number of app instances (upper threshold for the auto scale policy) Optional (default = specified Instance count during app creation)
Environment Set application specific environment variables at app start up Optional
LanguagePack User could specify the language pack (say MyPythonPack) to be used during app creation. If no language pack is specified, then the platform would pick the default language pack associated with the code being pushed. Optional
Services List of services that the application will bind to (e.g.Trove, NewRelic). The services list would also optionally contain any service initialization parameters if the service support it. An example of this will be an SQL script passed to a database service to create the custom application scheme. Optional

Implementation