14
Committer and PMC member of Apache Stratos Senior Software Engineer, WSO2 Sajith Kariyawasam Cloud Bursting with Apache Stratos Committer and PMC member of Apache Stratos Software Engineer, WSO2 Udara Liyanage

Cloud bursting with Apache Stratos

  • Upload
    wso2

  • View
    356

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Cloud bursting with Apache Stratos

Committer and PMC member of Apache StratosSenior Software Engineer, WSO2

Sajith Kariyawasam

Cloud Bursting with Apache Stratos

Committer and PMC member of Apache StratosSoftware Engineer, WSO2

Udara Liyanage

Page 2: Cloud bursting with Apache Stratos

*

Agenda

• What is cloud-bursting• Why cloud bursting is needed• Partition and Deployment Policy concept in

Apache Stratos• How to enable cloud bursting in Apache Stratos• Cloud bursting scenarios• Demonstration of PHP cartridge burst into EC2

and Openstack• Q&A, Discussion

Page 3: Cloud bursting with Apache Stratos

*

What is Cloud Bursting ?

An application model where organizations can utilize the compute resources of one cloud and burst into another cloud when the demand for compute resources exceeds the limit allowed in the current cloud.

Page 4: Cloud bursting with Apache Stratos

*

Why cloud bursting ?

๏ Allows organizations to seamlessly handle excess workloads

๏ Pay for the additional compute resources only when they are needed

๏ Provides high availability

Page 5: Cloud bursting with Apache Stratos

*

Partitions and Policies in Apache Stratos

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

Page 6: Cloud bursting with Apache Stratos

*

Partition{

"id": "AWSEC2AsiaPacificPartition1",

"provider": "ec2",

"property": [

{

"name": "region",

"value": "ap-southeast-1"

}

]

}

Page 7: Cloud bursting with Apache Stratos

*

Deployment Policy{ "id": "myTestDepPolicy", "partitionGroup": { "id": "ec2Openstack", "partitionAlgo": "one-after-another", "partition": [ { "id": "AWSEC2AsiaPacificPartition1", "partitionMax": "1", "partitionMin": "1" }, { "id": "OpenstackPartition1", "partitionMax": "1", "partitionMin": "0" } ] }}

Page 8: Cloud bursting with Apache Stratos

*

Autoscaling Policy "id": "simpleAutoscalePolicy",

"loadThresholds": {

"requestsInFlight": {

"average": "100",

"gradient": "0",

},

"memoryConsumption": {

"average": "600",

"gradient": "0",

},

"loadAverage": {

"average": "300",

"gradient": "0",

}

}

}

Page 9: Cloud bursting with Apache Stratos

*

Enabling multiple IaaS <iaasProvider type="ec2" name="ec2 specific details">

<className>org.apache.stratos.cloud.controller.iaases.AWSEC2Iaas</className>

<provider>aws-ec2</provider>

<identity svns:secretAlias="elastic.scaler.openstack.identity">###########</identity>

<credential svns:secretAlias="elastic.scaler.openstack.credential">################</credential>

<property name="jclouds.ec2.ami-query" value="owner-id=123456;state=available;image-type=machine"/>

<property name="availabilityZone" value="ap-southeast-1b"/>

<property name="securityGroups" value="test_security_group"/>

<property name="autoAssignIp" value="true" />

<property name="keyPair" value="my_key_pair"/>

</iaasProvider>

<iaasProvider type="openstack" name="openstack specific details">

<className>org.apache.stratos.cloud.controller.iaases.OpenstackNovaIaas</className>

<provider>openstack-nova</provider>

<identity svns:secretAlias="cloud.controller.openstack.identity">user:user</identity>

<credential svns:secretAlias="cloud.controller.openstack.credential">abcdef</credential>

<property name="jclouds.endpoint" value="http://openstack:5000/v2.0" />

<property name="jclouds.openstack-nova.auto-create-floating-ips" value="false"/>

<property name="jclouds.api-version" value="2.0/" />

</iaasProvider>

Page 10: Cloud bursting with Apache Stratos

*

Cloud bursting scenarios

• Cloud busting from a private cloud into a public cloud (eg: From an on-premise OpenStack cloud, to a public EC2 cloud)

• Cloud bursting from one private cloud into another private cloud (eg: From an on-premise OpenStack cloud, to another on-premise OpenStack cloud)

• Cloud bursting from one public cloud into another public cloud (eg: From a public EC2 cloud to another public EC2 cloud )

Page 11: Cloud bursting with Apache Stratos

*

Page 12: Cloud bursting with Apache Stratos

*

Demo

Page 13: Cloud bursting with Apache Stratos

*

DISCUSSION

Page 14: Cloud bursting with Apache Stratos

*

Thank You!