Introducing apache stratos (incubating) & wso2 paa s foundation


Published on

Published in: Technology
1 Like
  • Be the first to comment

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

No notes for slide

Introducing apache stratos (incubating) & wso2 paa s foundation

  1. 1. Introducing Apache Stratos (Incubating) & WSO2 PaaS Foundation Lakmal Warusawithana WSO2 Inc Software Architect Afkham Azeez WSO2 Inc Director, Architecture
  2. 2. What is a middleware Platform?
  3. 3. What is a middleware Platform?
  4. 4. What is a middleware Platform?
  5. 5. What is Platform as a Service?
  6. 6. What is Apache Stratos? ● ● ● ● ● ● ● ● A Platform-as-a-Service (PaaS) Framework Initially it was WSO2 Stratos, developed and maintained by WSO2. Recently donated to Apache and now it is in incubation. Deploys onto an Infrastructure-as-a-Service (IaaS) Including Amazon EC2, VMWare vCloud, OpenStack...etc Creates a secure, multi-tenant, elastic, metered, billed PaaS Supports private, public or hybrid PaaS. Capable of cloud bursting Can enable multiple flavours of PaaS: Application PaaS (aPaaS), Integration PaaS (iPaaS), Data PaaS (dPaaS), etc
  7. 7. Apache Stratos 3.0 Architecture
  8. 8. Stratos Core Components - CC ● ● ● ● ● ● ● Communicate to IaaS level Jclouds API. Enables your system to scale across multiple IaaS providers Is the central location where the service topology resides Responsible for sharing the service topology among Stratos 3.0 core services Supports hot update and deployment of its configuration files Currently production support in AWS EC2, SUSECloud and Openstack, experimental support for vCloud Enables cloud burst your system across multiple IaaS providers.
  9. 9. Stratos Core Components - CC
  10. 10. Stratos Core Components - ELB ● ● Failover, auto-scaling and multi-tenancy Single load balancer route incoming requests to clusters of different services in a tenant-aware manner ● IaaS independent elasticity ● Simple textual configuration language ● Private Jet Mode for tenants ● Some tenants load to deploy in a single tenant mode ● Cloud Bursting to hybrid clouds
  11. 11. Stratos Core Components - ELB
  12. 12. Stratos Cartridges ● ● ● ● ● A component which can be plugged into Stratos, so that it can use Stratos core services of the Foundation Layer Cloud-aware platform environment extending legacy technologies into the cloud and delivering cloud benefits Stratos operations teams may create custom cartridges and host any application, container, or framework in a Stratos Cloud. (Eg: A custom cartridge to bring cloud characteristics to IBM Websphere Application Server, IBM WebSphere ESB, Oracle WebLogic, or JBoss SOA Platform) Single tenant or multi-tenanted Process level isolation and instance-level dedicated tenancy
  13. 13. Stratos Cartridges
  14. 14. Cartridge Tenancy ● A cartridge can operate in two modes: ● Single tenant – – ● Stratos will run and manage a separate instance for each tenant The PHP Cartridge runs this way Multi-tenant – Stratos will run multiple instances partitioned so that sets of tenants run on sets of instances – Each instance of a Cartridge may run more than one tenant
  15. 15. User Roles involved in Cartridge Architecture ● Cartridge Creator – – ● Understands the cartridge domain (e.g. PHP) plus Cartridge SPI Creates image and configs (including for different IaaS) Cartridge Deployer (Stratos Admin/DevOps) – ● Registers cartridge with Stratos Cartridge Subscriber(Tenant Admin) – – Scaling parameters – ● Subscribes to the cartridge with Other resources such as persistent file system / DB Cartridge Users – Per-tenant users or developers – Access deployed applications – Upload applications to the cartridge (optional)
  16. 16. Artifact Distribution Coordinator
  17. 17. Lets setup Apache Stratos on EC2
  18. 18. Step 1 - setup prerequisites ● ● ● Create a Ubuntu Linux 12.04 m1-xlarge instance on EC2 Install and setup git, unzip and MySQL Server Start a Message Broker (MB) to communicate with the Cloud Controller and other products – Download WSO2 MB from and extract it into a preferred location – If the extracted directory is WSO2MB_HOME, in the WSO2MB_HOME/repository/conf/carbon.xml file change the port offset value to 5. – Config Java HOME – Start the MB server with the script at WSO2MB_HOME/bin
  19. 19. Step 2 - Build Apache Stratos (incubating) from source code ● git clone --branch 3.0.0-incubating s.git ● cd incubator-stratos ● mvn clean install ● It will create 4 products (cloud-controller, stratos-controller, elb, stratos-agent) in following folders – incubator-stratos/products/<product>/modules/distributi on/target/
  20. 20. Step 3 – install and config the PaaS ● ● ● ● ● ● cd tools/stratos-installer Create folder and copy all build products into the folder. Download the MySql Java connector and copy the JAR file to the above folder Create and download the key pair from IaaS. Open up the security rules on the IaaSs with the specified ports, which needs to be defined in the ./conf/setup.conf Update the ./conf/setup.conf file and configure the parameters. sudo ./ -p "all"
  21. 21. Now your Apache Stratos is ready use!!!
  22. 22. Demo – Usage if the Stratos ● Tenant creation ● Wordpress deployment – – ● Subscribing to MySQL Subscribing PHP Artifact distribution – Manual sync – Automated sync ● Domain mapping ● Auto Scaling
  23. 23. Demo – Create WSO2 App Server Cartridge
  24. 24. Thank You!