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

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.

Elastic Load Balancer (ELB)

  • Load monitoring
  • Makes auto-scaling decisions.
  • Accepts dynamic cluster domain registrations.
  • Accepts static cluster domain registrations at start-up by reading the loadbalancer.conf

For more information, see Elastic Load Balancer.

Stratos Controller (SC)

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 (CC)

Cloud Controller plays a vital role in Apache Stratos. The following are the capabilities and duties of the Cloud Controller:

  • It acts as a bridge between application level and Infrastructure as a Service (IaaS) level via jclouds API.
  • It enables your system to scale across multiple IaaS providers.
  • It is the central location where the service topology resides.
  • It is responsible for periodically sharing up-to-date service topology among other Apache Stratos core services.
  • It supports hot updates and deployment of its configuration files.
  • It has in-built support for:
    • AWS EC2 IaaS provider
    • Openstack Nova IaaS provider
    • VMWare vCloud provider
  • It enables you to cloud burst your system across multiple IaaS providers.
  • It allows you to easily plug an implementation of any IaaS provider support by jclouds.
  • It enables you to spawn new service instances; while, associating a public IP automatically, to reduce the instance boot-up time.
  • It enables you to terminate an already started instance of a particular service cluster.
  • It can be configured to cover many scenarios, using it's well-thought-out configuration files.

For more information, see Cloud Controller.

CLI

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:

  • View list of available cartridges.
  • View list of subscribed cartridges.
  • Subscribing to a cartridge.
  • Unsubscribing from a cartridge.
  • Connecting to a data cartridge when subscribing to a cartridge.
  • View subscribed cartridge detailed information.
  • View list of auto-scaling policies available.
  • Add domain mapping.
  • Remove domain mapping.
  • Synchronize repository.

The CLI tool also supports command history and auto-completing features in the interactive mode.

Cartridges

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.

  • No labels