Also, IMO /s/PartitionMax/max and same for min. Also why are these starts
with upper-case letters? I think we should lower the case of the starting
letter (eg: haPolicy).




On Tue, Nov 12, 2013 at 9:32 AM, Nirmal Fernando <[email protected]>wrote:

> 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/
>



-- 
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