Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Building a Cloud Native Platform with WSO2 Private PaaS
1. Last Updated: March. 2014
Committer and PPMC member Apache Stratos (incubating)
Software Architect WSO2 Inc
Lakmal Warusawithana
Building a Cloud Native
Platform with WSO2 Private
PaaS
2. **
About the Presenter
Lakmal Warusawithana
Committer and PPMC member Apache Stratos (incubating)
Software Architect, WSO2 Inc
lakmal@apache.org / lakmal@wso2.com
3. **
About WSO2
๏ Global enterprise, founded in
2005 by acknowledged leaders in
XML, web services technologies,
standards and open source
๏ Provides only open source
platform-as-a-service for private,
public and hybrid cloud
deployments
๏ All WSO2 products are 100% open
source and released under the
Apache License Version 2.0.
๏ Is an Active Member of OASIS,
Cloud Security Alliance, OSGi
Alliance, AMQP Working Group,
OpenID Foundation and W3C.
๏ Driven by Innovation
๏ Launched first open source API
Management solution in 2012
๏ Launched App Factory in 2Q 2013
๏ Launched Enterprise Store and
first open source Mobile solution
in 4Q 2013
6. **
๏ Cloud Native platforms accelerates innovation,
increases operational efficiency, reduces costs
๏ The key building blocks of the cloud native platforms
are
- service provisioning
- load balancing
- management
- policy enforcement
- auto scaling
- monitoring, metering and logging
- multi-tenancy
- multi-cloud, cloud SLA and cloud bursting
- control/governance
- expandability
Cloud Native Platform
7. **
๏ Enterprise-grade Open Platform as a Service
๏ Build top of Apache Stratos (incubating)
๏ Stratos initially developed by WSO2 and donated to
Apache Software Foundation
๏ Include all WSO2 products as cartridges
๏ Well tested in different solution architecture patterns
with all WSO2 product cartridges
What is WSO2 Private PaaS?
9. **
Why is this architecture so important?
๏ Cartridge model enable bringing in even legacy apps
into cloud
๏ Unified communication across components in the PaaS
using message broker
๏ Centralized monitoring and metering with unified
logging framework
- ability to plug in BAM
๏ Ability to plugin any IaaS due to the use of jclouds API
๏ Ability to plugin any third party load balancer using
message broker model
๏ Ability to plugin any third party health
checking/monitoring framework
WSO2 Private PaaS Architecture
10. **
How Scalable it is?
๏ In theory infinite
- horizontal scaling
- limited by resource (instance capacity) availability
How Dynamic it is?
๏ Load Balancers are spawned dynamically
- LB too is a cartridge
๏ In case of multi-cloud, multi-region, LB can scale per
cloud/region
๏ Per service cluster LB
Scalable and Dynamic Load Balancing
11. **
What is unique about Stratos/Private PaaS
๏ Cartridge based LB model
๏ Can bring any third-party LB
- HAProxy, nginx
- As easy as plugging into LB extension API
Scalable and Dynamic Load Balancing..
12. **
What is it?
๏ Scaling algorithm can use multiple factors. such as
- Load average of the instance
- Memory consumption of the instance
- In-flight request count in LB
๏ Capable of predicting future load
- Real time analysis of current load status using CEP
integration
- Predict immediate future load based on CEP
resulting streams
Multi-factored Auto Scaling
13. **
Why should one care?
๏ Maximise resource utilization
๏ Easy to do capacity planning
๏ Dynamic load based resource provisioning
๏ Optimizing across multiple clouds
What are the advantages?
๏ Make DevOps life easy
๏ More accurate capacity planning
Multi-factored Auto Scaling...
14. **
What are the smart policies?
๏ Auto scaling
๏ Deployment
Auto scaling policy
๏ Define thresholds values pertaining scale up/down
decision
๏ Auto Scaler refer this policy
๏ Defined by DevOps
Deployment policy
๏ Defined how and where to spawn cartridge instances
๏ Defined min and max instances in a selected service
cluster
๏ Defined by DevOps based on deployment patterns
Smart Policies
15. **
Why should one care?
๏ Can provide cloud SLA
What are the advantages?
๏ Make DevOps life easy
- help keep to SLA
๏ Make SaaS app delivery life easy
- do not have to worry about availability in application
layer
Smart Policies
16. **
What MT model does it support?
๏ Container MT
- virtual Machine, LXC, Docker
๏ In-container MT
- within VM/LXC/Docker tenancy
What is unique?
๏ Can have high tenant density
What are the advantage of this model?
๏ Optimizing resource utilization
- by sharing resource such as CPU, memory across
tenants
- low footprint, based on utilization/usage of the
tenants app
๏ No need dedicated resource allocation for tenants
Multi-tenancy
17. **
What is a Partition?
๏ Logically group IaaS resource locations
๏ Partitions are important to make application high
availability
๏ Cartridge instances are spawned inside these partitions
๏ Partitions are defined by DevOps
What is a network partition?
๏ Logical groups multiple partitions, that are in the same
network
๏ Stratos will spawn Load Balancers per network partition
๏ Since LB instances and cartridge instances reside in
same network, they can communicate using private IP
addresses
๏ Used in deployment policies
Controlling IaaS Resources
18. **
What are the advantages?
๏ Can controll
- per cloud, per region, per zone, ...etc
๏ Can achieve high availability, disaster recovery
๏ Help for cloud SLA
๏ Control the resource utilization
๏ Help with geo based deployments
- help comply with geo rules/regulations
Controlling IaaS Resources
19. **
What is it?
๏ Expanding/provisioning application into another cloud
to handle peak load.
Why Should one care?
๏ Resource peak time can be off-loaded to third party
clouds/resources
What is unique about it?
๏ Can off-load to any cloud
- Private, Public and Hybrid
๏ Easy to managed with the model of LB per busting
cloud
Cloud Bursting
20. **
What are the advantages?
๏ Make DevOps life easy
๏ Low TCO, and higher utilization existing dedicated
resources
Cloud Bursting...
21. **
What details are?
๏ Instance up/down time
๏ Each and every instances health status
- application health, load average, memory
consumption
๏ Application logs
Why should one care?
๏ Centralize view for all logging, metering and monitoring
What are the advantages?
๏ DevOps life easy
- centralize log viewer
- centralize dashboard
๏ Easy to throttling
Logging, Metering and Monitoring
22. **
More Information !
๏ WSO2 Private PaaS
- http://wso2.com/cloud/private-paas/
๏ Apache Stratos (Incubating)
- http://stratos.incubator.apache.org/