SlideShare a Scribd company logo
Introduction to the WSO2 Carbon
Platform
Paul Fremantle
CTO & CO Founder, WSO2
Sameera Jayasoma
Architect, WSO2
WSO2
•  Founded in 2005 by acknowledged leaders in XML, Web Services
Technologies & Standards and Open Source. Primary contributors
to Apache Web Services projects started in 2001
•  Producing entire middleware platform 100% open source under
Apache license
•  Business model is to sell comprehensive support & maintenance
for our products
•  Technology OEM’d by IBM, Progress, Software AG, Alcatel, EMC,
and CA
•  Venture funded by Intel Capital and Quest Software.
•  Global corporation with offices in Palo Alto, USA Portsmouth, UK &
Colombo, Sri Lanka
•  250+ employees and growing.
WSO2 Carbon Platform
What is Carbon?
Carbon is a modular server runtime based on Java
and OSGi
Built on top of Carbon are a set of middleware
servers (App Server, ESB, Identity, API
Manager, etc)
Carbon includes a set of re-usable core
components:
• Clustering, User Management, Logging, JMX, ...
When WSO2 had four products:
Web Services App Server
ESB
BPS
Data Services
Each was written by different teams
Not enough re-use
Needed a proper modular framework
What motivated this?
Benefits to WSO2 development
Agile Development
•  Small product teams focus on their own area
•  Re-use core
Cloud-enablement
•  All the products get the same cloud
enablement, multi-tenancy, clustering, etc
•  Same code runs on the cloud as on-prem
Best of Breed
•  Each product gets enhancements to the core
Benefits to customers
Flexible deployment and architecture
•  Fit to your architecture
Robust architecture
•  Proven at high scale
Easy to extend
•  Well defined approach to create Carbon components
(first class extensions)
Consistent deployment
•  The same CAR files work on-prem, cloud images and
on StratosLive
Consistent Management and Operations
•  Adding new servers and function is smooth
OSGi
Originally created in 1999 to create a
component runtime for Java in embedded
devices (e.g. in-car)
In 2003 Eclipse chose OSGi to manage
components
Provides a module system for Java:
•  Better control than packages
•  Versioning
•  Dynamic loading
Features in Carbon
Eclipse p2
•  Manages the packaging of OSGi bundles
into features
•  Supports deploying, undeploying,
checkpoints
•  Advanced features included shared
repositories
p2 in Eclipse
Feature Provisioning
p2 in Carbon
WSO2 Carbon Kernel
•  Carbon kernel is the framework, foundation, the model
behind the Carbon platform.
•  Carbon kernel has introduced a composable server
architecture through which we have composed a number of
products.
o  Product is merely a set of components/features which runs on the
Carbon kernel.
o  You get to mix and match these components and build your own
product that matches with your requirements
o  If you require data service feature in your ESB, connect to our online
feature repository and install the data services feature.
Composable Server Architecture
Consistency of config / operations
•  Any Carbon based product will
have this directory structure.
•  If you are familiar with installing,
configuring and operating
Application Server, same
knowledge applies to other
products.
•  Same theory applies to the web-
based management console as
well.
Carbon Application (C-App)
Introduction to the WSO2 Carbon Platform
WSO2 Developer Studio 3.2
Minification
Image credit (c) Adam Fremantle 1961
Iden%ty	
  Server	
  minified	
  
•  Requirement:	
  run	
  WSO2	
  IS	
  on	
  exis4ng	
  hardware	
  in-­‐store	
  
•  1Gb	
  machine	
  with	
  less	
  than	
  256Mb	
  free	
  
•  Minified	
  deployment	
  	
  
•  Used	
  Carbon/OSGi	
  to	
  remove	
  unnecessary	
  services	
  
•  Ran	
  all	
  scenarios	
  in	
  96Mb	
  heap	
  
•  Met	
  customer	
  requirements	
  with	
  just	
  128Mb	
  heap!	
  
Scenario 96Mb 256Mb
Deployment Std Min Std Min
STS OOM 166 147 185
SAML2 OOM 499 140 609
OAuth OOM 786 OOM 827
XACML OOM 874 305 929
Raspberry	
  Pi	
  Cluster	
  
WSO2	
  Con	
  London	
  2013	
  
•  Eben	
  Upton	
  keynote	
  
•  Decided	
  to	
  run	
  our	
  mobile	
  
app	
  on	
  a	
  Pi	
  Cluster	
  
•  Each	
  Pi	
  has:	
  
•  700Mhz	
  ARM	
  
•  512Mb	
  RAM	
  
•  For	
  WSO2Con	
  we	
  ran	
  an	
  
8-­‐Pi	
  cluster	
  
•  Using	
  minified	
  Carbon	
  
•  256Mb	
  heap	
  size	
  
•  350	
  tps	
  across	
  8	
  Pis	
  
•  ~	
  44	
  tps	
  /	
  Pi	
  
