What is serverless?
You must be reading and hearing a lot about serverless design and must be thinking what in the world people are talking about. So to demystify, first of all, there are still servers involved in the serverless world. I know, how disappointing. The change is that you are not involved with the servers and their management overhead.
If you ever dealt with Cloud computing flavors, you must have said at one point that this is not as easy as it sounds. That would be correct in most context. The cloud computing models that exists today in most forms is just an on-demand procurement of virtual machines or a piece of hosted software. Well, accounting was also changing since it was an operational expense and could be adjusted up or down. So, yes from procurement and accounting standpoint it was a big shift. From technology and maintenance standpoint it was not as big of a shift since you had to manage security, patching and worry about capacity.
With new serverless options, you are just worried about writing code and deploying it in simple manageable chunks without any maintenance overheads. AWS Lambda is the pioneer that changed this game big time. In Lambda you have the choice of several languages and you just write a simple piece of code and plug it into a web-based editor. Billing is simplified as well, you literally pay for the compute capacity that you consume. That is when your code runs, on the capacity of the machine and the time it takes to complete execution is what you are billed for. You never worry about patching, scaling etc. This is the real cloud way of building your system. Since you do not care about managing servers it has been coined as "Serverless".
For Businesses, it means faster time to market, lesser fixed cost overheads and no need to have infrastructure folks just to manage their cloud infrastructure. So it is definitely a win-win for both business and technology both.
Serverless architecture works with functions as the individual unit of deployment and is triggered on events. Within AWS you can link this to other actions on AWS resources or tie this to an API call with the Amazon API gateway. You also have Azure functions that you can utilize to achieve this new architecture. Your cost reflects true usage of your logic and function calls. Big relief to the infrastructure folks and amazing way to create stateless logic for the developers. Try it and share your experiences. Good luck.
http://docs.aws.amazon.com/lambda/latest/dg/best-practices.html?sc_channel=sm&sc_campaign=Serverless,PAC_Social&sc_publisher=FACEBOOK&sc_country=Global&sc_geo=GLOBAL&sc_outcome=adoption&trk=sm_PAC_0921_Lambda_Best_Practice_Doc_FACEBOOK&sc_content=PAC_0921_Lambda_Best_Practice_Doc&sc_category=AWS_Lambda&linkId=42588476
This is amazing technology from amazon.
Great article.
Nice article Manish.