What is Serverless?
Serverless is a term used to describe a set of cloud services that provides an abstraction where developers use APIs and other backend services that provides them an easy interface to deploy their applications. Instead of using the server processes directly, developers rely on these APIs and other third party services that abstract away all the complexities, to deploy their applications. From an operational point of view, there is no need to manage servers running 24/7 for the applications. Serverless provides an on-demand pay by executions pricing model which completely transforms the cost structure associated with deploying applications. For more information on Serverless Architectures, we recommend this article on MartinFowler.com.
What are different types of Serverless services?
The most popular Serverless cloud service is Functions as a Service (FaaS), popularized by AWS Lambda and now offered by other cloud providers like Microsoft, Google, Zoho and others. Backend as a Service (BaaS) also falls under Serverless and offers an ecosystem of services needed for rich client applications like single page web apps and mobile apps. The term Serverless spans many different cloud services like Storage, Database, etc..
There are many advantages to using Serverless technologies for both small and large organizations. They are:
- No operational costs
- High developer productivity
- Faster time to market
- More fine grained cost structure
What are some of the use cases for Serverless?
Serverless applications started out as event driven applications but, slowly, expanding to support more use cases. Some examples are:
- Rich web applications and mobile applications
- Event driven applications
- Media processing
- Machine Learning and Artificial Intelligence workloads
Does Serverless help SMBs?
There is a perception that Serverless technologies are more useful for enterprises than SMBs. Actually, the reverse is true. Serverless technologies help developers build sophisticated applications without incurring any capital expenditures. In other words, Serverless levels the playing ground for small businesses as they can build enterprise grade applications without any capital expenditure and very low operational expenses as they pay only for the execution of their applications. Serverless also opens up new opportunities for small businesses to build applications that take advantage of their business data.