KML_FLASHEMBED_PROCESS_SCRIPT_CALLS
 

High RAM Cloud Servers for Distributed Caching

June 10th, 2014 by - 2,079 views

GoGrid has just released High RAM Cloud Servers on our high-performance fabric. These servers are designed to provide a high amount of available RAM that is most commonly required for caching servers. Like our other recent product releases, these servers are all built on our redundant 10-Gbps public and private network.

High RAM Cloud Servers are available in the following configurations:

High RAM RAM Cores SSD Storage
X-Large 16 GB 4 40 GB
2X-Large 32 GB 8 40 GB
4X-Large 64 GB 16 40 GB
8X-Large 128 GB 28 40 GB
16X-Large 256 GB 40 40 GB

 

 

 

 

 

High RAM Cloud Servers come with 40 GB of high I/O SSD storage. If you need more storage, these servers are optimized for Block Storage, where you can add volumes as large as 12 TB.

Why cache?

Caching servers are typically used to improve the performance of web applications. If a particular query or request for an object is slowing down a web application, the theory is that pulling a known result from the cache will be faster than querying a database where the result is stored. In particular, most caching servers keep objects resident in-memory, which typically performs faster than disk. The cache stores small pieces of data in-memory for low-latency access. The caching server doesn’t replace the app server, so you’ll need infrastructure for those. Using a caching server was one of the techniques employed by the Silicon Valley “Rescue Squad” to improve the HealthCare.gov website.

Cache-Server

A High RAM caching server typically sits between the app server and the database.

More than Caching Servers

Memcached probably comes to mind when considering caching servers. It’s a popular open-source distribution that’s commonly used to speed up web applications. The ability to deploy up to 256 GB of RAM on one High RAM server makes this an attractive option for Memcached deployments. However, there are other options to consider when using High RAM Cloud Servers.

MongoDB

MongoDB is part of our 1-Button Deploy™ technology that leverages our SSD Cloud Servers. However, you can also choose to deploy MongoDB on your own using our High RAM Cloud Servers. MongoDB uses a large amount of RAM because it attempts to fit its entire working set into memory. There is no special configuration required to use MongoDB with these servers–it automatically knows to leverage all available RAM. If you have large working sets and don’t want to shard, you should consider using our 8X-Large or 16X-Large High RAM Cloud Servers. Because MongoDB is not a caching server, however, it will eventually persist data and 40 GB may not be enough storage. Fortunately, you can attach Block Storage easily to our Cloud Servers. For MongoDB, I recommend using RAID 10, so you’ll need to attach at least 4 volumes of Block Storage of the same size to get the right combination of large available RAM and also RAID-protected persistent storage.

Riak

Riak is also part of our 1-Button Deploy™ technology. Riak has the ability to run as a caching server; to do so, however, requires configuring Riak. You’ll need to switch from the default BitCask Backend and use the Memory Backend instead. With this change configured, Riak will attempt to use in-memory tables instead of persisting to disk. In this configuration, it’s more advantageous to use the High RAM Cloud Servers so you can fit larger tables into memory. Riak still maintains its distributed architecture in this mode, so it’s highly resistant to failure. This characteristic makes it an ideal distributed caching server because it doesn’t require any special settings to maintain its fault-tolerant architecture and can take advantage of the scalability and elasticity of our Cloud Servers.

Deploying a High RAM Cloud Server

You can deploy a High RAM Cloud Server from GoGrid’s management console or through an API call. From the management console, use the Add button and select the “Cloud Server” option. Make sure that you’re in the US-West-1 data center because that’s the only location that currently supports High RAM Cloud Servers. You’ll then be presented with a list which represents the “Server Flavor”: “Standard,” “SSD,” “Raw,” and “High RAM.” Select “High RAM” and you’ll be presented with an image selector–only operating systems that run on High RAM Cloud Servers will be available. The next screen will have some options such as the “Server Size.” Give the server a name, select the Cloud Server size you’re interested in, a public and private IP,  and hit the Next button to select your subscription term and deploy your Cloud Server.

Add-cloudserver-3

Note that the 8X-Large and 16X-Large High RAM Cloud Server options support only a limited set of x64 Linux images. You can find a list here.

Start Caching Stuff!

Now that you’ve deployed a High RAM Cloud Server, you can start installing the high memory solution that best meets your use case. Memcached, MongoDB, and Riak are all open-source projects, so you can get started with minimal up-front cost. These solutions are typically not deployed in isolation, which means you can always take advantage of the other services available on GoGrid, like SSD Cloud Servers for your application servers, Dynamic Load Balancers for load balancing traffic to your application servers, and the Firewall Service for security against intrusions and attacks.

The following two tabs change content below.

Rupert Tagnipes

Director, Product Management at GoGrid
Rupert Tagnipes is Director of Product Management at GoGrid who is responsible for managing and expanding the company’s multiple product lines. His focus is on leveraging his technical background and industry knowledge to drive product innovation and increase adoption of the cloud. He has extensive software product experience at technology companies in Silicon Valley solving data analytics and cloud infrastructure problems for customers across multiple industries.

Latest posts by Rupert Tagnipes (see all)

Leave a reply