You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by re...@apache.org on 2015/05/14 14:08:59 UTC

stratos git commit: Updating Stratos readme

Repository: stratos
Updated Branches:
  refs/heads/master 390e4ff43 -> 23278fbee


Updating Stratos readme


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/23278fbe
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/23278fbe
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/23278fbe

Branch: refs/heads/master
Commit: 23278fbeeb36946fb7876c9a0b11179045a832c7
Parents: 390e4ff
Author: Vishanth <vi...@gmail.com>
Authored: Thu May 14 17:04:39 2015 +0530
Committer: Vishanth <vi...@gmail.com>
Committed: Thu May 14 17:04:39 2015 +0530

----------------------------------------------------------------------
 README.md | 209 ++++++++++++++++++++++++++++++++++++---------------------
 1 file changed, 133 insertions(+), 76 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/23278fbe/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index 1188e6a..54abf80 100644
--- a/README.md
+++ b/README.md
@@ -1,86 +1,141 @@
 Apache Stratos
 ===========================
-Apache Stratos is a PaaS framework that supports polyglot environments (e.g., PHP, MySQL) and 
-can be extended to support many more. Apache Stratos is also the foundation for multiple flavors of PaaSes, 
-such as Application PaaS (aPaaS), Integration PaaS (iPaaS), or Data PaaS (dPaaS). 
+Apache Stratos includes polyglot language and environment support together with the ability to run on top of multiple IaaS runtimes.
 Stratos is licensed under the Apache License, Version 2.0
+The following are the key features available in Apache Stratos 4.1.0:
 
 Features
 --------
