Welcome to the Apache Stratos 4.1.0 manual!
WHAT IS STRATOS?
The topics in this section introduce Apache Stratos, its features and its architecture.
|
|
This section describes the relationship between each of the artifacts, and also the end-to-end flow involved in deploying and undeploying an application.
|
|
Provides instructions for Stratos installation and deployment on Kubernetes, EC2, OpenStack, GCE and the Stratos Mock test framework.
|
|
This section has a host of samples that allows you to tryout and test Stratos.
|
This section describes all aspects of administering Stratos, including performance tuning, security, and more.
|
|
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.
|
|
This section explains the advanced scenarios that are applicable to Stratos such as, extending Stratos, applying multiple network interfaces, and more.
|
|
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.
|
This section provides detailed guidance, helpful hints, and solutions for troubleshooting.
|
|
This section covers all the development level information that a Stratos developer needs to know.
|
KEY CONCEPTS
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.