Serverless Architecture

NithyaSri S May 09, 2022 | 11:30 AM Technology

Serverless architecture (also known as serverless computing or function as a service, FaaS) is a software design pattern where applications are hosted by a third-party service, eliminating the need for server software and hardware management by the developer.[1]

Figure 1. The Overview of Web Scraping

Figure 1 shows software design that allows developers to build and run services without having to manage the underlying infrastructure. Developers can write and deploy code, while a cloud provider provisions servers to run their applications, databases, and storage systems at any scale.[2]

Benefits and Challenges of Serverless Architecture

  • Cost
    Cloud providers charge you on a per-invocation basis, so you’re not paying for unused servers or virtual machines.
  • Scalability
    Function instances are automatically created or removed in response to traffic variations, within the boundaries of concurrency limits.
  • Productivity
    Engineers who use serverless can simply deploy their code without having to manage any servers, which helps accelerate delivery cycles and rapidly scale company operations.

There are also some challenges associated with serverless architectures:

  • Loss of Control
    In serverless environments, you lack control over the software stack that your code runs on. If a hardware fault, data center outage, or other issue impacts one of your servers, you’re dependent on a cloud provider to fix it.
  • Security
    A cloud provider may run code from several of their customers on the same server at the same time. If the shared server isn’t configured properly, your application data could be exposed.
  • Performance Impact
    Cold starts are common in serverless environments, adding several seconds of latency to code execution when functions are invoked after a period of inactivity.[2]

Limitations of using serverless architecture

Serverless architecture isn’t perfect. It’s still an evolving architecture, leaving some not ready to adopt.[3]

  • Long-running application inefficiencies
  • Third-party dependency
  • Cold starts
References:
  1. https://www.twilio.com/docs/glossary/what-is-serverless-architecture
  2. https://www.datadoghq.com/knowledge-center/serverless-architecture/
  3. https://newrelic.com/blog/best-practices/what-is-serverless-architecture
Cite this article:

NithyaSri S (2022), Serverless Architecture, AnaTechmaz, pp. 63

Recent Post

Blog Archive