Welcome to the Apache Stratos 4.1.0 manual! 


Project Retired

This project has been retired to the Attic. See https://attic.apache.org .

Apache Stratos is a highly-extensible Platform-as-a-Service (PaaS) framework that helps run composite applications, and can be extended to support many more environments on all major cloud infrastructures. Stratos also leverages the use of Docker in a PaaS by incorporating Kubernetes and CoreOS.


About Stratos

The topics in this section introduce Apache Stratos, its features and its architecture.

How it Works

This section describes the relationship between each of the artifacts, and also the end-to-end flow involved in deploying and undeploying an application.

Deployment Guide

Provides instructions for Stratos installation and deployment on Kubernetes, EC2, OpenStack, GCE and the Stratos Mock test framework.

Stratos Samples

This section has a host of samples that allows you to tryout and test Stratos.

Administration Guide

This section describes all aspects of administering Stratos, including performance tuning, security, and more.

User Guide

This section explains how you can interact with Stratos to create, update and delete artifacts via the REST API, CLI, and the UI, and more.

Advanced User Guide

This section explains the advanced scenarios that are applicable to Stratos such as, extending Stratos, applying multiple network interfaces, and more.

Stratos API

This section covers the Stratos and Metadata REST API references, together with information on the REST API changes, API versioning and HTTP status codes that are returned in the API responses.

Troubleshooting Guide

This section provides detailed guidance, helpful hints, and solutions for troubleshooting.

Developer Guide

This section covers all the development level information that a Stratos developer needs to know.


Let's take a look at some of the key concepts and terminology in Apache Stratos:


A partition depicts the division in an IaaS and defines an area of an IaaS cloud used by a service subscription.  A network partition is an area of an IaaS that is bound by one network of an IaaS. Therefore, it is possible to include one or more partitions inside a network partition. Network partitions use private IPs for internal communication.

A deployment policy defines how (such as, which partition algorithm to use) and where to spawn cartridge instances, and it also defines the maximum instances that are allowed in a service cluster. DevOps define deployment policies based on deployment patterns. You need to add the network partitions, which you plan on referring to in a deployment policy, prior to adding a deployment policy. For more information on all the properties that you can define in a deployment policy definition JSON, see the Deployment Policy Resource Definition.
An auto-scaling policy defines the threshold values pertaining to scaling up and scaling down decisions. Auto-scaler will refer to the auto-scaling policy that is defined by DevOps. For more information on all the properties that you can define in an auto-scaling policy definition JSON, see the Auto-scaling Policy Resource Definition.
A Kubernetes Cluster is a collection of Docker hosts, and a set of management features for running Docker containers in a clustered environment. A Kubernetes Cluster contains node agents (minions) and master components. Kubernetes creates a cluster of Docker hosts to provide high availability for the Docker containers. An API is provided to manage the containers. For more information on all the properties that you can define in a Kubernetes cluster definition JSON, see the Kubernetes Cluster Resource Definition.
A cartridge is a container for a framework, load balancer or data management system. You can add a cartridge in a platform as a service (PaaS) for scalability. In Stratos, cartridge runtimes create service runtimes. For example, if you want to have a PHP runtime, you can use a PHP cartridge to get the runtime to deploy your PHP application. A cartridge can be fully configured with all the software and configurations, or  zero configured where the cartridge user can install  and configure what they want. For more information on all the properties that you can define in a cartridge definition JSON, see the Cartridge Resource Definition.
A cartridge group defines the relationship among a set of cartridge groups and a set of cartridges. The relationship among the children of a group can be the startup order, termination behavior and any scalable dependencies. Writing a cartridge group definition provides the ability to re-use the same frequently used cartridges as needed in different composite applications. The cartridges that correspond to a cartridge group have to be added to Stratos before the cartridge group is added. For more information on all the properties that you can define in a cartridge group definition JSON, see the Cartridge Group Resource Definition.
An application policy defines the application availability in network partitions. Thereby, it would define whether to start the application in all the network partitions or whether to carryout cloud bursting. For more information on all the properties that you can define in an application policy definition JSON, see the Application Policy Resource Definitions.
The application provides the actual data required to create the clusters, start the instances and specifies how to connect them in the run-time. For more information on all the properties that you can define in an application definition JSON, see the Application Resource Definition.



  • No labels