Web Farm 2.0: Enhanced Auto Scaling Support

   —   

With Kentico 9, we bring you new Web Farm and Auto Scaling support built from the ground up. Cloud is slowly taking over as the preferred hosting environment, and cloud providers are enabling access to auto scaling technology for all subscribers. We, therefore, decided to rebuild our Web Farm support to accommodate better the needs of users for easy automatic setup and health tracking capabilities.

Kentico has been supporting environments consisting of multiple computing instances (Web Farms) for a long time now. Unlike most CMS solutions on the market, Kentico always enabled customers to increase the robustness of their environment by adding additional servers.

With the growing popularity of Cloud, customers are easily able to configure their environment to scale a number of instances running Kentico automatically, based on simple rules. Rules can be based on the number of page views, concurrent users, or CPU or memory utilization of the current environment, and the environment can be scaled up or down accordingly. With such a dynamic environment, it is essential to be able to identify newly added or recently removed instances and adopt whatever synchronization mechanism they use to keep multiple instances in sync (content and media files). With Kentico 9, we are introducing new setup modes and monitoring capabilities.

The new Web Farm support optimized for cloud deployments is now much easier to set up. As you do not rely on third-party modules or synchronization tools, you just need to pick a setup mode (Manual or Automatic) and you are good to go. We recommend the Automatic mode for most Web Farm environments. This mode dynamically adds and removes Web Farm servers from the system. The Manual mode makes sense in scenarios where the number of instances is going to stay the same, and you are connecting to instances via a proxy gate of some sort (e.g. special port of the FW).

2015-10-03_1310.png

To provide users with an overview of the health of instances in the environment, we added new health tracking capabilities. Looking at the list of registered instances you can see the health status displayed for each entry – Healthy, Transitioning, and Not responding. The status is updated regularly based on whether the particular instance shows signs of activity or not. Instances flagged as Not responding are reported to the admin via an email notification.

2015-10-03_1322.png

Only healthy instances are kept in sync with the rest of the environment. That way, the system does not spend unnecessary resources trying to keep dead instances in sync and adds great performance and stability boosts for the entire system. The new monitoring system ensures that the system is not overloaded while trying to synchronize groups of inactive instances removed on the fly by the cloud provider (either as a result of auto scaling rules applied or during maintenance).

The system is smart enough to recognize if an instance previously rendered as not responding returns to a healthy status (for example, after a failover procedure restores the instance). If the instance becomes unresponsive for over 24 hours, the automatic mode removes information about this instance from the system completely. In manual mode, the system stops generating most of the synchronization tasks for the impacted server until that server comes back up or is removed manually by the user. A good example of when an instance may become unresponsive and then healthy again is during regular maintenance (SW or HW).

Obvious benefits of the new Web Farm synchronization support, besides fully automated setup, are increased performance and robustness of the system (especially in rule-based, auto scaling enabled cloud environments). An optimized synchronization process helps to minimize the amount of data transferred between instances, aiding system performance. And with monitoring, health statuses, and basic self-healing capabilities it is our most advanced synchronization support yet.

If you want to learn more, please join us on Kentico 9 -Web Farm Support webinar.

Enjoy! And leave a comment if you have any questions.

Share this article on   LinkedIn

Karol Jarkovsky

Director of Product

Comments

Karol Jarkovsky commented on

Hi guys,

Thank you for your questions. They're all related to the same topic - web farm licensing in dynamic cloud environments.

With Kentico 9 we do not plan on introducing any changes in the web farm licensing. As rhutnyk suggested, system's ability to scale horizontally is going to be limited by maximum no. of supported web farm severs of your license. Using unlimited server license will of course allow you to scale system as much as you need.

Regardless, we realize one of the reasons why dynamic auto-scaling is so appealing to customers is cost saving aspect (as Kile or Stephen) and that's why we're having internal discussions on possible solutions that would allow customers to prepay certain no. of web farm servers upfront (just like you do today) and then pay for additional servers when needed in pay-as-you-go fashion.

Once we have final proposal ready we'd love to take it and validate with our customers. If you guys wish to participate in focus group and provide early feedback just message me karolj[at]kentico[dot]com.

Thanks,

KarolJ

Stephen commented on

Sound like some good improvements in facilitating dynamic control of the environment. Aside from the technical issues of scaling though is the issue of a licensing model that supports a dynamic framework in a pay-for-usage manner. Is any consideration being given to changes on this front?

For example one of our sites is seasonal and could benefit from scaling for 1 week of the year. For the other 51 weeks the traffic is very modest. Under the current licensing model we are forced to focus on scaling up, as opposed to scaling out, as additional webfarm licences are not cost effective

Looking forward to v9!

rhutnyk commented on

Karol,

What about licenses? Should we use a license for unlimited web farm servers?

Kile Lindgren commented on

Are there going to be any adjustments to the web farm licensing to better make use of auto scale environments? Having to buy an extra license per instance just in case you need it (say you normally have 2 servers, but need to scale to 5) doesn't seem practical.