patternMajor
What is Serverless?
Viewed 0 times
serverlesswhatstackoverflow
Problem
All the cloud providers are marketing their "serverless" solutions. The promise is that serverless is going to replace the way developers are currently develop their software, and operations manage it in production.
What is "serverless"?
Where can one learn more about it, and how it can be used today?
What is "serverless"?
Where can one learn more about it, and how it can be used today?
Solution
Wikipedia's article on serverless computing provides a decent introduction to the topic:
Serverless computing, also known as function as a service (FaaS), is a cloud computing code execution model in which the cloud provider fully manages starting and stopping of a function's container platform as a service (PaaS) as necessary to serve requests, and requests are billed by an abstract measure of the resources required to satisfy the request, rather than per virtual machine, per hour.
The idea is that a developer shouldn't need to care about the server infrastructure at all. The cloud provider manages the physical servers, the operating system used and all the traditional difficulties involved with running a server.
Serverless computing changes your architecture from thinking about what machines are doing to what functions are doing. AWS Lambda is the example that comes to mind - you pay for and run functions, without any mention about what type of physical infrastructure is running below. There are also competing serverless hosts such as Azure Functions (or you can simply search if you're not interested in either of those).
There are quite a few advantages to serverless (although you do need to write in a slightly different way than you're used to in some cases, because it's a totally different architecture):
-
Scalability essentially comes for free - because you're just paying to run a function, the cloud provider can easily dedicate more hardware as needed to run your code. You can also potentially scale as demand rises, rather than paying a fixed rate whether your application is used once or a million times.
-
The server software and hardware no longer needs to be managed by a developer - the cloud provider handles that. If you've ever used something like Arch on a server, you'll know how easy it is to wipe out a critical package and break everything!
-
It frees up developers to focus on what they're good at - code. Most developers probably won't be great at both server infrastructure and programming - serverless just takes one problem out of the equation.
Serverless computing, also known as function as a service (FaaS), is a cloud computing code execution model in which the cloud provider fully manages starting and stopping of a function's container platform as a service (PaaS) as necessary to serve requests, and requests are billed by an abstract measure of the resources required to satisfy the request, rather than per virtual machine, per hour.
The idea is that a developer shouldn't need to care about the server infrastructure at all. The cloud provider manages the physical servers, the operating system used and all the traditional difficulties involved with running a server.
Serverless computing changes your architecture from thinking about what machines are doing to what functions are doing. AWS Lambda is the example that comes to mind - you pay for and run functions, without any mention about what type of physical infrastructure is running below. There are also competing serverless hosts such as Azure Functions (or you can simply search if you're not interested in either of those).
There are quite a few advantages to serverless (although you do need to write in a slightly different way than you're used to in some cases, because it's a totally different architecture):
-
Scalability essentially comes for free - because you're just paying to run a function, the cloud provider can easily dedicate more hardware as needed to run your code. You can also potentially scale as demand rises, rather than paying a fixed rate whether your application is used once or a million times.
-
The server software and hardware no longer needs to be managed by a developer - the cloud provider handles that. If you've ever used something like Arch on a server, you'll know how easy it is to wipe out a critical package and break everything!
-
It frees up developers to focus on what they're good at - code. Most developers probably won't be great at both server infrastructure and programming - serverless just takes one problem out of the equation.
Context
StackExchange DevOps Q#61, answer score: 46
Revisions (0)
No revisions yet.