stratos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lakmal Warusawithana <lak...@wso2.com>
Subject Re: Autoscaler component architecture proposal for 4.0 version
Date Tue, 12 Nov 2013 04:42:20 GMT
Partitions are use then DevOps creating a policy. Partitions are not
visible to end user, but it visible to devOps interface.


On Tue, Nov 12, 2013 at 9:58 AM, Nirmal Fernando <nirmal070125@gmail.com>wrote:

> Further, how would a partition get selected? User selects when he
> subscribes to a Cartridge?
>
>
> On Tue, Nov 12, 2013 at 9:38 AM, Nirmal Fernando <nirmal070125@gmail.com>wrote:
>
>> 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 <nirmal070125@gmail.com>wrote:
>>
>>> Hi Lahiru,
>>>
>>> How does partitions and Cartridges relates?
>>>
>>>
>>> On Thu, Nov 7, 2013 at 11:42 PM, Lahiru Sandaruwan <lahirus@wso2.com>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 <lahirus@wso2.com>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: lahirus@wso2.com 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: lahirus@wso2.com 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/
>>
>
>
>
> --
> Best Regards,
> Nirmal
>
> Nirmal Fernando.
> PPMC Member & Committer of Apache Stratos,
> Senior Software Engineer, WSO2 Inc.
>
> Blog: http://nirmalfdo.blogspot.com/
>



-- 
Lakmal Warusawithana
Software Architect; WSO2 Inc.
Mobile : +94714289692
Blog : http://lakmalsview.blogspot.com/

Mime
View raw message