Layered Scaling
Server Profiles
•  Enables a product to run in multiple modes/profiles
•  A profiles of a product describes the runtime behaviour.
•  Each profile contains only the required set of
components
•  E.g. A single API Manager distribution can play
following roles.
API Publisher
API Subscriber
API Gateway
Auth Server
•  One download, multiple servers.
e.g. sh wso2carbon.sh -Dprofile=profile_name
Deployment Synchronization
Clustering
Selected Customers
WSO2 engagement model
QuickStart
Development Support
Development Services
Production Support
Turnkey Solutions
WSO2 Mobile Services Solution
WSO2 FIX Gateway Solution
WSO2 SAP Gateway Solution
Q&A?
Thank You!!!

More Related Content

Introduction to the WSO2 Carbon Platform

  • 1. Introduction to the WSO2 Carbon Platform Paul Fremantle CTO & CO Founder, WSO2 Sameera Jayasoma Architect, WSO2
  • 2. WSO2 •  Founded in 2005 by acknowledged leaders in XML, Web Services Technologies & Standards and Open Source. Primary contributors to Apache Web Services projects started in 2001 •  Producing entire middleware platform 100% open source under Apache license •  Business model is to sell comprehensive support & maintenance for our products •  Technology OEM’d by IBM, Progress, Software AG, Alcatel, EMC, and CA •  Venture funded by Intel Capital and Quest Software. •  Global corporation with offices in Palo Alto, USA Portsmouth, UK & Colombo, Sri Lanka •  250+ employees and growing.
  • 4. What is Carbon? Carbon is a modular server runtime based on Java and OSGi Built on top of Carbon are a set of middleware servers (App Server, ESB, Identity, API Manager, etc) Carbon includes a set of re-usable core components: • Clustering, User Management, Logging, JMX, ...
  • 5. When WSO2 had four products: Web Services App Server ESB BPS Data Services Each was written by different teams Not enough re-use Needed a proper modular framework What motivated this?
  • 6. Benefits to WSO2 development Agile Development •  Small product teams focus on their own area •  Re-use core Cloud-enablement •  All the products get the same cloud enablement, multi-tenancy, clustering, etc •  Same code runs on the cloud as on-prem Best of Breed •  Each product gets enhancements to the core
  • 7. Benefits to customers Flexible deployment and architecture •  Fit to your architecture Robust architecture •  Proven at high scale Easy to extend •  Well defined approach to create Carbon components (first class extensions) Consistent deployment •  The same CAR files work on-prem, cloud images and on StratosLive Consistent Management and Operations •  Adding new servers and function is smooth
  • 8. OSGi Originally created in 1999 to create a component runtime for Java in embedded devices (e.g. in-car) In 2003 Eclipse chose OSGi to manage components Provides a module system for Java: •  Better control than packages •  Versioning •  Dynamic loading
  • 10. Eclipse p2 •  Manages the packaging of OSGi bundles into features •  Supports deploying, undeploying, checkpoints •  Advanced features included shared repositories
  • 14. WSO2 Carbon Kernel •  Carbon kernel is the framework, foundation, the model behind the Carbon platform. •  Carbon kernel has introduced a composable server architecture through which we have composed a number of products. o  Product is merely a set of components/features which runs on the Carbon kernel. o  You get to mix and match these components and build your own product that matches with your requirements o  If you require data service feature in your ESB, connect to our online feature repository and install the data services feature.
  • 16. Consistency of config / operations •  Any Carbon based product will have this directory structure. •  If you are familiar with installing, configuring and operating Application Server, same knowledge applies to other products. •  Same theory applies to the web- based management console as well.
  • 20. Minification Image credit (c) Adam Fremantle 1961
  • 21. Iden%ty  Server  minified   •  Requirement:  run  WSO2  IS  on  exis4ng  hardware  in-­‐store   •  1Gb  machine  with  less  than  256Mb  free   •  Minified  deployment     •  Used  Carbon/OSGi  to  remove  unnecessary  services   •  Ran  all  scenarios  in  96Mb  heap   •  Met  customer  requirements  with  just  128Mb  heap!   Scenario 96Mb 256Mb Deployment Std Min Std Min STS OOM 166 147 185 SAML2 OOM 499 140 609 OAuth OOM 786 OOM 827 XACML OOM 874 305 929
  • 22. Raspberry  Pi  Cluster   WSO2  Con  London  2013   •  Eben  Upton  keynote   •  Decided  to  run  our  mobile   app  on  a  Pi  Cluster   •  Each  Pi  has:   •  700Mhz  ARM   •  512Mb  RAM   •  For  WSO2Con  we  ran  an   8-­‐Pi  cluster   •  Using  minified  Carbon   •  256Mb  heap  size   •  350  tps  across  8  Pis   •  ~  44  tps  /  Pi  
  • 24. Server Profiles •  Enables a product to run in multiple modes/profiles •  A profiles of a product describes the runtime behaviour. •  Each profile contains only the required set of components •  E.g. A single API Manager distribution can play following roles. API Publisher API Subscriber API Gateway Auth Server •  One download, multiple servers. e.g. sh wso2carbon.sh -Dprofile=profile_name
  • 28. WSO2 engagement model QuickStart Development Support Development Services Production Support Turnkey Solutions WSO2 Mobile Services Solution WSO2 FIX Gateway Solution WSO2 SAP Gateway Solution
  • 29. Q&A?