Introduction to the WSO2 Carbon Platform


Published on

Published in: Technology, Education
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Introduction to the WSO2 Carbon Platform

  1. 1. Introduction to the WSO2 Carbon Platform Paul Fremantle CTO & CO Founder, WSO2 Sameera Jayasoma Architect, WSO2
  2. 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.
  3. 3. WSO2 Carbon Platform
  4. 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. 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. 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. 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. 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
  9. 9. Features in Carbon
  10. 10. Eclipse p2 •  Manages the packaging of OSGi bundles into features •  Supports deploying, undeploying, checkpoints •  Advanced features included shared repositories
  11. 11. p2 in Eclipse
  12. 12. Feature Provisioning
  13. 13. p2 in Carbon
  14. 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.
  15. 15. Composable Server Architecture
  16. 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.
  17. 17. Carbon Application (C-App)
  18. 18. WSO2 Developer Studio 3.2
  19. 19. Minification Image credit (c) Adam Fremantle 1961
  20. 20. 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
  21. 21. 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  
  22. 22. Layered Scaling
  23. 23. 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 -Dprofile=profile_name
  24. 24. Deployment Synchronization
  25. 25. Clustering
  26. 26. Selected Customers
  27. 27. WSO2 engagement model QuickStart Development Support Development Services Production Support Turnkey Solutions WSO2 Mobile Services Solution WSO2 FIX Gateway Solution WSO2 SAP Gateway Solution
  28. 28. Q&A?
  29. 29. Thank You!!!