By IT Brew Staff
less than 3 min read
Definition:
Serverless computing is a cloud-development model in which software developers build and run their applications and services on a third-party cloud provider’s infrastructure (such as Amazon Web Services or Microsoft Azure). With serverless computing, however, the developers don’t need to worry about configuring or provisioning their servers; instead, the cloud provider handles everything from provisioning and maintenance to security patching and load balancing.
This is a change from previous iterations of cloud development, which required developers and other IT pros to handle server management tasks, even if those servers were owned by a third-party provider.
The term “serverless” is a misnomer of sorts, as software development still requires servers. But from the developer’s perspective, the responsibilities related to server provisioning and maintenance are largely invisible.
Pros and cons
Because they don’t need to configure and manage servers, developers have more time to focus on actually building and iterating apps and services. Serverless architecture can also scale seamlessly, which is a huge benefit if a product gains users rapidly, and developers can quickly deploy new updates.
However, there are some downsides to serverless computing. First, the serverless environment can make it more difficult to effectively test and debug software products since developers don’t have a view into the backend. Because third-party cloud providers may run multiple clients’ code on the same physical servers, there’s also the risk of sensitive data being exposed. And there’s always the prospect of vendor lock-in if a development team relies on a single third-party vendor for their cloud server needs.
Function-as-a-service (FaaS)
Function-as-a-service (FaaS) is a version of serverless architecture where developers can write self-contained, project-specific backend functions and deploy directly to a third-party provider’s cloud infrastructure. When an event related to a function is initiated (such as an HTTP request), the function will execute before going idle again. This is very useful for developers who are building microservices.