Scalr, the Palo Alto based cloud startup, focuses on solving one problem and does it well. This service makes your scaling problem go away. Scalr is the low cost, open source alternative to Rightscale, the leading cloud broker used by companies wanting to use cloud infrastructure. Along with scaling, Scalr also takes care of fault tolerance and backups. More and more startups and other smaller companies are relying on Scalr for their application scaling needs.
Defining the scaling problem
The cloud makes scaling very easy and almost instantaneous. The cloud infrastructure provider makes sure that they have plenty of resources to allow their clients scale up and down based on their needs. This doesn’t mean that cloud is a magic pill which will automagically scale your applications as per the demand. In order to do so, you either need human beings who monitor all the running instances and adds/removes resources based on the demand and load. Such an option is not only expensive but it is also very slow and prone to errors. The right way to do it is by using a cloud management platform which will take care of all the auto-scaling needs of the application. The management tool should monitor the load on the existing resources and based on a configurable limit, it should automatically provision new resources, update the DNS and load balancers so that the traffic is properly re-routed.
What is Scalr
There are many companies offering a platform to support auto-scaling of applications on the cloud. Scalr is one such company offering low cost services to scale the applications. It is a self scaling, auto healing, completely redundant platform for Amazon EC2. Scalr offers AMIs with four different roles which can be used to set up and manage server farms. They are
- www – Load balancers (mostly nginx) that directs requests to all instances of app role. With two such instances, it is possible to have high availability. Since Scalar manages the DNS service, if one of the load balancers goes down, Scalr removes it from the DNS, provisions another instance and then adds to the DNS service. This enables very high availability of the application
- app – App server instances running Apache, Tomcat or Rails Framework. Scalr monitors these app servers and sets up a new instance when one of the app server goes down
- mysql – Mysql database master slave instances and it takes care of automatic master slave replication. Scalr monitors the database master/sclave instances and when one of the master goes down, it pushes a slave into master and sets up a new master seamlessly
- base – A bare AMI that can be used to create any new role
These four roles are used to set up the server farms. Then, as explained above, the health of the entire farm is continuously monitored and whenever the load on a particular instance goes above a pre-configured limit, additional virtual machines are provisioned, the DNS is reconfigured and the load balancer instructed to send the requests to newly provisioned resources. The same thing happens when an instance crashes off too.
Why Scalr
Unlike many other cloud management platforms, Scalr narrowly focuses on scaling and does it well. There are two big reasons why Scalr is attractive.
- Unlike their competitors, their lowest plan costs only $99 a month. This is particularly attractive for startups and one man developer shops. Scalr offers a seamless way to scale their web applications without maxing out the credit cards.
- They also offer a fully featured open source version. Their open source version is released under GPL. This gives their users freedom to modify the source code to suit their needs. Moreover, the availability of source code is very important for the government agencies who are embracing cloud computing in full force under the current administration. Some parts of the government may be wary of using proprietary technologies because they will have no clue about what is going on. Open source becomes important for such clients and Scalr has an advantage here with their open source offering.