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:
- 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
Wiki Markup |
---|
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
- https://svn.wso2.org/repos/wso2/carbon/platform/branches/4.1.0/build/stratos2
- https://svn.wso2.org/repos/wso2/carbon/platform/branches/4.1.0/components/stratos
- https://svn.wso2.org/repos/wso2/carbon/platform/branches/4.1.0/components/load-balancer
- https://svn.wso2.org/repos/wso2/carbon/platform/branches/4.1.0/products/stratos2/
- https://svn.wso2.org/repos/wso2/carbon/platform/branches/4.1.0/products/elb/
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
- 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
- A Git repository 2. A JIRA issue tracker: short code "Stratos"
Initial Committers
Name | 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
- 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