Data Gravity: Data is growing exponentially. Moving large chunks of data around doesn’t make sense anymore. You need to move compute to data. How?

Containers: Containers can start modules in milliseconds, so they can perform their function in seconds, and then tear down quickly. Hundreds, even thousands of containers can easily be started. What's inside a container?

Microservices: Microservices are small composable compute modules that can be glued together on the fly. Microservices are completely mobile. They can gravitate to wherever the data is. Containers make this happen.

A deep point is made that for this model to work you need to retool your organization. Your people need to be empowered to think in this new way. Organizations that can make this approach work will lap other more backwards organizations that are stuck in their siloed/monolithic/command and control worlds.

It all fits together nicely. What do you think? Is this the future? Or just one possible future?

Reader Comments (6)

I would love to see the day when SSD's come with maybe 4 gigs of ram, and a 4 or 8 core ARM chip. This would allow some filtering of data before sending it further downstream. Or compression etc. RAM is only $10/gb and ARM chips are cheap and low power.

Great post and def thinking in the right direction. At Coho we have already started doing this with a few large companies leveraging containers as our CTO goes into it with this blog post here: http://www.cohodata.com/blog/?p=629

The last paragraph on that Data Gravity post shows what this is all about (so far): "There are many other things that Data Gravity might be able to be used for, so I’m looking for ideas from the community and would like participation from anyone with ideas." To me this reads similar to "Look, I got a nice solution here. The only thing I lack is a problem."

Great post. Indeed it all fits nicely together, and it's a sensible way to avoid latency bottlenecks associated with moving data around, coupled with on-demand computation offered by the container model.

I couldn't help but think though that this convergence has already been in practice (albeit at a very small scale) for quite a few years: In-memory data grids (**Disclaimer: I work for GigaSpaces, an IMDG vendor). Your modern IMDG nowadays (Coherence, GigaSpaces, or GemFire) is expected to provide all three concepts combined: Co-location of code (services) and data via a federated set of JVM heaps, while these JVM's themselves have thin containers around them to act as grid partitions or shards. Finally, gravitating code to the data happens through Map/Reduce or Scatter/Gather type code that is serialized over the network and executed within each JVM in parallel.