Stratos - A PaaS Framework

Abstract

Stratos will be a polyglot PaaS framework, providing developers a cloud-based environment for developing, testing, and running scalable applications, and IT providers high utilization rates, automated resource management, and platform-wide insight including monitoring and billing.

Proposal

The Stratos PaaS framework will encompass four layers:

  1. An IaaS-agnostic layer that can interface with a wide variety of IaaS systems to provide elastic resources, and for multiple IaaS infrastructures to be automated at one time (hybrid clouds.) 2. A PaaS Controller with a cloud controller that automates and monitors IaaS runtime interactions, distributes artifacts to the underlying runtimes, deploys workloads, directs runtime traffic to the right runtimes using a tenant-aware elastic load balancer, and provides a portal for monitoring and provisioning of tenants on the system. 3. Foundational Services including security, logging, messaging, registry, storage (relational, file, and noSQL), task management, and billing. Foundational services will be loosely-coupled to allow swapping in alternate foundational services. 4. A Cartridge Architecture allowing frameworks, servers, and other runtimes to participate in the advantages of the system. The Cartridge Architecture must support multi-tenant workloads, and provide for various levels of tenant isolation and policy-based control over provisioning.

Together these layers offer a foundational layer upon which applications and middleware frameworks can be deployed to speed time-to-market and simplify the development of scalable applications, as well as provide a high level of resource sharing and centralized management that can deliver lowest resource, infrastructure, and management costs.

Background

The Stratos Project has been under development[a] at http://wso2.org under the Apache 2.0 license and the Apache Way governance model since 2010. It initially was focussed on providing PaaS benefits to the users of WSO2 Carbon middleware platform. In version 2.0, to be released in summer 2013, extensive work has been done to clearly separate out the PaaS framework from the products (cartridges) that run on top of it. Stratos now has the ability to run arbitrary workloads, including Java, PHP, MySQL, Jetty, Tomcat, and many more.

Rationale

PaaS is in demand by enterprises and organizations of all sizes. The drive towards instance provisioning, high resource utilization and thus low cost, combined with a wide platform of general-purpose services to build on, PaaS has the opportunity to accelerate the development cycle and innovation index of a new class of applications, services, and business models.

PaaS offerings are widely diversified but largely associated with powerful corporate interests. With the commencement of the Stratos project at Apache, vendors and users will have a neutral community free from corporate governance restrictions, with which to collaborate and accelerate the development of a platform that provides wide benefits across the industry. As a flexible framework, we expect a wide variety of platforms to leverage the technology to fill specific niches and needs.

Current Status

Stratos has been in development since 2010 at WSO2, under the Apache License and under the Apache Way. Contribution to Apache, from which many of the core components are sourced, should be very straightforward.

Meritocracy

The contributors have a longstanding commitment and practice of meritocracy in their personal and professional capacities. Many of the committers on the existing project are already Apache Committers.

Community

The committers recognize the need to support more significant contributions from a broad swath of the industry and community. Apache is the obvious choice for a project that already embodies Apache values and is driven by developers who are committers on many other Apache projects.

Stratos has appeal, and should attract community members, from among a number of constituencies:

  • Private PaaS deployment within an enterprise to benefit enterprise application deployment.
  • PaaS providers wishing to leverage a PaaS toolkit to build a PaaS customized to their particular vertical industry, ecosystem, or internal development processes.
  • SaaS providers wishing to build upon a widely-deployed and supported elastic, multi-tenant platform.
  • ISPs wishing to offer hosted application services with higher resource utilization capabilities than provided by IaaS layers.
  • IaaS vendors wishing to provide higher-level PaaS services to customers.
  • Vendors wishing to support Stratos on or under their projects and products. Vendors of higher level runtimes will contribute Cartridges enabling those runtimes to participate in the Stratos-sphere. Vendors of underlying IaaS infrastructure will contribute adapters to ensure their IaaS is fully operational for Stratos.

Core Developers

All core developers are currently employed by WSO2. This is a very important project for our company and is a core part of our business. Whilst we have sought to engage a broader community through the meritocratic model this has, until now, manifested itself through our teams contributions to other projects used within Stratos, including Apache Axis2, Apache Synapse, Apache Axiom & Apache Web Services. With this move to the ASF we are signalling that the door is wide open for external contributors.

Known Risks

Stratos has largely been developed by sponsored developers employed at a single organization - WSO2. Seeking a broader community of contributors is a top goal of contributing Stratos to Apache.

WSO2 plans to continue to offer services and commercial support packages for Stratos, so there is a financial incentive to broaden Stratos’ appeal. This may provide the misinterpretation that Stratos remains merely a WSO2 technology. However, WSO2’s main business strategy is to build and support higher level PaaS offerings (including the WSO2 middleware stack) on top of a common PaaS framework, as provided by Stratos. This includes a WSO2 StratosLive option which is a public PaaS based on WSO2 Stratos.

