We seem to run this cycle with every new technology that comes along. A good idea with practical applications is born, then both marketers and over-excited users start to declare it is the solution for all or our problems. Compliments of Gartner, we know it generally as “The Hype Cycle”, but each iteration is a little different.
2018’s flavor will be serverless computing, and by 2018, I mean starting now, but going most of next year, you’ll be sick of it. We are already seeing people write such sweeping statements as “The purpose of serverless is no-ops”. And that type of declaratory language is going to get worse. One time, very slowly: Right now, in the case of public cloud vendors, the purpose of serverless is to lock you in. It is that simple. They want to add value that will keep your dollars flowing into their coffers. And they do not at all mind if the process of doing so keeps you from moving serverless functionality to another provider.
That isn’t to say that serverless in general, or public cloud serverless specifically, is a bad idea. It has use cases, and they’re good ones. But remember to approach serverless (and every new technology that comes along with a band and streamers) with a “What can you do for me?” perspective, not a “How can I change my entire world to get you to do for me?” perspective. Sometimes, reworking things completely is worthwhile, but as time goes on there is less and less of that. DevOps shook the IT world with its level of change, and was worth it, but DevOps wasn’t a new place/way to run APIs, it was a new way of viewing IT.
Unless you are totally green-field, you will not be making a no-ops environment out of serverless. Even if you ARE greenfield, persistent data has to be stored somewhere, access to that data, backups, etc have to be managed. And inter-relationships between serverless interfaces has to be managed/tracked. While on the surface, that would appear to fall into the developers’ role, I suspect it will be more on operations, because they’re not all “When the WAF gets a call to this URI” type triggers. I am purposely not touching on security, because we could argue if that is “ops” or not.
And that ignores that some data has not yet made it to (and may never make it to) the public cloud. Internal implementations of serverless are a valid use of the technology, with some good vendors providing local support. Internal serverless is not “No-ops” in any way, it is “Different Ops”, but not very different from internal clustering, cloud, or container management.
So look at serverless, but look at it in light of your organizations’ needs. How does it help meet the goals, and where does it fit. And ignore the flashing lights and sequined talking heads, they’re just to pique interest, not meet your needs.