Hi Lahiru,

How does partitions and Cartridges relates?


On Thu, Nov 7, 2013 at 11:42 PM, Lahiru Sandaruwan <[email protected]> wrote:

> Hi all,
>
> Here is a update/change about how we are going to handle Scale up/ Scale
> down algorithms.
>
> These algorithms will apply on cloud partitions. Cloud partition can be
> any scope of a cloud.
>
> E.g. A cloud partition can be belong to EC2 Iaas, ap-southeast Region, 1b
> Zone etc.
> It is also enough to specify upto IaaS level and further fine grained
> levels are optional.
>
> Partitions are grouped and it should specify an algorithm per group.
> There are two algorithm that we are going to ship with Stratos 4.0.
>
> 1. One after another
>
> This means it will start scaling up in the next partition after reaching
> maximum number specified in the current partition.
>
> 2. Round robin
>
> This option will spawn instances among all the partitions Round robin
> manner until maximum is reached.
>
> See a sample HA policy at[1]
>
> Thanks.
>
> [1]
>
>
>  <HAPolicy>
>
>  <PartitionGroups>
>
>   <PartitionGroup>
>
>  <PartitionAlgo>OneAfterAnother</PartitionAlgo>
>
>  <Partition id="partition1" iaas="EC2" zone="A">
>
>   <PartitionMax>3</PartitionMax>
>
>   <PartitionMin>1</PartitionMin>
>
>  </Partition>
>
>  <Partition id="partition2" iaas="EC2" zone="B">
>
>   <PartitionMax>5</PartitionMax>
>
>   <PartitionMin>1</PartitionMin>
>
>  </Partition>
>
>  <Partition id="partition3" iaas="EC2" zone="B">
>
>   <PartitionMax>20</PartitionMax>
>
>   <PartitionMin>1</PartitionMin>
>
>  </Partition>
>
> </PartitionGroup>
>
>  <PartitionGroup>
>
>   <PartitionAlgo>RoundRobin</PartitionAlgo>
>
>  <Partition id="partition4" iaas="Openstack" zone="A">
>
>   <PartitionMax>3</PartitionMax>
>
>   <PartitionMin>1</PartitionMin>
>
>  </Partition>
>
>  <Partition id="partition5" iaas="Openstack" zone="B">
>
>   <PartitionMax>5</PartitionMax>
>
>   <PartitionMin>1</PartitionMin>
>
>  </Partition>
>
>  <Partition id="partition6" iaas="Openstack" zone="B">
>
>   <PartitionMax>20</PartitionMax>
>
>   <PartitionMin>1</PartitionMin>
>
>  </Partition>
>
> </PartitionGroup>
>
>  </PartitionGroups>
>
> </HAPolicy>
>
>
>
>
> On Thu, Oct 10, 2013 at 3:17 PM, Lahiru Sandaruwan <[email protected]>wrote:
>
>> Hi all,
>>
>> Here is the plan for autoscaling component implementation. As per the
>> proposed 4.0 architecture, autoscaling decisions making will be separated
>> from cloud controller and load balancer and established separately.
>>
>> Autoscaler will get its input from two topics. One topic is responsible
>> for passing summarized statistics like cartridge health and LB statistics
>> sent from Event Processing Engine. Other topic is for receiving Topology
>> information.
>>
>> Here is the architecture diagram,
>>
>>
>> POJOs
>>
>> Maintain a Java object model(POJOs) for keeping updated topology state
>> and autoscaling policies. Clusters and its instances will get updated with
>> every event received. Deployed policies are also kept as POJOs. Serialize
>> POJOs if required.
>> Autoscaling Policy
>>
>> Have a deployable xml model to keep High Availability policy and load
>> thresholds. Possibly those will be deployed by Dev-ops at start or may be
>> hot deploy.
>>
>> <AutoscalePolicy>
>>
>> <LoadThresholds>
>>
>> <RequestsInFlight>
>>
>> <UpperLimit  value="6000"/>
>>
>> <LowerLimit  value="1000"/>
>>
>> <IdealGraidient value="0"/>
>>
>> </RequestsInFlight>
>>
>> <MemoryConsumption>
>>
>> <UpperLimit  value="6000"/>
>>
>> <LowerLimit  value="1000"/>
>>
>> <IdealGraidient value="0"/>
>>
>> </MemoryConsumption>
>>
>> <LoadAverage>
>>
>> <UpperLimit  value="6000"/>
>>
>> <LowerLimit  value="1000"/>
>>
>> <IdealGraidient value="0"/>
>>
>> </LoadAverage>
>>
>> </LoadThresholds>
>>
>> <HAPolicy>
>>
>>   <IaasAlgo>OneAfterAnother</IaasAlgo>
>>
>>  <Iaas name=Openstack/>
>>
>>      <ZoneAlgo>RoundRobin</ZoneAlgo>
>>
>>      <IaaSMax>10</IaaSMax>
>>
>>    <IaaSMin>1</IaaSMin>
>>
>>      <Zone name=X max=5 min=1/>
>>
>>      <Zone name=Y max=5 min=0/>
>>
>> </Iaas>
>>
>>      <Iaas name=EC2/>
>>
>>            <ZoneAlgo>OneAfterAnother</ZoneAlgo>
>>
>>      <IaaSMax>7</IaaSMax>
>>
>>      <IaaSMin>0</IaaSMin>
>>
>>      <Zone name=A max=5 min=0/>
>>
>>      <Zone name=B max=2 min=0/>
>>
>> </Iaas>
>>
>> </HAPolicy>
>>
>> </AutoscalePolicy>
>> Rules Engine
>>
>> Input the POJOs periodically to rules engine and get the autoscaling
>> decisions.
>>
>> Please send your feedback on this,
>>
>> Thanks.
>> --
>>  --
>> Lahiru Sandaruwan
>> Software Engineer,
>> Platform Technologies,
>> WSO2 Inc., http://wso2.com
>> lean.enterprise.middleware
>>
>> email: [email protected] cell: (+94) 773 325 954
>> blog: http://lahiruwrites.blogspot.com/
>> twitter: http://twitter.com/lahirus
>> linked-in: http://lk.linkedin.com/pub/lahiru-sandaruwan/16/153/146
>>
>>
>
>
> --
> --
> Lahiru Sandaruwan
> Software Engineer,
> Platform Technologies,
> WSO2 Inc., http://wso2.com
> lean.enterprise.middleware
>
> email: [email protected] cell: (+94) 773 325 954
> blog: http://lahiruwrites.blogspot.com/
> twitter: http://twitter.com/lahirus
> linked-in: http://lk.linkedin.com/pub/lahiru-sandaruwan/16/153/146
>
>


-- 
Best Regards,
Nirmal

Nirmal Fernando.
PPMC Member & Committer of Apache Stratos,
Senior Software Engineer, WSO2 Inc.

Blog: http://nirmalfdo.blogspot.com/

Reply via email to