Will developers splash the cash for ElastiCache?

Now Amazon's ElastiCache is available in Europe, questions remain around adoption.

As readers of Virtual Clouds will know, Amazon Web Services (AWS) launched its ElastiCache service for the Western regions of Europe earlier this week from its Dublin data centre.

All well and good you say. But what kind of adoption will this functionality enjoy among the cloud focused application development community - and will its advantages be fully comprehended in the first place?

To briefly divert onto a tangent for a moment - Intel chief evangelist James Reinders has spoken openly on the subject of concurrency in parallel programming and the challenges developers sometimes have defining threads and dependencies in their software. Could the same chasm also prevent programmers from adding cache memory logic to their applications?

Amazon explained its cache clusters as being comprised of one or more cache nodes. A (cloud) web application developer then has the option to “dip” into a cluster rather than build and run their own in-house memory caching functionality.

A programmer’s incentive to do this might typically be to store critical (or just really useful) pieces of data in memory which will require frequent and regular access.

So, for example, let’s say a financial application combines the current US dollar conversion rate, plus the rate of inflation, plus the percentage increase of the FTSE100 share index as a base “market sensitivity” calculation. If the application then makes further calculations based on that initial sensitivity figure, then the figure should be cached for a given amount of time.

Amazon’s Jeff Barr explained it further, saying: “You can also cache the results of database queries. The tradeoffs here can be a little bit more complicated and will often involve the ratio of reads to writes for a given query or for the tables referenced in the query.”

“If you are implementing your own social network, it would be worthwhile to cache each user's list of friends if this information is required with great regularity (perhaps several times per minute) but changes infrequently (hourly or daily).”

So will developers be springing forward (sorry, pun intended) for ElastiCache? Those already running the popular Memcached free and open source distributed memory object caching system can “simply” create a new cluster and point their existing code at the nodes in the cluster.

ElastiCache is on the other hand neither free nor open source. But some development environments will always demand non-dynamic code library usage for compliance reasons, so AWS is ticking that box one could argue.

If a programmer is not currently using any caching technology, then they will need to examine their application architecture in order to figure out how to get started – and this argument could come back full circle to our Intel example, where developers simply don’t see the opportunities for parallelism due to the complexity of code structures already in place.

Sign up for our free newsletter