building a cloud native platform with apache paas
DESCRIPTION
As a PaaS framework, there are some key elements that the cloud computing industry is taking interest on Apache Stratos (incubating). This presentation explore the unique advantaged of Apache Stratos as a PaaS framework.TRANSCRIPT
Last Updated: March. 2014
VP Developer Evangalism
Samisa Abeysinghe
Building a Cloud Na5ve Pla8orm with Apache
Stratos
* *
๏ Cloud Na)ve pla-orms accelerates innova)on, increases opera)onal efficiency, reduces costs
๏ The key building blocks of the cloud na)ve pla-orms are -‐ service provisioning -‐ load balancing -‐ management -‐ policy enforcement -‐ auto scaling -‐ monitoring, metering and logging -‐ mul)-‐tenancy -‐ mul)-‐cloud, cloud SLA and cloud burs)ng -‐ control/governance -‐ extendability
Cloud Na5ve Pla8orm
* *
๏ Enterprise-‐grade Open Pla-orm as a Service
๏ Stratos ini)ally developed by WSO2 and donated to Apache Stratos
What is Apache Stratos (incuba5ng)?
* *
Apache Stratos PaaS Layered Architecture
* *
Why is this architecture so important? ๏ Cartridge model enable bringing in even legacy apps
into cloud ๏ Unified communica)on 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
Apache Stratos PaaS Architecture
* *
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 mul)-‐cloud, mul)-‐region, LB can scale per
cloud/region ๏ Per service cluster LB
Scalable and Dynamic Load Balancing
* *
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..
* *
What is it? ๏ Scaling algorithm can use mul)ple factors. such as
-‐ Load avarage of the instance -‐ Memory consump)on of the instance -‐ In-‐flight request count in LB
๏ Capable of predic)ng future load -‐ Real )me analysis of current load status using
CEP integra)on -‐ Predict immediate future load based on CEP resul)ng streams
Mul5-‐factored Auto Scaling
* *
Why should one care? ๏ Maximise resource u)liza)on ๏ Easy to do capacity planning ๏ Dynamic load based resource provisioning ๏ Op)mizing across mul)ple clouds What are the advantages? ๏ Make DevOps life easy ๏ More accurate capacity planning
Mul5-‐factored Auto Scaling...
* *
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 paYerns
Smart Policies
* *
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 applica)on
layer
Smart Policies
* *
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? ๏ Op)mizing resource u)liza)on
-‐ by sharing resource such as CPU, memory across
tenants -‐ low footprint, based on u)liza)on/usage of the tenants app
๏ No need dedicated resource alloca)on for tenants
Mul5-‐tenancy
* *
What is a Par55on? ๏ Logically group IaaS resource loca)ons ๏ Par))ons are important to make applica)on high
availability ๏ Cartridge instances are spawned inside these par))ons ๏ Par))ons are defined by DevOps What is a network par55on? ๏ Logical groups mul)ple par))ons, that are in the same
network ๏ Stratos will spawn Load Balancers per network par))on ๏ Since LB instances and cartridge instances reside in
same network, they can communicate using private IP addresses
๏ Used in deployment policies
Controlling IaaS Resources
* *
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 u)liza)on ๏ Help with geo based deployments
-‐ help comply with geo rules/regula)ons
Controlling IaaS Resources
* *
What is it? ๏ Expanding/provisioning applica)on into another cloud
to handle peak load. Why Should one care? ๏ Resource peak )me 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 bus)ng
cloud
Cloud Burs5ng
* *
What are the advantages? ๏ Make DevOps life easy ๏ Low TCO, and higher u)liza)on exis)ng dedicated
resources
Cloud Burs5ng...
* *
How detail it is? ๏ Instance up/down )me ๏ Each and every instance public health status
-‐ applica)on health, OS health like load average, memory consump)on
๏ Applica)on 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 throYling
Logging, Metering and Monitoring
* *
More Informa5on !
๏ Apache Stratos (Incubating) - http://stratos.incubator.apache.org/
๏ WSO2 Private PaaS - http://wso2.com/cloud/private-paas/