Why I don't condemn "serverless"

Many people claim that recent hype trains (especially the most recent one - Serverless) are not about actual novelties but more about re-visiting old patterns / practices & giving them new names (to make it feel like something new, maybe to claim the glory of a creator or just to sell old crap branded in a new way):

  • Microservices are new Service Oriented Architecture (SOA)
  • Deep Learning is just a new name for neural networks
  • Serverless is nothing else than PaaS (Platform as a Service) done right
  • etc.

All of these names in the left get a humongous amount of attention and ... hatred, especially from people who get clearly the parallelisms indicated in the list above.

In the opinion of many inventing all these new names is nothing more than socio-cultural marketing and brainwashing. Or plainly speaking - bullshit.

In defence of ... bullshit?

I respect their opinions, but I'm pretty far from being that strictly opposing the trend. Due to one simple fact - in many cases the original idea behind a name stays far behind the reality - weak (but clearly associated) products, bias built in during the years, unfortunate connotations (of various origins) may truly twist the common opinion in a way that's pretty much irreversible.

Examples? Here we go:

SOA & its taint

For majority of tech people I know SOA is synonymous with ESB. It's enterprisey, expensive, it's an entity (a "Bus" that exposes services) and the goal is to control the integration in tight grip. And even those who get that you actually don't have to centralize your integration using such a big tangle of madness, treat SOA as a way to expose all your back-end's functionality in a uniform way - it's partially true, but we're omitting some very important issues:

  • independence
  • isolation
  • distribution
  • state management, etc.

    These very rarely appeared in the context of SOA, but introducing the name term of Microservice has helped a lot with getting a new perspective, a better focus on what SOA was intended to be since the very beginning of this concept (I guess).

Neural networks - marked with their origin

During my professional career I came close to neural networks just few times - each time environment's reaction was the same: person who has dared to suggest using the neural networks was instantly classified as a freak & weirdo. After all, everyone knows that it's a purely scientific concept, detached from reality, without any option of practical application.

Again - the label is stuck, trying to remove it seemed truly hopeless. But now, under the new "brand" (Deep Learning) people are willingly revisiting the old concept - most likely because they find it a next step in evolution of machine learning (something that has already proven to work & make the difference).

PaaS - going deeper

Same story for the most recent (in the moment I write this, ofc) buzzword - Serverless. PaaS has always suffered from misunderstandings & simplifications, treated usually as IaaS with locked access to OS and/or file system and some SDKs pre-installed.

"Serverless" puts much greater emphasis on full control over its granularity - units of processing / computing / storage can depend only on platform, not on physical / virtual nodes - making it more similar to sort of flexible "fabric": one can take as much of it as he needs, using the most proper (& adequate) units of measure.

To conclude

I'm not naive enough to think that there are never any commercial reasons behind such actions. But I strongly believe that naming is very important ...

... and sometimes even such a simple maneuver can help many people to change the perspective & find a deeper meaning or potential in something they feel they already know everything about.