-* Cloud Controller (CC)  
-CC leverages Apache jclouds' APIs and provides a generic interface to communicate with different IaaS. 
+* Composite Application support
+This allows applications, which  requires different service runtimes with their relationship and dependencies,
+to be deployed. Furthermore, each of the service runtimes in the application can scale independently or jointly with
+the dependent services. The following operations are supported in composite application support:
+ * Starting up instances using the StartupOrder, which is defined in the cartridge group definition.
+ * Starting up instances using the StartupOrder, which is defined in the application definition.  After the relevant clusters and groups get activated according to the startup order, the application itself gets activated.
+ * Termination based on the TerminationBehaviour, which is defined in the cartridge group definition.
+ * Termination based on the TerminationBehaviour, which is defined in the application definition.
+ * Sharing information between instances when one instance is dependent on another.
+
+* Docker Support
+Docker support using Google Kubernetes and CoreOS. Thereby, Stratos can also leverage the use of Docker in a PaaS.
+The following aspects are supported for Docker:
+ * Auto-scaling Docker Containers.
+ * Manual scaling Docker Containers.
+ * Git based artifact deployment for Docker.
+ * CLI support for Docker deployments.
+ * VM LB support for dockers
+ * Private Docker registry
+
+* Cartridge Agent
+A Python based and Java based cartridge agent is available in Stratos.
+
+* Update artifacts at run-time
+After an application is deployed, Stratos allows users to update the following artifacts, which directly effects the runtime.
+ * Auto-scaling policy definition
+ * Deployment policy definition
+ * Application definition
+
+* Cloud Controller
+Cloud Controller (CC) leverages Apache jclouds' APIs and provides a generic interface to communicate with different IaaSes.
+
+* Multi-factored auto-scaling
+The Auto-scaler uses a Complex Event Processor (CEP) for real-time decision making, and it integrates both real-time
+and rule-base decision making to provide better control over scaling of platforms. Stratos allows users to define
+auto-scaling policies with multiple factors,i.e., requests in flight, memory consumption and load average, which are
+considered when scaling up or down. The Auto-scaler also supports scaling for non-HTTP transport.
+<br />
+For detailed information on how multi-factored auto-scaling takes place in Stratos,
+see [Autoscaler](https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Autoscaler).
+
+* Smart policies
+The Auto-scaler in Stratos uses two smart policies when making auto-scaling decisions: auto-scaling policy and deployment policy.
+The instances will be automatically spawned based on the smart policies that are applied to the application.
+<br />
+For more information on auto-scaling and deployment policy scaling policies, see [Smart Policies](https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Smart+Policies).
+
+* Multiple IaaS support
+Apache Stratos is tested on the following IaaS providers: AWS EC2 and OpenStack. However, it is very easy to extend
+Apache Stratos to support any IaaS that is supported by [Apache jclouds](https://jclouds.apache.org) i.e., Google cloud, CloudStack etc.
+
+* Multi-cloud bursting
+Apache Stratos supports multiple IaaSs. When the maximum limit of instances have been reached in an IaaS, instances
+are spawned on another IaaS, which is in another network partition. Thereby, this will enable resource peak times to
+be off-loaded to another cloud.
+
+* Controlling IaaS resources
+It is possible for DevOps to define partitions in a network partition, to control IaaS resources. Thereby,
+Apache Stratos can control resources per cloud, region, and zone. Controlling of IaaS resources provide a high
+availability and solves disaster recovery concerns. For more information, see [Cloud Partitioning](https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Cloud+Partitioning).
+
+* Loosely coupled communication
+Stratos uses the Advanced Message Queuing Protocol (AMQP) messaging technology for communication among all its components.
+Apache Stratos uses an AMQP Message Broker (MB), namely ActiveMQ, to communicate in a loosely coupled fashion.
+However, it is possible to use any MB, which supports AMQP, with Stratos.
+
+* Multi-tenancy
+Stratos supports in-container multi-tenancy. Thereby, this helps to optimize the resource utilization.
+
+* Cartridges
+Support for PHP, MySQL, Tomcat, Windows based (.NET) cartridges. The following is the list of tested cartridges:
+PHP, MySQL, Ruby, Node.js, Wordpress, Drupal, Tomcat, HAProxy and NGINX.
+
+* Pluggable architecture support for cartridges
+A cartridge is a package of code that includes a Virtual Machine (VM) image plus additional configuration, which can
+be plugged into Stratos to offer a new PaaS service. Stratos supports single tenant and multi-tenant cartridges.
+If needed, tenants can easily add their own cartridges to Stratos.
+<br />
+For more information on how Stratos uses cartridges, see [Cartridge](https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Cartridge).
+
+* Cartridge automation using Puppet
+Cartridges can be easily configured with the use of an orchestration layer such as Puppet.
+
+* Support for third party load balancers
+Stratos supports third-party load balancers (LBs), i.e, HAProxy, NGINX. Thereby, if required, users can use their own
+LB with Stratos.
+<br />
+For more information, see [Load Balancers](https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Load+Balancers).
+
+* Artifact distribution coordination
+The Artifact Distribution Coordinator is responsible for the distribution of artifacts. Artifacts can be uploaded
+using git push. When a trigger event happens the ADC will find the correct matching cluster for that event from the
+topology and send notifications to appropriate Cartridge instances. ADC supports external Git repositories and GitHub
+repositories based deployment synchronization. Users are able to use their own Git repository to sync artifacts with
+a service instance.
+<br />
+For more information, see [Artifact Distribution Coordinator](https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Artifact+Distribution+Coordinator).
+
+* Stratos Manager Console
+Administrators and tenants can use the Stratos Manager console, which is a web-based UI management console in Stratos,
+to interact with Stratos.
+<br />
+For more information, see [Stratos Manager](https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Stratos+Manager).
+
+* Stratos REST API
+DevOps can use REST APIs to carry out various administering functions (e.g., adding a tenant, adding a cartridge, etc.).
+<br />
+For more information, see the [Stratos API Reference Guide](https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Stratos+API+Reference).
+
+* Interactive CLI Tool
+Command Line Interface (CLI) tool provides users an interface to interact with Stratos and manage your applications.
+<br />
+For more information, see the [CLI Tool](https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+CLI+Tool) and the
+[CLI Guide](https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+CLI+Guide).
+
+* Monitoring and metering
+Apache Stratos provides centralized monitoring and metering. The level of resource utilization in Stratos is measured using metering.
+
+* Persistent volume support for cartridges
+If required, the DevOps can enable a persistent volume for cartridges. If persistent volume is enabled, Apache Stratos
+automatically attaches a volume when a new cartridge instance is created.
+<br />
+For more information, see [Persistence Volume Mapping](https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Persistence+Volume+Mapping).
+
+* Gracefully shutdown instances
+Before terminating an instance, when scaling down, the Auto-scaler will allow all the existing requests to the instance
+to gracefully shutdown, and not accepting any new requests for that instance.
+
+* MQTT and AMQP support
 
-* Multi-factored auto-scaling  	
-The Auto-scaler uses a Complex Event Processor (CEP) for real-time decision making and it integrates both real-time and rule-base decision making in order to provide better control over scaling of platforms. Auto-scaling policies can be defined with the following multiple factors, which are considered when scaling up or down: requests in flight, memory consumption and load average. The Auto-scaler also support scaling for non-HTTP transport.
-
-* Smart policies  
-The Auto-scaler uses the following two smart policies when making auto-scaling decisions: Auto-scaling policy and deployment policy. Instances will be automatically spawned based on the smart policies defined in the cartridge.
-
-* Multiple IaaS support  
-Apache Stratos is tested on the following IaaS providers: AWS EC2, Openstack and vClouds. However, it is very easy to extend Apache Stratos to support any IaaS that is supported by Apache jclouds.
-
-* Multi-cloud bursting  	
-Apache Stratos supports multiple IaaS. When the maximum limit of instances have been reached in an IaaS, instances will be spawned on another IaaS, which is in another partition group. Thereby, this will enable resource peak times to be off-loaded to another cloud.
-
-* Controlling IaaS resources  	
-DevOps can define partitions and network partitions to control IaaS resources. Thereby, Apache Stratos can control resources per cloud, region and zone. Controlling of IaaS resources will provide high availability and will solve disaster recovery concerns.
-
-* Loosely coupled communication  
-AMQP messaging technology is used to communicate with all the components. Apache Stratos uses an AMQP Message Broker (MB) to communicate in a loosely coupled fashion.
-
-* Multi-tenancy  	
-Support for in-container multi-tenancy. Thereby, optimizing resource utilization.
-
-* Cartridges  
-Support for PHP, MySQL, Tomcat, Windows based (.NET) cartridges.
-
-* Pluggable architecture support for cartridges  
-A cartridge is a package of code that includes a Virtual Machine (VM) image plus additional configuration, which can be plugged into Apache Stratos to offer a new PaaS service. Apache Stratos supports single tenant and multi-tenant cartridges. If needed, tenants can seamlessly add their own cartridges to Apache Stratos.
-
-* Cartridge automation using Puppet  
-Cartridges can be easily configured with the use of Puppet.
-
-* Load Balancer (LB) as a cartridge  
-LBs in Apache Stratos accepts dynamic cluster domain registrations. In addition, LBs accepts static cluster domain registrations at start-up. Apache Stratos also supports third party LBs (e.g., HAproxy). Thereby, allowing users to use their own LB if required.
-
-* Artifact Distribution Coordinator (ADC)  
-ADC takes complete applications and breaks it into per-instance components that are then loaded into instances. ADC supports external Git and GitHub repositories based deployment synchronization. Users are able to use their own Git repository to sync artifacts with a service instance. 
-
-* Stratos Manager Console  
-Administrators and tenants can use the Stratos Manager Console, which is a web-based UI management console, to carryout various actions.
-Tenants can carry out the following actions: 
- * View the list of available cartridges. 
- *  Subscribe to cartridges. 
- * Unsubscribe from cartridges. 
- * View list of subscribed cartridges. 
-Administrators can carry out the following actions: 
- * Register tenants
- * Activate and deactivate tenants
- * View the list of available cartridges
- * View list of subscribed cartridges
- * Subscribe to a cartridge
- * Unsubscribe from a cartridge
- * Deploy a partition
- * Deploy an auto-scaling policy
- * Deploy a deployment policy
- * Deploy a Load Balancer
- * Deploy a single tenant or multi-tenant cartridge
- * Deploy a multi-tenant service cluster for a multi-tenant cartridge
-
-* Interactive CLI Tool  
-Tenants use the command line interface (CLI) tool to manage their subscriptions.
-
-* Monitoring and metering  
-Apache Stratos provides centralized monitoring and metering. Metering is used to measure the levels of resource utilization. 
-
-* REST API  
-DevOps can use REST APIs to carry out various administering functions (e.g., deploying a cartridge, registering a tenant and more).
-
-* Persistent volume support for cartridges  	
-If required the DevOps can enable persistent volume for cartridges. If persistent volume has been enabled, Apache Stratos will automatically attach a volume when a new cartridge instance is created.
-
-* Gracefully shutdown instances  
-When scaling down, before terminating an instance the Auto-scaler will allow all the existing requests to the instance to gracefully shutdown; while, not accepting any new requests to that instance.
 
 Resources
 ---------
@@ -90,6 +145,8 @@ Resources
 * Issue Tracker: https://issues.apache.org/jira/browse/stratos 
 * Twitter: http://twitter.com/ApacheStratos
 * Facebook: https://www.facebook.com/apache.stratos
+* YouTube: https://www.youtube.com/channel/UC98lhL72bOiD3Rg2g_j0dMQ
+
 
 License
 -------