Hi Osura, Shall we have a hangout on Thursday/ Friday to discuss and demonstrate the current progress of the project? Please let us know your preference.
On Wed, Jul 20, 2016 at 3:35 PM, Imesh Gunaratne <im...@wso2.com> wrote: > Hi Osura, > > On Mon, Jul 18, 2016 at 4:20 PM, Osura Rathnayake <osura...@gmail.com> > wrote: > >> Hi Mentors, >> >> This is the progress so far. >> >> *Auto scaling* >> >> >> Azure supports two paradigms of auto scaling, vertical and horizontal. >> Vertical scaling, also known as scale up and scale down, means increasing >> or decreasing virtual machine (VM) sizes in response to a workload. As I >> explained in one of my previous emails, vertical auto scaling is achieved >> through monitoring rules. We can set it to trigger an alarm when certain >> conditions are met and also as the action we can set up a runbook to scale >> up or down. I could successfully get VMs to scale up and down using this >> feature. >> > > We would use horizontal scaling in most scenarios. > > >> >> Horizontal scaling, also referred to as scale out and scale in, where the >> number of VMs is altered depending on the workload. Horizontal scaling is >> achieved through virtual machine scale sets (VMSS). One important thing >> about VMSS is that the VMs included should be of the same size and have the >> same OS image. All the VMs in the scale set are added to the load balancer, >> as a backend pool. Backend pool is a pool of VMs which share the traffic >> coming via the load balancer. We can add auto scale rules, as to when >> additional VMs should be added and removed, based on the conditions. I >> could test some auto scale rules and observed VMs getting added to the >> backend pool. But one problem is that when these VMs getting added, it’s a >> whole new VM. I’m trying to add custom made VMs which has a wso2 product >> installed and configured. >> > > Yes we would need a VM image with required WSO2 product and > pre-requisites to test this. At WSO2 we use Puppet > > for automating the installation process [1]. With Puppet we can use one > base VM image and start a VM for any WSO2 product. Puppet does the WSO2 > product installation at the VM startup. > >> >> Note: only a limited horizontal scaling features are supported in the >> azure portal yet so I’m using REST API to create and manage auto scaling >> features. >> >> >> *Centralized logging* >> >> >> I was able to get log to Log Analytics using custom logs. I have >> collected logs generated from 2 wso2 application servers. You only have to >> add respective VMs to the Log analytics and set the path where logs are >> located. This feature was under public preview, which might have been one >> reason why it didn’t work last time when I tried. >> > > Was the issue with the log file path/pattern? Did it work once you > remove that? > > [1] > https://github.com/wso2/puppet-modules/wiki/Use-WSO2-Puppet-Modules-in-puppet-master-agent-Environment > > Thanks > >> >> Thanks, >> >> On Mon, Jul 18, 2016 at 8:21 AM, Osura Rathnayake <osura...@gmail.com> >> wrote: >> >>> Hi Isuru, >>> >>> Please accept my apologies I have messed up names in my last email. I'm >>> not going to be available today due to an unavoidable circumstance so can >>> we please have the meeting on Wednesday? Extremely sorry if it made any >>> inconvenience. I will update you with a detailed email today for sure. >>> >>> Thanks in advance, >>> >>> On Fri, Jul 15, 2016 at 4:04 PM, Isuru Haththotuwa <isu...@wso2.com> >>> wrote: >>> >>>> Hi Osura, >>>> >>>> Can you send a detailed updated on the current status? Shall we have a >>>> meeting on Monday to review the progress. >>>> >>>> On Tue, Jul 12, 2016 at 2:03 PM, Osura Rathnayake <osura...@gmail.com> >>>> wrote: >>>> >>>>> Hi Imesh, >>>>> >>>>> About dynamically adding members to the load balancer, I will cross >>>>> check it with auto-scaling. I couldn't look into that from auto-scaling >>>>> end >>>>> since I couldn't test it yet. >>>>> >>>>> about monitoring, yes we can do a POC on that. >>>>> >>>>> thanks, >>>>> >>>>> On Tue, Jul 12, 2016 at 12:53 PM, Imesh Gunaratne <im...@wso2.com> >>>>> wrote: >>>>> >>>>>> On Tue, Jul 12, 2016 at 12:09 PM, Osura Rathnayake < >>>>>> osura...@gmail.com> wrote: >>>>>> >>>>>>> Hi Imesh, >>>>>>> >>>>>>> About centralized logging, I'm trying to get logs to the Log >>>>>>> Analytics using few methods supported in azure. We can either parse >>>>>>> logs in >>>>>>> to syslogs and send to the Log Analytics or create custom logs >>>>>>> specifying >>>>>>> the logs location. As you said, logs shouldn't be in .txt extension, I >>>>>>> got >>>>>>> it clarified from a azure blog. Will update you soon after I could >>>>>>> resolve >>>>>>> it. >>>>>>> >>>>>>> Right, thanks for the update! >>>>>> >>>>>> >>>>>>> No you can't dynamically add VMs to the load balancer. Backend pool, >>>>>>> where all the VMs reside, should be predefined. >>>>>>> >>>>>> >>>>>> Technically that capability should be there. Otherwise we would not >>>>>> be able to autoscale a server cluster dynamically. >>>>>> >>>>>> >>>>>> >>>>>>> you can auto-scale using scale sets(I'm still researching about it), >>>>>>> that's the equivalent of AWS auto scaling group . also you can scale up >>>>>>> or >>>>>>> down a VM if it exceeds a certain parameter like CPU usage, using >>>>>>> monitoring rules. >>>>>>> >>>>>>> *Monitoring * >>>>>>> >>>>>>> >>>>>>> Azure has a native monitoring tool which involves collecting and >>>>>>> tracking metrics, analyzing log files, defining custom metrics and >>>>>>> logging >>>>>>> generated by specific applications or workloads running in Virtual >>>>>>> Machines. Azure represents monitored data in a graphical manner using >>>>>>> charts. Monitoring also facilitates triggering alarms when certain >>>>>>> conditions are met and also it can be configured to take actions on the >>>>>>> met >>>>>>> conditions. Monitoring is done by the Diagnostic Extension and it has >>>>>>> following capabilities. >>>>>>> >>>>>>> · Collects and uploads the system performance information >>>>>>> from the Linux VM to the user's storage table, including diagnostic and >>>>>>> syslog information. >>>>>>> >>>>>>> · Enables users to customize the data metrics that will be >>>>>>> collected and uploaded. >>>>>>> >>>>>>> · Enables users to upload specified log files to a >>>>>>> designated storage table. >>>>>>> >>>>>>> Note: Azure storage tables are a non-relational, key-value-pair, >>>>>>> storage system suitable for storing massive amounts of unstructured >>>>>>> data. >>>>>>> >>>>>>> >>>>>>> We can add monitor rules so that when an alert triggers it notifies >>>>>>> the admins via email. Furthermore we can set to take automated actions. >>>>>>> Azure automate actions by running runbooks. A runbook is a set of tasks >>>>>>> that perform some automated process in Azure Automation. We can create >>>>>>> our >>>>>>> own runbooks as well. Available runbooks include, >>>>>>> >>>>>>> · Restart VM >>>>>>> >>>>>>> · Stop VM >>>>>>> >>>>>>> · Remove VM >>>>>>> >>>>>>> · Scale up VM >>>>>>> >>>>>>> · Scale down VM >>>>>>> >>>>>>> When scaling up it sets the virtual machine to the next larger size >>>>>>> within the size group and when scaling down it sets the virtual machine >>>>>>> to >>>>>>> the next smaller size within the size group. >>>>>>> >>>>>>> More about runbooks and automation [1] >>>>>>> >>>>>> >>>>>> Sounds good, will us be able to do a POC on this? >>>>>> >>>>>> >>>>>>> >>>>>>> *Auto scaling * >>>>>>> >>>>>>> >>>>>>> Auto-scaling is the process of dynamically allocating the resources >>>>>>> required by an application to match performance requirements. Virtual >>>>>>> machine scale sets are an Azure Compute resource you can use to deploy >>>>>>> and >>>>>>> manage a set of identical VMs. With all VMs configured the same, VM >>>>>>> scale >>>>>>> sets are designed to support true auto-scale no pre-provisioning of >>>>>>> VMs is >>>>>>> required – and as such makes it easier to build large-scale services >>>>>>> targeting big compute, big data, and containerized workloads [2]. >>>>>>> >>>>>>> >>>>>>> Note: I couldn’t practically do this as my azure free account lets >>>>>>> me have only 4 cores and I have used all of them on my current >>>>>>> deployment. >>>>>>> I’m getting a new azure account from one of my friends in a day so >>>>>>> hopefully I will do this on it and update you. >>>>>>> >>>>>> >>>>>> Great! Thanks! >>>>>> >>>>>> >>>>>>> >>>>>>> [1] >>>>>>> https://azure.microsoft.com/en-us/documentation/articles/automation-intro/ >>>>>>> >>>>>>> [2] >>>>>>> https://azure.microsoft.com/en-us/documentation/articles/virtual-machine-scale-sets-overview/ >>>>>>> >>>>>>> >>>>>>> thanks, >>>>>>> >>>>>>> >>>>>>> On Mon, Jul 11, 2016 at 9:54 AM, Imesh Gunaratne <im...@wso2.com> >>>>>>> wrote: >>>>>>> >>>>>>>> On Thu, Jul 7, 2016 at 7:11 PM, Osura Rathnayake < >>>>>>>> osura...@gmail.com> wrote: >>>>>>>> >>>>>>>>> Hi Mentors, >>>>>>>>> >>>>>>>>> >>>>>>>>> In addition to refining the membership scheme code, I looked into >>>>>>>>> following features of Azure. >>>>>>>>> >>>>>>>>> >>>>>>>> Good findings Osura, please find few questions inline: >>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> *Azure dynamic load balancing* >>>>>>>>> >>>>>>>>> >>>>>>>>> Azure has a native load balancer which is very easy to configure. >>>>>>>>> It’s a layer 4 (TCP, UDP) load balancer which helps to spread traffic >>>>>>>>> among >>>>>>>>> healthy virtual machines. Following are some key terms you need to >>>>>>>>> know. >>>>>>>>> >>>>>>>>> >>>>>>>> Can members be dynamically added and removed to/from a load >>>>>>>> balancer? To check this we may need to explore how autoscaling works. >>>>>>>> On >>>>>>>> AWS this is handled with autoscaling groups [3] >>>>>>>> >>>>>>>>> >>>>>>>>> *Capturing Virtual Machine Images as templates* >>>>>>>>> >>>>>>>>> >>>>>>>>> Azure provides the feature of generalizing and capturing virtual >>>>>>>>> machines so that they can be used as templates. This is very useful >>>>>>>>> and >>>>>>>>> time saving when the production environment has many instances of the >>>>>>>>> same >>>>>>>>> kind of virtual machine. When the virtual machine is being >>>>>>>>> generalized all >>>>>>>>> the data in user directories are erased so better to have wso2 product >>>>>>>>> directory not in "/home/*". More about this can be found here [2]. >>>>>>>>> >>>>>>>>> Once the virtual machine is captured, it is stored in the storage >>>>>>>>> account that is associated with the virtual machine. You can either >>>>>>>>> download this or use directly by referring to the URI when you want >>>>>>>>> to make >>>>>>>>> other virtual machines with this template. What would be awesome is >>>>>>>>> if we >>>>>>>>> can fully configure the virtual machine with a given product and make >>>>>>>>> it >>>>>>>>> available to users. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> Yes, this is mandatory. Otherwise we would not be able to >>>>>>>> autoscale a server cluster. >>>>>>>> >>>>>>>> I'm sorry I may have missed, how did it go with centralized >>>>>>>> logging? >>>>>>>> >>>>>>>> [3] >>>>>>>> http://docs.aws.amazon.com/autoscaling/latest/userguide/AutoScalingGroup.html >>>>>>>> >>>>>>>> Thanks >>>>>>>> >>>>>>>> >>>>>>>>> [1] >>>>>>>>> https://azure.microsoft.com/en-us/documentation/articles/load-balancer-overview/ >>>>>>>>> >>>>>>>>> [2] >>>>>>>>> https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-capture-image/ >>>>>>>>> >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> >>>>>>>>> On Wed, Jul 6, 2016 at 12:18 PM, Osura Rathnayake < >>>>>>>>> osura...@gmail.com> wrote: >>>>>>>>> >>>>>>>>>> Hi Akila, >>>>>>>>>> >>>>>>>>>> Please refer to the screenshots that I have attached. When I >>>>>>>>>> updated localMemberPort to 4200, I can see it being reflected in >>>>>>>>>> logs when >>>>>>>>>> members are joining. So should I still make modifications in the >>>>>>>>>> code? >>>>>>>>>> >>>>>>>>>> .gitignore was added. >>>>>>>>>> >>>>>>>>>> okay I will write test cases in testNG and update >>>>>>>>>> >>>>>>>>>> thanks, >>>>>>>>>> >>>>>>>>>> On Wed, Jul 6, 2016 at 9:06 AM, Akila Ravihansa Perera < >>>>>>>>>> raviha...@wso2.com> wrote: >>>>>>>>>> >>>>>>>>>>> Hi, >>>>>>>>>>> >>>>>>>>>>> On Tue, Jul 5, 2016 at 11:38 AM, Osura Rathnayake < >>>>>>>>>>> osura...@gmail.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi Akila, >>>>>>>>>>>> >>>>>>>>>>>> Please check the modified code. It now takes the value which is >>>>>>>>>>>> specified as localMemberPort in axis2.xml. >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> I still don't see any change to the logic of how member address >>>>>>>>>>> is calculated. Can you double check? >>>>>>>>>>> >>>>>>>>>>> Please make sure "target/**" directories are ignored from >>>>>>>>>>> .gitignore. These shouldn't be in the repo [1]. You might also need >>>>>>>>>>> to >>>>>>>>>>> ignore any IDE specific files. Have a look at .gitignore in >>>>>>>>>>> Kubernetes >>>>>>>>>>> artifacts [2]. >>>>>>>>>>> >>>>>>>>>>> I see that you have committed some test cases based on JUnit. >>>>>>>>>>> Please note that as a platform we are moving to testng framework so >>>>>>>>>>> better >>>>>>>>>>> to use that. >>>>>>>>>>> @Imesh, Isuru: Please correct me if I'm wrong. >>>>>>>>>>> >>>>>>>>>>> Shall we get a repo created under wso2-incubator for this? >>>>>>>>>>> >>>>>>>>>>> [1] >>>>>>>>>>> https://github.com/osuran/azure-membership-scheme/tree/master/target >>>>>>>>>>> [2] >>>>>>>>>>> https://github.com/wso2/kubernetes-artifacts/blob/master/.gitignore >>>>>>>>>>> >>>>>>>>>>> Thanks. >>>>>>>>>>> -- >>>>>>>>>>> Akila Ravihansa Perera >>>>>>>>>>> WSO2 Inc.; http://wso2.com/ >>>>>>>>>>> >>>>>>>>>>> Blog: http://ravihansa3000.blogspot.com >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Regards, >>>>>>>>>> Osura Rathnayake >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Regards, >>>>>>>>> Osura Rathnayake >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> *Imesh Gunaratne* >>>>>>>> Software Architect >>>>>>>> WSO2 Inc: http://wso2.com >>>>>>>> T: +94 11 214 5345 M: +94 77 374 2057 >>>>>>>> W: https://medium.com/@imesh TW: @imesh >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Regards, >>>>>>> Osura Rathnayake >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Imesh Gunaratne* >>>>>> Software Architect >>>>>> WSO2 Inc: http://wso2.com >>>>>> T: +94 11 214 5345 M: +94 77 374 2057 >>>>>> W: https://medium.com/@imesh TW: @imesh >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Regards, >>>>> Osura Rathnayake >>>>> >>>> >>>> >>>> >>>> -- >>>> Thanks and Regards, >>>> >>>> Isuru H. >>>> +94 716 358 048* <http://wso2.com/>* >>>> >>>> >>>> >>> >>> >>> -- >>> Regards, >>> Osura Rathnayake >>> >> >> >> >> -- >> Regards, >> Osura Rathnayake >> > > > > -- > *Imesh Gunaratne* > Software Architect > WSO2 Inc: http://wso2.com > T: +94 11 214 5345 M: +94 77 374 2057 > W: https://medium.com/@imesh TW: @imesh > > -- Thanks and Regards, Isuru H. +94 716 358 048* <http://wso2.com/>*
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev