Join David Linthicum for an in-depth discussion in this video Why serverless computing?, part of Learning Cloud Computing: Serverless Computing.
- [Instructor] So let's talk about what's important with serverless computing. Serverless computing removes the notion of a server from the use of computing resources. Now of course there are physical servers there, cloud computing is not dealing with the lack of computers and we're still dealing with the service the server. However, we don't have to allocate the server on behalf of the application. And if you've taken other courses on cloud computing or familiar with cloud computing, you know the first thing you need to do is to allocate a platform either storage or computer, something else, a database to get these resources online for your applications.
Serverless computing is an advantage over that paradigm because we're able to allocate the functions we need and leverage the services and the servers and the hardware and the virtual resources we need automatically. So it's more of a natural and cost-effective way of building systems. Platform as a service has been doing this for years. Now infrastructure's a service provider and platform's a service provider such as Google, Microsoft, and AWS have serverless offerings. So what is serverless computing? Well, in the traditional sense, we had virtual machines, we're able to abstract the hardware, so in other words we're able to layer a single operating system that may span any number of hardware platforms and it provides utilization of the hardware much more effectively.
Containers really abstract the operating system. So containers are able to encapsulate the operating system and the application into a single bundle of memory that exists on a computer and that's also portable between computers. So containers are related to serverless but they're not exactly the same. Serverless abstracts the language runtime so in other words we're able to use any number of languages and any number of approaches to building these functions, these services and we're able to leverage serverless computing to implement them in our infrastructure as a service environment.
As we mentioned before, this is an automatic process, so in other words it gains access to the compute resources and the storage resources and the application resources that are needed to support the function. And so you can write in any language and deploy on any number of platforms and you're able to in essence, remove yourself from having to deal with the underlying details of the cloud computing platform you pick. So the benefits of serverless computing are three major. Number one, no servers to manage, so this is serverless so in other words we allocate the functions, the operating system within the cloud, the cloud platform itself will gain access to the resources you need to support those functions, provides continuous scaling, so instead of you having to spin up new machine instances, either storage or compute or another application service, you're able to in essence, fire up as many instances you need automatically behind the scenes, the operating system the cloud platform is doing that for you.
And you never pay for idle time, so in other words you're not allocating a server leaving it out there for months and having to pay for that server being on the cloud and maintained within the cloud. You're only leveraging the services, the compute, the storage, the application resources that you need to support that function.
- What is serverless computing?
- Use cases
- Platforms: AWS Lambda and Azure Functions
- Planning and building applications
- Steps to deployment