The architecture of Apache Stratos is well designed to face the current challenges faced by the Cloud PaaS space. A cartridge is the core functional component of Apache Stratos that is pluggable. In summary Apache Stratos cartridge is a Cloud-aware platform environment, which extends legacy technologies into the Cloud and delivers Cloud benefits.
Cartridges may wrap traditional, non-cloud-aware application platform containers extending the traditional technology to the Cloud and provide elastic scalability, resource pooling, on-demand self-service and consumption pricing (e.g., Apache Stratos ships with cartridges for PHP and MySQL).
Stratos operations teams may create custom cartridge types and host any application, container, or framework in an Apache Stratos cloud (e.g., a team may create a custom cartridge type to bring cloud characteristics to the IBM Websphere Application Server, IBM WebSphere ESB, Oracle WebLogic or JBoss SOA platform).
Apache Stratos foundation layer, as the name suggests builds a strong foundation layer for a Cloud PaaS. It consists of some core components mandatory for any Apache Stratos cloud deployment.
loadbalancer.conf
For more information, see Elastic Load Balancer.
Stratos Controller (SC) is mainly a combination of Artifact Distribution Coordinator (ADC) and Stratos Manager. While, it also defines the autoscaling policies that are defined for the cartridges. Stratos Manager mainly includes graphical user interfaces (GUI).
Cloud Controller plays a vital role in Apache Stratos. The following are the capabilities and duties of the Cloud Controller:
For more information, see Cloud Controller.
The command line interface (CLI) is a powerful tool that clients can use to communicate with Apache Stratos services. The tenant can use the CLI tool on two separate modes if needed: Single command line mode and Interactive mode. If the user executes a command with another command as an argument, the CLI tool will execute that command and exit with a status code. However, if there is no command as an argument, the CLI tool will enter into an interactive mode. However, in both modes the tenant has to log in to be able to execute the command successfully. The user can export Stratos Controller's URL, username and password too as environment variables. Thereby, the user will not have to type the password every time they access the UI.
A user will be able to carryout all the following functions via the CLI, with the exception of registering tenants and viewing logs:
The CLI tool also supports command history and auto-completing features in the interactive mode.
A cartridge is a package of code or configuration that plugs into Apache Stratos to offer a new PaaS Service (e.g., PHP cartridge plugs into provide PHP-as-a-Service). A cartridge is also a Virtual Machine (VM) image plus configuration. For example, in Apache Stratos you need a VM per IaaS. Apache Stratos can operate in two modes: Single tenant and Multi-tenant.
For more information, see Cartridges.