Cloud instances are the “tmp files” of 2013
For those who don’t know, Pallet is a fascinating take on programmatic automation of infrastructure, (written (in Clojure)). We like it a lot and it powers some of our eReceipt infrastructure. It flips the model of Chef and Puppet to some extent, so your programs become really aware of their environment and can scale themselves.
One comment from Antoni really hit home for me that day:
Creating instances is so inexpensive now that you can start to think of them in the same vein as we used to think of ‘creating a tmp variable’.
If you mull on that for a minute you start to re-think how you architect things in fundamental ways. E.g. Instead of trying to fix nodes, just nuke them and start a new instance!
When the price of something becomes so cheap that you can afford to throw it away (or recycle it) rather than fix it, the game often changes. This can sometimes be bad, when all of the costs are not accounted for (e.g. it doesn’t seem right to ship water in plastic bottles from Fiji… you know, for the environment). When the flywheel is positive though, innovation can happen.
Imagination and Creation
When I think about what makes humans interesting and different, a lot of it comes down to the fact that we can imagine and create. What does that mean?
You can make something appear in your head. If you read the word “Elephant” it has probably just appeared for you. This is pretty awesome, being able to place different realities into your mind
You can go even further than that, and create an image in your head of something new… a creation! It is pretty amazing that we can come up with new creations isn’t it?
I was looking at Joyent’s Manta service, which combines the worlds of compute with object storage. This unification is very interesting, and it made me think of creation in the mind.
What will be created in a world where it is cheap to scale computation tied to the data that you need?
With Manta I can create these worlds that contain the data that I need, with the environment surrounding the data. E.g.
I have this archive which contains the data that I care about as well as some node.js programs. Start up a few thousand instances of that world and Map Reduce (“OH: split and concat in Unix terminology ;)”) across them.
And just like that, you conjured a new universe, output a new creation, and the party moves on. As the technology matures the conjuring infrastructure is going drastically down, which means the limits are more on your imagination.
Fortunately time has told us that the human imagination is somewhat boundless.