The following diagram illustrates WSO2 Private PaaS layered architecture at a high level:
WSO2 Private PaaS architecture has been improved, by introducing a few more additional components into the Apache Stratos 4.0.0 framework. The following is an overview of the components that make up the WSO2 Private PaaS architecture:
WSO2 Private PaaS is currently tested on the following IaaS: Amazon EC2, OpenStack and vCloud. However, WSO2 Private PaaS can be used with any IaaS that supports jclouds.
Stratos PaaS Framework
- Stratos Manager (SM)
Stratos Manager includes a comprehensive RESTful API for integration with external PaaS management interfaces for all DevOps and user interaction.
Cloud Controller (CC)
Cloud Controller sends instructions via jClouds to the IaaS to create or destroy instances. It also listens to messages from instances and updates the routing topology periodically. Topology updates fire messages on a topic that the LBs listens to.
Auto-scaler is responsible for the elasticity of all components of the system. It contains an embedded rule engine to take fast and accurate decisions.
DevOps and users interact with the Command Line Interface (CLI) and the web UI, which uses Stratos Manager RESTful API.
- Complex Event Processor (CEP)
Complex Event Processor does temporal (i.e., time-based) queries to analyze all the event streams that are being sent to it and sends summarized information to Auto-scaler. The event processing engine is an event aggregator/accumulator, which takes lots of events and produces messages that Auto-scaler uses to make elasticity decisions in a more granular manner.
Message Broker (MB)
Message Broker handles the communication among all the components in a loosely coupled manner.
Apache Stratos Load Balancer (LB)
Traffic comes in through any Load Balancer (LB) (e.g., HAProxy for non-HTTP traffic and Apache Stratos LB for HTTP traffic). The LB routes based on its configuration, which is periodically updated by Cloud Controller (CC) via the Topology update messages. LB also fires status events directly into the real-time event processor.
- Other Load Balancers
A cartridge is a pluggable components that can scale with respect to on demanding load. Load Balancers are also considered as cartridges.
The identity service will carry out the identity management functionalities in WSO2 Private PaaS (e.g., user management and role management).
The registry service will be used to store information related to tenants, artifacts, Topology and more.
- Logging service
The logging service will carry out all the logging activities for the subscribed cartridges. For more information, see Logging.
The metering service will measure the number of instances created from a particular cartridge and the up times of those instances.
In WSO2 Private PaaS Carbon cartridges are available for the following WSO2 products:
- WSO2 Enterprise Service Bus (ESB) 4.8.1
- WSO2 Identity Server (IS) 5.0.0
- WSO2 Business Process Server (BPS) 3.2.0
- WSO2 Application Server (AS) 5.2.1
- WSO2 API Manager (AM) 1.7.0
For more information on the architecture of WSO2 Private PaaS, go to the following sections: