Few Months ago I had a chance to contribute to a Serverless Expert Check WhitePaper where I answered a bunch of interesting questions. I thought I'll extract my answers for this post 😊 You can read the whole article here
- 1.Serverless as a term is a rather controversial buzzword: Servers are still in use. In addition, everyone seems to understand something different by serverless - for example FaaS or BaaS. So first of all the question: What is serverless for you personally?
That’s a great question. It’s just the term “Serverless” that is overrated not the idea behind it. Come on, Everyone knows that there are big fat servers behind these services. But wait, have you considered a wireless router or a cordless phone ? There are wires and cords behind those instruments but we do agree that they are wireLESS and cordLESS devices. Buzzwords tend to evolve from views and viewpoints. The view serverless sounds about right from the viewpoint of a developer. The developer just needs to care about running a piece of code per se and not about servers, network, OS, Memory, Processor and so on. The serverless platform allows you to operate at a higher level of abstraction. When a particular technology platform ( compute,data,storage etc..,) matures right to the level where its utilization does not concern on what and how it should run, then chances are that the platform is serverless. And like you asked, It can be Functions as a Service ( FaaS ), Backend as a Service ( BaaS ), Messaging as a Service, Containers as a Service and likewise. If we look behind the years of computing, we worked our way up from transistors, Logic Gates, Processors, Assembly Languages until today where programming a system almost feels natural and Serverless is just another evolution of computing. If you ask me What it Personally means, I’m gonna say Serverless is very similar to playing with lego blocks, you have all the pieces(Extensions, Connectors etc.) at your disposal.You just care about what you wanna build and that’s about it. For the rest it just works.
- 2.From a developer's point of view, serverless has many advantages, one of which is that you practically don't have to worry about the infrastructure anymore. In your opinion, how does Serverless change the everyday life of developers?
I believe serverless platform influences the mindset about ‘How we write code’. You don’t name a function as one and implement two. You do one thing and do it right. Serverless as a computing platform helps developers write code with a singular purpose. The focus shifts from writing big chunks of classes to simpler functions. In principle if this all adds up right then we should be delivering greater business value in doing what we are doing.
- 3.Developers aren't the only ones affected by the new model, especially when you think of DevOps: What are the consequences of the serverless approach for Operators/System Administrators?
In the context of SRE, running every product or service has a percentage of toil associated. Toil is usually repetitive manual work that has no significant value in the long term. A service goes down and there’s some manual cogs and wheels to be turned to bring it back again. This can be true for both developers and operators. Adapting to Serverless creates space for improving the reliability of the service. Monitoring and operations and can shift to metrics that is of more customer value than just the amount memory and CPU being consumed. So I see a potential improvement in reduction of toil and improved reliability in running services
- 4.Simon Wardley has put forward the thesis that containers and kubernetes are only a marginal phenomenon in the history of software development and could soon become obsolete, since „serverless is eating the world.“ What do you think of that?
Actually I don’t know.. But If we look at the larger picture, every piece of tech that we use tends to co-exist with another competing tech stack until one of them becomes irrelevant and obsolete. At times people simply don’t want to adopt despite the stack being very good. So it’s kinda hard to say. I hear more stories about how friends in other companies building platforms based on container stack and yea, it’s a matter of choice. I think these stacks will continue to co-exist. Whether or not one will eat the other, time has to say.
- 5.Serverless is all about scalability and the associated costs: Is it still worth using your own servers today, or is the price/performance ratio of Serverless unbeatable?
An Enterprise is backed by different kinds of software products costing between millions to hundreds of thousands of Euros. Not every product mature at the same level and every product requires a different execution environment be it on prem or cloud. And the way some products are built today it cannot be billed on a serverless model. All that it means is we can’t just do away with our servers yet..In Most cases price is not the only determining factor for driving a project forward. However New Development projects can factor in serverless platforms for building reliable services amongst other stacks
- 6.Finally, a brief look into the crystal ball: What role will Serverless play in 2020
Well 2020 is few months away and I believe Serverless adoption will continue to increase. Databases, Messaging and many other components of Software building will expand to a serverless model across multiple cloud environments & while it already does that today, I think the pace will further accelerate. Again, the number of options to choose the components of software building will increase. This all in a way democratizes the accessibility of technology to small and medium scale businesses making it all affordable. At the end of the day its all about delivering incremental business value to customers. Let’s look forward to be part of Inclusive community of people doing great things and building a happier present and future