Compatibility with a wide variety of IaaS and other ecosystem partners, and setting, conforming to or advancing a set of open standards, will be necessary to ensure Stratos gains traction as a uniting force in the industry.

PaaS is on the uphill swing of the hype curve at present. For the project to succeed it needs to focus on concrete long-term value to those using or deploying the PaaS.

The project was previously named and trademarked as “WSO2 Stratos”, but the contributors do not believe that this name has built a strong industry brand, and the transition to the name “Apache Stratos” should not induce significant confusion. WSO2 has no intention of continuing to use this mark. WSO2 will rename WSO2 StratosLive to WSO2 <something else that does not include the name Stratos> before this project becomes a fully fledged TLP. We will also work with VP Brand Management to ensure the Stratos mark is secure within the ASF.

Binaries

Latest binaries are available at http://dist.wso2.org/downloads/stratos/2.0.0/

Code

The code is currently available in the following SVN repository locations

Documentation

External Dependencies

All components and dependent components are licensed under the Apache or compatible license, and many of the components reside at the ASF.

Cryptography

The software does not implement any cryptographic algorithms. However, to perform secured messaging and data movement and SSL communications, the software depends upon third party security libraries. These external libraries depend in turn on Java Security and Bounce Castle libraries. Apache Cryptographic steps will be followed to register the use of these libraries.

Required Resources

Mailing Lists

  1. dev@stratos.incubator.apache.org - for developer/user discussions, JIRA change notifications & continuous build/test notifications 2. commits@stratos.incubator.apache.org - for commit mails 3. private@stratos.incubator.apache.org (with moderated subscriptions)

Other Resources

  1. A Git repository 2. A JIRA issue tracker: short code "Stratos"

Initial Committers

Name

Email

Affiliation

iCLA

Paul Fremantle

pzf@apache.org

Individual, wso2.com

yes

Jonathan Marsh

jonathan@wso2.com

Individual, wso2.com

 

Peter Linnell

plinnell@apache.org

Individual, suse.com

 

Afkham Azeez

azeez@apache.org

Individual, wso2.com

yes

Lakmal Warusawithana

lakmal@wso2.com

Individual, wso2.com

 

Damitha Kumarage

damitha@apache.org

Individual, wso2.com

yes

Samisa Abeysinghe

samisa@apache.org

Individual, wso2.com

yes

Nirmal Fernando

nirmal070125@apache.org

Individual, wso2.com

yes

Sajith Kariyawasam

sajith@wso2.com

Individual, wso2.com

 

Lahiru Sandaruwan

lahirus@wso2.com

Individual, wso2.com

 

Isuru Haththotuwa

isuruh@wso2.com

Individual, wso2.com

 

Madhura Mendis

madhura@wso2.com

Individual, wso2.com

 

Mariangela Hills

mariangela@wso2.com

Individual, wso2.com

 

Marlon Pierce

mpierce@apache.org

Individual, Indiana University

yes

Suresh Marru

smarru@apache.org

Individual, Indiana University

yes

Amila Jayasekara

amilaj@apache.org

Individual, Indiana University

yes

David Nalley

david@gnsa.us

Citrix

yes

Chip Childers

chipchilders@apache.org

SunGard Availability Services

yes

Joe Brockmeier

jzb@apache.org

Individual, Citrix

yes

Noah Slater

nslater@apache.org

Individual, Engine Yard

yes

John Kinsella

jlk@apache.org

Individual, Stratosec

yes

Lahiru Gunathilake

lahiru@apache.org

Individual, Indiana University

yes

Nandana Mihindukulasooriya

nandana@apache.org

Individual, Center for Open Middleware

yes

Isuru Perera

isurup@wso2.com

Individual, wso2.com

 

Reka Thirunavakurussu

reka@wso2.com

Individual, wso2.com

 

Andrew Hart

ahart@apache.org

Individual, NASA Jet Propulsion Laboratory

yes

Selvaratnam Uthaiyashankar

shankar@apache.org

Individual, wso2.com

yes

Deepal Jayasinghe

deepal@apache.org

Individual, Georgia Tech

yes

Debo Dutta

dedutta@cisco.com

Individual, Cisco

 

Sponsors

Champion

Ross Gardler, Apache

Nominated Mentors

  1. Afkham Azeez azeez@apache.org (Member) 2. Suresh Marru smarru@apache.org (Member) 3. Marlon Pierce mpierce@apache.org (Member) 4. Chip Childers chipchilders@apache.org (Member) 5. Mohammad Nour mnour@apache.org (Member) 6. Noah Slater nslater@apache.org (Member) 7. Ant Elder antelder@apache.org (Member)

Sponsoring Entity

The Apache Incubator

  • No labels