Level Up: A Guide to Kloudless Enterprise Clustering (III of III)

This blog post was authored by David Thorman, who leads Ops at Kloudless.

In our last post we covered the different options for deploying Kloudless Enterprise. When deploying Kloudless Enterprise, you would start off with a single server. However, when running any application, there is a limit to how much work a single server can handle. A server can be scaled vertically by allocating more CPU cores and memory, but eventually those limits will be reached and another mechanism to increase capacity must be found. This is where clustering is useful.

Clustering allows your application to scale out horizontally rather than up which leads to two benefits: higher throughput capacity and high availability. Clustering is made possible by running more than one Kloudless Enterprise instance behind a load balancer. A load balancer is a server that accepts requests from clients and then forwards them to the backend Kloudless Enterprise servers. This allows the client to take advantage of multiple backend servers without having to manually keep track of their hostnames. The distribution of work allows the cluster to handle a higher number of requests than a single server would, resulting in greater throughput.

Screen Shot 2015-09-28 at 8.55.00 PM

The cluster can continue to serve requests in the event of a failed secondary instance, ensuring high availability. If the primary instance fails, a secondary instance will be promoted to primary, ensuring smooth disaster recovery. Each node is capable of handling similar work, and is configured to be the same size. This means the failure of a single node will not result in the cluster not being able to serve requests.

Service interruption can be minimized by ensuring that the load balancer only sends requests to nodes that it realizes are healthy. This is typically achieved via health checks that the load balancer performs. For example, in AWS, the Elastic Load Balancer’s health checks take the form of an HTTP request to each individual node in the cluster. Nodes that either don’t return or return a non-200 status code are marked as unhealthy. This allows the cluster to handle requests successfully even though there are failures.

Thanks to the HA/DR features above, the cluster can be dynamically scaled up or down without interrupting service to clients. Adding new nodes increases capacity when your service experiences periods of higher load. Removing nodes allows costs to be reduced during periods of lower load. On certain platforms ,these changes in capacity can be handled automatically either on a timed schedule or based on metrics gathered from the cluster itself. This allows you to take full advantage of the elasticity of modern IaaS platforms such as AWS without disrupting service to your customers.

This post has covered the high-level benefits of clustering and the flexibility of a Kloudless Enterprise deployment. Our configuration guide covers the technical details of deploying Kloudless Enterprise as well as a walkthrough detailing how to deploy Kloudless Enterprise in an auto-scaling cluster. The guide can be accessed by emailing us at hello@kloudless.com. Feel free to reach out to us or comment below with any questions.

Thanks for following our Kloudless Enterprise Series!

VIP Kloud Treatment

If you built and deployed an application without contacting us, you are using our Cloud version, which is hosted on Amazon Web Services, multi-tenant, and fully managed by us. However, as the saying goes, “too many chefs in the kitchen can ruin the broth.” (This isn’t the best analogy, plus only we can ruin our broth, but you get the point.).

For a number of reasons (data security, special support requirements, etc.), not all developers want to be part of a multi-tenant facility. That’s why we’re introducing our new VIP service: the Cloud Private Install.

Cloud Private Installs are hosted on an instance in a service provider of your choice (AWS, Azure, Rackspace, etc.), with all features from the Cloud version supported. The installation is fully managed by Kloudless, including all infrastructure requirements, security updates and application upgrades. Based on the performance and availability you need, we can come up with the right instance category and bring up the virtual appliance in the appropriate regions of the cloud provider of your choosing.

Benefits of the Cloud Private Install include:

  • Superior networking performance and data throughput (e.g. Up to 10 Gbps on AWS)
  • Multi-tenant capable: CPU affinity can be optimized for either single or multiple tenants
  • Complementary proxy tool, enabling you to connect to on-premises storage repositories in your customer’s infrastructure
  • Custom SLAs and higher tiers of support

Our Cloud version and Cloud Private Install come with 99.9% uptime and a dedicated Ops team available 24/7, so regardless of which edition you’re using, you’re in good hands.

Interested in becoming a VIP? Get started with a Kloudless developer account and drop us a line at hello@kloudless.com.

https://www.flickr.com/photos/neospire/3595638270/in/photolist-ajpfMK-dZ4QZP-6tJAau-dZaCMA-j1yjj3-6tJA2d-ajpfNM-dZ4wtK-6Ta4NB-6tJzZh-6Ta4Qg-dZ5xUX-6fhifq-8Lzsie-6tEshe-dZb25U-ajs4aC-6tJAa7-jDgBDx-6tJzZS-ajs4eY-i6RYuf-5nSr4j-7MWjax-avnocW-bLXQ9c-fh3dY7-6tJA47-5scYHD-dZ4Fsx-6MhayK-4uZrYi-dZ8qHy-app8hm-38FPNk-oj1Gq-oiiLU-5szmui-6tEsgr-dZatkC-fhep2Q-ooXjK6-b3wMk-4v4vG5-oiiJx-6tEs88-c2Gpf-6tJA3W-6tEs92-6tEs9r

Loathe Latency? Updated JS Libraries and New Regions

Updated JS library URLs

We’ve switched to using a CDN to serve Kloudless JS libraries. While the old URLs work, you’re encouraged to switch to the new URLs for the File Explorer and Authenticator JS libraries.

Since a CDN optimizes for serving static files closer to your user, switching to the new URLs for either or both JS libraries will result in less latency to load the JS file. Reducing the bottleneck will give your users a better experience with the File Explorer and Authenticator.

New Regions Added

Kloudless has also added the us-east-1 AWS region in addition to us-west-2, for faster API requests as well as quicker downloads and uploads for your end users who are closer to the east coast. Sign up for your free Kloudless developer account to experience the speed yourself!

https://www.flickr.com/photos/neospire/3595638270/in/photolist-ajpfMK-dZ4QZP-6tJAau-dZaCMA-j1yjj3-6tJA2d-ajpfNM-dZ4wtK-6Ta4NB-6tJzZh-6Ta4Qg-dZ5xUX-6fhifq-8Lzsie-6tEshe-dZb25U-ajs4aC-6tJAa7-jDgBDx-6tJzZS-ajs4eY-i6RYuf-5nSr4j-7MWjax-avnocW-bLXQ9c-fh3dY7-6tJA47-5scYHD-dZ4Fsx-6MhayK-4uZrYi-dZ8qHy-app8hm-38FPNk-oj1Gq-oiiLU-5szmui-6tEsgr-dZatkC-fhep2Q-ooXjK6-b3wMk-4v4vG5-oiiJx-6tEs88-c2Gpf-6tJA3W-6tEs92-6tEs9r

We’d love to hear your thoughts on Kloudless — reach out on Twitter @KloudlessAPI, StackOverflow, IRC, or in the comments below.