eGloo blog    Archive    Feed

Morphogenetic Engineering at Internet Scale - Aerospike Case Study

This is part of a continuing series of posts and case studies where we examine technologies eGloo is utilizing to develop self-programming and self-assembling information systems at Internet scale.


Technologies in Focus: AerospikeDB

Brief

Most information systems benefit from a sensible organization of the IO stack according to the structure of the stored data, its relationships (internal and external) and its read/write demand within the system. We have specific business requirements regarding responsiveness, auto-scaling, fault-tolerance and programmatic interfaces lending to morphogenetic programming. As such a fast and scalable NoSQL key-value store is an important component of a larger information storage and delivery solution. After reviewing several options, Aerospike was the clear choice for that role.

Objectives

Challenges

As a startup, our challenges are both technical and existential. In short, we must:

Aerospike allows us to achieve our stated objectives while mitigating the very real challenges of being a startup.

Other Technologies Considered: Memcached, Redis, MongoDB

Before going into the reasons we settled on AerospikeDB, it's worth discussing the reasons we dismissed three of its primary competitors for our use case.

Memcached

Memcached is an old tried-and-true workhorse. Its biggest benefits are:

However, there are several drawbacks for our use case:

Given our desire for a high degree of automation, low TCO and morphogenetic application engineering, memcached is not the best solution for us.

Redis

Redis has a lot of really great features going for it, including:

However, it has drawbacks similar to memcached:

MongoDB

MongoDB has become the poster child for NoSQL databases. Its biggest benefits are:

We gave serious consideration to MongoDB as our engineers have extensive experience with it in production settings in the past. However, drawbacks include:

Solution Overview

After much research, experimentation and speaking with other users, we settled on AerospikeDB. Its biggest advantages are:

Best of all, it's now a supported click-to-deploy service on Google Cloud Engine, our preferred hosting provider.

We would be hard-pressed to identify any disadvantages. Aerospike is a fantastic product, well-supported, has many interfaces for various languages, a fair licensing model, minimal overhead in terms of hands-on management and their community outreach is phenomenal.

If, like us, you're developing Internet scale platforms that depend on information storage and delivery with strict requirements for performance, scaling, reliability and loose coupling for self-programming/self-assembly, Aerospike is the best solution we've found.

If you liked this post, you can share it with your followers or follow us on Twitter!

comments powered by Disqus