Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

FeatureDescription
WSO2 Products as a Service
This supports cartridge creation for WSO2 Carbon products on a Virtual Machine (VM) or Docker. Cartridges are available for the following WSO2 products in WSO2 Private PaaS:In WSO2 Private PaaS Puppet scripts have been developed to support cartridges based on the above product versions. However, new or customized Puppet scripts can be written for different product versions. Note that the current Puppet scripts for the above products are only applicable for Carbon 4.2.0 based products. It also provides the ability to plugin third party run-times such as PHP, MySQL, and Tomcat and provision to add multi-tenant or single tenant cartridges.
Composite Application Model

This allows applications, which  requires different service runtimes with their relationship and dependencies, to be deployed. Furthermore, each of the service runtimes in the application can scale independently or jointly with the dependent services. The following operations are supported in composite application support:

    • Starting up instances using the StartupOrder, which is defined in the cartridge group definition.

    • Starting up instances using the StartupOrder, which is defined in the application definition.  After the relevant clusters and groups get activated according to the startup order, the application itself gets activated. 

    • Termination based on the TerminationBehaviour, which is defined in the cartridge group definition.
    • Termination based on the TerminationBehaviour, which is defined in the application definition.
    • Sharing information between instances when one instance is dependent on another.
Docker Support
Docker support using Google Kubernetes and CoreOS. Thereby, WSO2 Private PaaS can also leverage the use of Docker in a PaaS. The following aspects are supported for Docker:
  • Auto-scaling Docker Containers.

  • Manual scaling Docker Containers.

  • Git based artifact deployment for Docker.
  • CLI support for Docker deployments.
  • VM LB support for dockers
  • Private Docker registry

Cartridge Agent
A Python based and Java based cartridge agent is available in WSO2 Private PaaS.
Automated Artifact Distribution
 
Multi-Factored Auto-scaling
The Auto-scaler  uses a Complex Event Processor (CEP) for real-time decision making, and it integrates both real-time and rule-base decision making to provide better control over scaling of platforms. WSO2 Private PaaS allows users to define auto-scaling policies with multiple factors,i.e., requests in flight, memory consumption and load average, which are considered when scaling up or down. The Auto-scaler also supports scaling for non-HTTP transport.
Smart Policies for Auto-scaling & Deployment
The Auto-scaler in WSO2 Private PaaS uses two smart policies when making auto-scaling decisions: auto-scaling policy and deployment policy. The instances will be automatically spawned based on the smart policies that are applied to the application.
Multiple IaaS support

WSO2 Private PaaS supports AWS EC2, OpenStack, Google Compute Engine (GCE) & Kubernetes. WSO2 is currently working on extending its support to Microsoft Azure with Apache jclouds.

Multi-cloud bursting 
WSO2 Private PaaS supports multiple IaaSs. When the maximum limit of instances have been reached in an IaaS, instances are spawned on another IaaS, which is in another network partition. Thereby, this will enable resource peak times to be off-loaded to another cloud. 
Controlling IaaS resources
It is possible for DevOps to define partitions in a network partition, to control IaaS resources. Thereby, WSO2 Private PaaS can control resources per cloud, region, and zone. Controlling of IaaS resources provide a high availability and solves disaster recovery concerns.
Loosely coupled communication

Private PaaS uses the Advanced Message Queuing Protocol (AMQP) messaging technology for communication among all its components . WSO2 Private PaaS uses an AMQP Message Broker (MB), namely ActiveMQ, to communicate in a loosely coupled fashion. However, it is possible to use any MB, which supports AMQP, with Private PaaS. 

Multi-tenancy
WSO2 Private PaaS supports in-container multi-tenancy. Thereby, this helps to optimize the resource utilization.
Cartridges
In Private PaaS, service runtimes are created by cartridge runtimes. Currently, Private PaaS provides the following cartridges: Node.js, Wordpress, PHP, MySQL, WSO2 Application Server, Java, jBoss, Ruby and Tomcat. However, users can easily use Private PaaS to create any cartridge, which is either a framework, data, application or load balancer cartridge, i.e., MongoDB, Ruby on Rails, .NET, Spring, Joomla, Struts, PostgreSQL, etc.
Pluggable architecture support for cartridges
A cartridge is a package of code that includes a Virtual Machine (VM) image plus additional configuration, which can be plugged into WSO2 Private PaaS to offer a new PaaS service. Private PaaS supports single tenant and multi-tenant cartridges. If needed, tenants can easily add their own cartridges to WSO2 Private PaaS.
Cartridge automation using Puppet
Cartridges can be easily configured with the use of an orchestration layer such as Puppet.
Support for third party load balancers 
Private PaaS supports third-party load balancers (LBs), i.e, HAProxyNGINX. Thereby, if required, users can use their own LB with Private PaaS.
Artifact distribution coordination
The Artifact Distribution Coordinator is responsible for the distribution of artifacts. Artifacts can be uploaded using git push. When a trigger event happens the ADC will find the correct matching cluster for that event from the topology and send notifications to appropriate Cartridge instances. ADC supports external Git repositories and GitHub repositories based deployment synchronization. Users are able to use their own Git repository to sync artifacts with a service instance.
WSO2 Private
PaaS Manager Console
PaaS Console
Administrators and tenants can use the Private PaaS Manager consolePaaS Console, which is a web-based UI management console, to interact with WSO2 Private PaaS.
WSO2 Private PaaS REST API
DevOps can use REST APIs to carry out various administering functions (e.g., adding a tenant, adding a cartridge, etc.).
Interactive CLI Tool

Command Line Interface (CLI) tool provides users an interface to interact with WSO2 Private PaaS and manage your applications.

Logging
WSO2 Private PaaS provides centralized logging. Any Thrift receiver can be used for this purpose.
Monitoring and metering
WSO2 Private PaaS provides centralized monitoring and metering. The level of resource utilization in Private PaaS is measured using metering.
Persistent volume support for cartridges
If required, the DevOps can enable a persistent volume for cartridges. If persistent volume is enabled, WSO2 Private PaaS automatically attaches a volume when a new cartridge instance is created.
Gracefully shutdown instances

Before terminating an instance, when scaling down, the Auto-scaler will allow all the existing requests of that instance to gracefully shutdown. It will not accept any new requests for that instance.

MQTT and AMQP support
 
WSO2 Private PaaS Mock laaS
WSO2 Private PaaS mock IaaS simulates the basic features that Private PaaS requires from an IaaS. Thereby, this provides a cost effective way of trying out WSO2 Private PaaS.