In this year I was able to participate in Google summer of code program and that is one of the most valuable opportunity I ever had. My project is to create an extension for apache stratos in order to use Google compute engine load balancer for accessing applications deployed in stratos. With the experiences during the Google summer of code I thought of sharing few blog posts about how to use the Google Compute Engine Load balancer with Apache stratos.
It is important to get an idea about what apache stratos is all about. Apache stratos is a platform as a service. When someone needs to deploy an application in cloud, the easiest way is to use a platform as a service like apache stratos since it manages everything related to IaaS side.
Basically we use IaaSes like AmazonEC2, Google Compute Engine (GCE), Cloudstack, Openstack etc in order to create virtual machines and manage networks. In addition to that some IaaSes like GCE provide the Load balancing facility too.
In cloud computing, Load balancing plays a major role. Since we use cluster of computers (VMs) to deploy the same application, it is very important to distribute the traffic among those VMs. There are lots of algorithms available in order to do that. Read more here in Azeez's blog.
Apache stratos is consists of its own load balancer. User is always allowed to decide whether to use stratos load balancer or not when deploying an application. If a particular user requires another load balancer instead of stratos load balancer, he may have lot of options like HAProxy, ngix, Google compute engine, AWS. User can use any of those load balancers as a separate extension to apache stratos. It enables the user to run the extension in a separate VM. Currently, HAProxy and ngix extensions development is completed and ready to use. Google compute engine Load Balancer extension and EC2 extension is under development. My project is to create GCE extension as GSOC project this year. (Related jira issue is here). Most of the functionalities are completed by now. The AWS extension is also being implemented as a separate GSOC project parallel by Swapnil Patil (Related Jira issue is here). In near future those two extensions will be available for use.
The important thing is stratos provide a rich load balancing API. It enables anyone to add any load balancer as an extension through that API by following the same way as existing extensions developed. By implementing a few methods we can get the extension up and running.
In the next post I'm going to discuss about how to use the GCE load balancer extension with apache stratos.
0 comments:
Post a Comment