KML_FLASHEMBED_PROCESS_SCRIPT_CALLS

Archive for the ‘High Availability’ Category

 

Selecting a Provider and Infrastructure for Running an In-Memory Database

Tuesday, August 19th, 2014 by

The need for database speed is always a given. Recently, application response time has been shown to not only provide customers with a better experience, but also directly impact the bottom line. Think about companies running mobile advertising networks that are paid for delivering an advertising impression to users swiping away at their mobile phones to flip to the next screen. If the ad doesn’t load, well, that equals lost revenue. For these customers, response time is mission-critical. A common solution for applications that require fast response times is to run the database in memory, also known as an in-memory database (IMDB). You can easily do so in the cloud; however, selecting the appropriate infrastructure and even the appropriate provider can be tricky. Depending on the provider, for example, there may be hidden charges, less-than-ideal network topologies, and in many cases, a poor selection of virtual machines.

image.png

So how do you choose a reliable provider? And do you know what you’re looking for in terms of infrastructure? There are 3 key requirements that will help you get started:

1. Know your database memory requirements

2. Identify your cloud provider requirements

3. Understand your infrastructure requirements
(more…) «Selecting a Provider and Infrastructure for Running an In-Memory Database»

Architecting for High Availability in the Cloud

Tuesday, July 22nd, 2014 by

An introduction to multi-cloud distributed application architecture

In this blog, we’ll explore how to architect a highly available (HA) distributed application in the cloud. For those new to the concept of high availability, I’m referring to the availability of the application cluster as well as the ability to failover or scale as needed. The ability to failover or scale out horizontally to meet demand ensures the application is highly available. Examples of applications that benefit from HA architectures are databases applications, file-sharing networks, social applications, health monitoring applications, and eCommerce websites. So, where do you start? The easiest way to understand the concepts is simply to walk through the 3 steps of a web application setup in the cloud.

Step 1: Setting up a distributed, fault-tolerant web application architecture

In general, the application architecture can be pretty simple: perhaps just a load-balanced web front end running on multiple servers and maybe a NoSQL database like Cassandra. When you’re developing, you can get away with a single server, but once you move into production you’ll want to snapshot your web front end and spread the application across multiple servers. This approach lets you balance traffic and scale out the web front end as needed. In GoGrid, you can do this for free using our Dynamic Load Balancers. Point and click to provision the servers as needed, and then point the load balancer(s) to those servers. The process is simple, so setting up a load-balanced web front end should only take a few minutes. Any data captured or used by the servers will of course be stored in the Cassandra cluster, which is already designed to be HA.

image

Deploying the Cassandra cluster. In GoGrid, you can use our 1-Button Deploy™ technology to set up the Cassandra cluster in about 10 minutes. This will provision the cluster for your database. Cassandra is built to be HA so if one server fails, the load is distributed across the cluster and your application isn’t impacted. Below is a sample Cassandra cluster. A minimal deployment has 3 nodes to ensure HA and the cluster is connected via the private VLAN. It’s a good idea to firewall the database servers and eliminate connectivity to the public VLAN. With our production 1-Button Deploy™ solution, the cluster is configured to include a firewall on-demand (for free). In another blog post I’ll discuss how to secure the entire environment: setting up firewalls around your database and your web application as well as working with IDS and IPS monitoring tools and DDoS mitigation services. For the moment, however, your database and web application clusters would look something like this:

image

(more…) «Architecting for High Availability in the Cloud»