From DevOps to NoOps
Welcome to the world of NoOps
Amazon upped the ante for application development on Amazon Web Services (AWS) on Thursday, with the launch of a new service that lets developers write event-driven code without having to manage any infrastructure. Dubbed AWS Lambda, the new offering allows developers to compose applications by writing functions that are …
If you care about your data, you'll put it somewhere else too.
It isn't exactly rocket-science to copy an S3 object to somewhere else, is it?
Sure, Amazon may 'crash'... and any infrastructure will screw up, so I'm not sure what the big deal is. Amazon isn't any more likely to do so than your home-brewed infrastructure.
But, I hear you ask, what if Amazon goes out of business! Well, the thing about Amazon, Google etc is that they're now a little too big to fail. If they disappear, then so does an increasingly large chunk of business, which is a neat little negative feedback loop to ensure it doesn't happen.
It's a bit like the power station problem. We could deal with a few hours of outage now and again, but a 2 week outage would probably end our civilisation.
So is this, like, a production system for the cloud?
At launch, the service supports writing Lamba functions in JavaScript – specifically, Node.js
Most shitty idea every. Bad client-side language and a worse framework from Sophomore Acme Productions that tries to lift it to a server-side language and just creates problems in concurrency and exception handling ready to snag the poor sods that decided to invest in it.
Proper actor languages? No, we are catering to people who think JavaScript is COOL and STARTUPPY.
Not even once.
Until now, the concept of cloud computing has been to just replicate 1990's client/server technology onto the data center. This has mainly been LAMP stacks, and as companies like Facebook are finding out, this allows you to scale bandwidth but with correspondingly scaled costs in electricity, storage, and complexity, requiring very high hardware and manpower costs to get anything close to what one would call reliable.
Functional Programming
Functional programming has been working in the cloud for decades now, in equipment that doesn't get regular media coverage because, well, because it works. Systems like Erlang have been designed from the ground up to work in a deterministic and distributed architecture back when cloud meant weather pattern.
The only serious mistake being made here is supporting interpreted languages like Java and even worse, Javascript. At these scales, only compiled and strongly typed languages should be allowed to make the bindings between these powerful services.
NFS4
This filesystem allows your application to control extremely large amounts of storage without being directly in the fat pipe between client and server - only the metadata is used in the control functions. The world will soon see what scalable architectures are capable of.
At this juncture if anyone can make 'cloud' work, it is AWS, as Amazon has been self hosted on this since almost the beginning, as opposed to the competitors for whom third party cloud is a separate business unit.