Jump to: navigation, search

Difference between revisions of "Diesel"

(Initial Diesel project page)
 
(Diesel)
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
  
= Application Service =
+
= Mission =
  
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.
+
The mission of Diesel 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 =
 
= 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.  
+
In the spirit of Google App Engine, Heroku, Engine Yard and others, Diesel runs web applications in the cloud. It can be used by cloud administrators 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. Diesel will control the availability and scalability of the web application deployment.
  
 
Why Diesel? It is an engine that uses heat to run. With the added bonus that Vin Diesel can be the spokesperson.
 
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 ==
 
== 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.
+
For each Diesel 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.
 
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.
 +
An application type example may be Ruby on Rails applications with dedicated instances.
  
 
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.
 
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.
+
When a user uploads a new version of the artifact as a Glance 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.
 
Using Ceilometer data and heat templates, application instances will be spun up or spun down based on demand and availability constraints.
  
 
== Architecture ==
 
== Architecture ==
 +
Diesel is comprised of a python application that provides an OpenStack-native ReST API that exposes the Diesel data model,
  
== Relation to other projects ==
+
It will also include heat templates
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
+
== Relations to other projects ==
Solum - Solum is focused on the development lifecycle for the application. Diesel may be an environment that they deploy to.
+
* Heat - Diesel uses heat to orchestrate creating new instances, scaling instances and shutting down instances
Neutron - Load Balancer Service will be used. As application instances are started and stopped they will be added and removed from load balancer
+
* Trove - Diesel deployed applications may use trove to host their databases
 +
* Savanna - Savanna is to map reduce applications as Diesel is to web applications
 +
* Solum - Solum is focused on the development lifecycle for the application. The application may be one that Diesel can run.
 +
* Neutron - Load Balancer Service will be used. As application instances are started and stopped they will be added and removed from load balancer
 +
 
 +
== Development ==
 +
An initial implementation with api exposing data model will be uploaded to stackforge ASAP

Latest revision as of 03:13, 18 January 2014


Mission

The mission of Diesel 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 runs web applications in the cloud. It can be used by cloud administrators 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. Diesel will control the availability and scalability of the web application deployment.

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 Diesel 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. An application type example may be Ruby on Rails applications with dedicated instances.

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 Glance 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

Diesel is comprised of a python application that provides an OpenStack-native ReST API that exposes the Diesel data model,

It will also include heat templates

Relations 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
  • Savanna - Savanna is to map reduce applications as Diesel is to web applications
  • Solum - Solum is focused on the development lifecycle for the application. The application may be one that Diesel can run.
  • Neutron - Load Balancer Service will be used. As application instances are started and stopped they will be added and removed from load balancer

Development

An initial implementation with api exposing data model will be uploaded to stackforge ASAP