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

Reply via email to