IBM's Data Store for Memcache Service is a managed memcache service in the IBM Cloud that provides Non-Volatile Memory-based object caching to significantly accelerate cloud applications.
Cloud applications extensively use DRAM-based caching solutions, like Memcached, to accelerate their workloads (e.g., drupal, wikipedia, reddit, etc., transparently use memcache). Data Store for Memcache replaces DRAM with modern NVM storage for caching using the same memcache API, offering orders of magnitude higher capacity, at a lower cost, while maintaining performance.
Caching data in DRAM eliminates the need to access a database, providing instant results. Memcache speeds up dynamic databases used by websites such as Facebook, Instagram and Wikipedia.
Memcache was first launched in 2003, with developers to rely on DRAM to cache their data. To modernize memcaching, researchers at IBM Research-Zurich have developed a managed memcache service using non-volatile memory (NVM) in the IBM Cloud called Data Store for Memcache.
Data Store for Memcache replaces DRAM with NVM storage using the same memcache API. IBM says that the result offers orders of magnitude higher capacity, at a lower cost, while maintaining performance.
"When compared to DRAM, users can expect roughly 20x lower costs when using Flash and 4.5x lower hardware costs when using 3DXP, without sacrificing performance. In addition, Data Store for Memcache offers higher cloud caching capacity scalability," IBM claims.
To demonstrate the benefits, IBM benchmarked the performance of Data Store for Memcache against Amazon’s AWS Elasticache, which is based on DRAM, using the free versions for both, and running a client within the same availability region (dal10 for Data Store for Memcache, and us-east2 for Elasticache).
IBM evaluated performance using memaslap, a standard benchmark for memcache performance, and the results are impressive. "Data Store for Memcache is 33 percent faster on average (across all concurrent request data points)," IBM says. "For full disclosure, the specific performance improvement is dependent on many factors, such a load on servers and clients, and it only reflects the performance of the free version of AWS Elasticache."
Last year, memcaching received a lot of negative attention after hackers used the memcached protocol, coming from UDP port 11211, to amplify a distributed denial of service attack (DDos). To prevent this from happening on the Data Store for Memcache IBM implemented authentication and authorization measures that secure it against DDos and other similar attacks. They also employ encryption in transit and avoid UDP all together, which adds an additional layer of security since the default memcache protocol is typically run in a trusted network without any authentication method.
Data Store for Memcache is available now in the public catalogue within the IBM Cloud as an Experimental service with a free lite plan with one gigabyte of cloud storage capacity for 30 days. It incorporates IAM authentication and authorization, and all data is encrypted at rest and over the wire. While available globally, the servers are located in the US South Region. This could impact performance based on the location of the user.