Welcome to AWS Intermediate, all you need to to start DevOps with AWS. Before we proceed, I want to find out, what do you think is the benefit of cloud computing? We've covered it in more details in AWS Introduction course. If you haven't taken that, please go and take that course, first, before proceeding, and leave a comment below. I want to hear your opinion.
What is the benefit of the cloud? Here's my list. Cloud is very elastic and scalable. It allows you to scale up and down. You have better availability and disaster recovery capabilities than in some infrastructures. It depends how you construct them, but typically, you have better numbers.
And then you don't require capital expenditure. You can work from anywhere. You reduce time to the market. It's easier to use, and you benefit from the automation and the massive scale. We have few major cloud providers. The market has been consolidating for a few years now, so we have Microsoft Azure, Google Cloud, and Amazon Web Services.
There are several types of cloud computing. Most developers, when they talk about cloud, they talk about infrastructure as a service, IaaS. Other developers might be talking about platform as a service. The difference is big. Platform as a service abstracts a lot of things, a lot of complexities for you, and provides you with a environment in which you can deploy your applications. So basically with a PaaS, all you need to do is provide code and maybe configure just a little bit, and in infrastructure as a service, you have to do a lot of things yourself.
Then we have backend as a service, or BaaS. Backend as a service, it's even easier to use than a PaaS. All it's doing is providing you with a URL to connect to a database and, obviously, interface to use that database. Then you have functions as a service. Functions as a service allows you even more abstraction than BaaS or PaaS. Abstraction meaning you don't do a lot of configurations, and it's very granular.
With functions as a service, you would just provide a function. Another name for functions as a service is serverless because there is no instances, there is no servers to maintain, manage, deploy, provision, et cetera, et cetera. And the last type of cloud computing is software as a service. This is the cloud computing category which offers the least amount of customization, but it's very user-friendly, and there is very little that you have to do, you have to maintain. Basically, most of the things, they are maintained for you.