Jump to: navigation, search

Diesel

Revision as of 01:34, 18 January 2014 by Rob-raymond (talk | contribs) (Initial Diesel project page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Application Service

The mission of the Application Service is to allow OpenStack clouds to run applications. The cloud administrator can control the non functional aspects freeing up the application developer to focus on their application and its functionality.

Diesel

In the spirit of Google App Engine, Heroku, Engine Yard and others, Diesel can be used by cloud providers to define the application types that they support. They are also responsible for defining through Diesel how these applications run on top of their cloud infrastructure.

Why Diesel? It is an engine that uses heat to run. With the added bonus that Vin Diesel can be the spokesperson.

How it works

For each application type, there are heat templates associated for handling starting new instances to host applications and deploying application images to these instances. An application type can either be defined to be the sole tenant of an instance or define it to run in an instance along with other applications. Application isolation is achieved by docker or some sandboxing configuration depending on the environment.

Users can define a new application to Diesel by choosing one of the application types. Part of the application is the URL that it will expose. When a user uploads a new version of the artifact as a Cinder image, Diesel will find an existing instance or create a new instance to host the application. The image will be deployed to the image and configuration will be run. This new running application instance will be added to the load balancer.

Using Ceilometer data and heat templates, application instances will be spun up or spun down based on demand and availability constraints.

Architecture

Relation to other projects

Heat - Diesel uses heat to orchestrate creating new instances, scaling instances and shutting down instances Trove - Diesel deployed applications may use trove to host their databases Solum - Solum is focused on the development lifecycle for the application. Diesel may be an environment that they deploy to. Neutron - Load Balancer Service will be used. As application instances are started and stopped they will be added and removed from load balancer