Akshay Nihalaney
Feb 23, 2017 · 2 min read

Hi Fred,

Thanks for following thru with the series.

We are heading towards the world of Serverless architectures. With the move away from monolithic applications towards micro services architecture and from having to maintain your own server and services to moving towards the cloud, the need for the traditional ‘always on’ server system sitting behind an application has been greatly reduced.

Major Cloud providers (google, amazon, microsoft) now provide us with FaaS (function as a service), Baas (backend as a service) in ways such that we don’t need to write a lot of services we would have just 2 years ago.

For example, we wired up authentication in our system, adding 4 external providers and our own in matter of a couple of hours using firebase rather than developing our own authentication system.

The real-time firebase database is not only providing us with a traditional database, but also services directly to our front-end (web and mobile) to keep a subset of data in sync with our views. It also provides security rules that we can setup to provide authorization to our system, eliminating the need of developing an authorization system. There is no need of developing a service unless we need to do some data manipulation on the server first before presenting it to the client.

Add to that the cloud architecture brings our ability to instantly scale and not worry about maintaining servers, backup etc thereby reducing our operation costs.

So unless we need a service that needs data manipulation on the server (for security reason or any other reason), we won’t be using a traditional server based system. Even if we do, we’ll use it for the minimum segment of functionality that we can’t to on the client.

I think not having a server, does not make it any less of a real world app, in fact I would argue the other way around. If we get to a point where we need a service we’ll build create one for our app.

Some references on Serverless Architectures -