Serverless Architecture

Serverless Architecture

Serverless architecture, although the name implies running code without any servers but this name actually means the person or business system doesn’t require to provision any physical server machines or virtual machines to run the application.

Unlike traditional monolithic architecture where system components are interconnected and interdependent, in serverless architecture is loosely coupled and modular. Primarily serverless was used to describe applications that uses cloud hosted applications and third party applications such as Backend-as-a-Service (BaaS). Now it is used widely for event driven system for function triggered stateless compute containers. Like Function-as-a-Service (FaaS); used in IoT based applications. Later we’ll discuss more about the FaaS but lets look into the architectural differences between server-based and serverless architecture.


In a server based architecture, the client uses web/mobile browsers for any request. The request first goes to the web server to confirm a valid HTTP request, checks the database connection token information and credential then finally sends the requests to database with queries. The issues with this system are the components are interdependent and tightly coupled, scalability is a big issue and performance is below average. Suppose in an IoT based system performing CRUD operations for data streams of millions of data and provide the machine learning outcome and intelligent analysis wouldn’t be efficient at all. So it looks like increasing the processing power of the computer processor and all better hardware don’t make the system efficient. It depends on how you design the system!   

In serverless architecture the services- database, APIs or other third party services don’t required to be in the same system where the web/mobile application is. As an example, in the serverless architecture scenario any external company can own the data of a product, other company can maintain the customer lists. But the web/mobile application can still perform the operation though APIs. Mostly the cloud API management gateway or services of the cloud provide the functionalities for API-to-API communications. Applications can easily talk to services and databases through APIs irrespective any dependency on any modules. Hence brings the modular flavor in the architecture. 

More interestingly serverless uses event driven FaaS concepts. In this service events is triggered automatically as soon there is the change in the component. Lets say-whenever there is purchase is made the purchase functions are triggered based on the purchase event and this notification propagated to the subscribers with the purchase information. The event subscribers could be another functions, or APIs. So serverless architecture making the system efficient, independent and modular. On the other hand here are some drawbacks as well. Designing and implementing serverless architecture is complex and costly. Also integration and debugging could be tough because debugging distributed system is difficult. But serverless architecture is an efficient architectural design concept for cloud computing FaaS, BaaS and in domains like IoT, AI and Big Data etc.

Dave Reuter

Sports Dad, AI Powered Data Security/governance, Revenue generator

6 年

Debugging a distributed system is difficult, true, with dynatrace false. We have serverless capabilities in four cloud platforms and?counting to give you root cause of the issue down to the code level. https://www.dynatrace.com/news/blog/fearless-from-monolith-to-serverless-with-dynatrace/

要查看或添加评论,请登录

Farhan Shahnewaz的更多文章

社区洞察

其他会员也浏览了