In the past, most software development followed monolithic and server-centric architectures, meaning developers had to handle everything from provisioning to managing and scaling servers. This process was often time-consuming and prone to errors, leading to inefficiencies and increased costs for businesses. Serverless architecture was developed to address these issues, making it easier to develop and deploy applications by handling infrastructure tasks such as monitoring and managing servers. This approach is not only cost-effective but also allows applications to scale easily when needed. Many serverless providers have now emerged, offering solutions that take care of tasks like server provisioning, patching, and capacity planning. This allows developers to focus on creating valuable features. Many companies are moving towards serverless architectures because of the advantages and availability they offer. Like any technology, serverless architecture has some drawbacks. However, it has significantly changed how applications are developed by providing a scalable, cost-efficient, and simplified deployment method that overcomes these drawbacks. This paper will explore the concept of serverless architecture, its core principles, benefits and challenges. We will also discuss a case study showing how moving to serverless architecture benefited a company and when it is recommended for a company to adopt serverless architecture.
Adel N. ToosiBahman JavadiAlexandru IosupEvgenia SmirniSchahram Dustdar
Suliman Mohamed FatiMamdouh Alenezi