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/
