Today, we are going to start Amazon Web Services or AWS. When you apply for a job nowadays, if you have hands-on experience in any cloud, that is a plus point. Because most of the companies are dependent on a cloud. That is, their application running and managing everything will be in a cloud. AWS is such a popular cloud. What we are going to discuss in this video is what AWS is, what type of services AWS provides, and how can we host a web application simply. So, watch the video till the end. AWS is a global cloud platform. What is a global cloud platform? For example, I have developed a web application. Everyone should use it. If so, I have to host it publicly somewhere. If I want, I can set up a computer, host it, and make it publicly available so that everyone can access that computer publicly. That computer should always be available. It should always have power. Likewise, high-speed internet is needed. After a while, many users started accessing that computer. They started using that web application. At that time, the load will increase. Then the CPU will have to be scaled up. Maybe there will be data storage. Then the storage space will have to increase. Then we will have to modify the hardware. If we do that, there is a high chance of some problems. That is risky. The cost will also increase. Without any risk, we just need to deploy an application somewhere. We can rent a computer. It's easy, right? That's how AWS gives us the infrastructure to use. We just have to pay them according to how they use it. I told you about a case where I deployed an application. Many companies run their applications like this. They use servers like this in the cloud. They develop, deploy, and manage their applications there. That's why all companies depend on the cloud. Now we are going to talk about what type of services they provide. Why do companies use AWS? There are three types of services: Infrastructure as a Service, Platform as a Service, and Software as a Service. I will tell you what these three are. The first is Infrastructure as a Service. As I said earlier, if we want to run an application, we need a computer. We need a big computer with hardware and storage space. They will give us a computer including the OS. If we get such a computer and infrastructure, we can use it in the way we want. We can install the necessary things in it. We can run the application. We can make it publicly available. People can use it. When we purchase the infrastructure, we can tell them we need this much CPU. We need this much storage space. That's how they provide us with a computer. After a while, the load will increase and we will have to scale it. We can scale it simply. The second category is Platform as a Service. As I said earlier about infrastructure, they will give us an entire infrastructure, a computer. We can do anything. In some cases, we just need to deploy a web application. We do not need to manage an entire server. In such a case, to deploy a web application, they provide a platform. For example, I have a Node.js application. To deploy that Node.js application, they provide a platform. We can deploy an application simply. We do not need to worry about the hardware and memory behind it. They will automatically manage it in the background. The third category is Software as a Service. For example, in one of my applications, I need to bring an email-sending service. I can code it and implement it. But they have already made a service in AWS. If I use that, I can simply send an email to someone. I just need to give the content of the email, the template, or who should I send it to. I can send an email. They have made software and are providing it as a service. These are the three categories. In these three categories, they provide a lot of services. I will just mention a few of them. The first one is Elastic Cloud Computing or EC2. As I said earlier, the infrastructure. They are providing a virtual machine like a computer. It needs this much CPU. It needs this much storage. It needs to install an OS. They will set it up like that and provide a computer. We can do anything with it. We can run any program. We can run an application. In this way, EC2 provides a service. Next is the S3 Bucket. Storage space, as I mentioned, we need to store some data somewhere. Suppose we have a lot of data. We can store any type of file starting from audio, video, and document. We can use S3 Bucket for that. To store data, manage it, analyze it, to deliver it. We can do it through this service. The next service is RDS. Relational Database. We can use relational databases such as MySQL and PostgreSQL by creating a database on AWS. We can use this database in our application. This is called a Managed Database. We can create and manage the database in the server where we run the application. If the database size increases, there is a risk of scaling. If you use a managed database like this, it is easy to scale and back up. Like Relational Database, they have NoSQL Database. That is DynamoDB. We can use that. Another service is... Another service is Lambda Function. We need to run a small code somewhere. For example, let's say it is a code that takes a small entry from a database. We do not need to develop an entire web application for this. There will be only an API call. For that, we can make this small code into a Lambda Function and store it in AWS. We can take data from the database through that Lambda Function. We can access many other services as well. We can manage data in the S3 bucket. We can access many other services. We can do all this in Lambda Function. AWS provides many other services like this. Blockchain, Machine Learning, Analytics, etc. It provides services for many domains. The next service I am going to talk about is Elastic Beanstalk. Earlier, we said that we could run an application through EC2. But when we take EC2, we get an entire computer. If we want to deploy a web application on that computer, let's say it is Node.js. If we want to deploy a Node.js application, we need to install all the things that are dependent on Node.js. We need to set up an environment and manage it. Without taking this risk, what if they give us a platform just to deploy a Node.js application? It will be very easy. We do not need to worry about the infrastructure. We just need to develop the code and deploy it. Elastic Beanstalk is used for that purpose. With this service, we can deploy this application in Node.js, Python, PHP, C-Shub, Ruby, Java, etc. They provide such platforms. We just need to select the technology. It will automatically set up the environment and background for it. Then we just need to push the code into it and run it. I will explain how to deploy a web application through Beanstalk in detail in the next video. Before that, you can explore AWS. If you have already explored it, you can create a new account. After creating the account, you can explore the service. If you are a newbie, you can create a free account when you sign up. It gives you a free tier option. After creating it, you can explore AWS for a year. Even if it is free, you cannot use it unlimitedly. There are some limitations. For example, I am purchasing an EC2 server. I will get only a small server for free. If you want a big server, you will have to pay money. But as a beginner, you can get a small server for exploring. Create an account and start it. We can host a web application and make it live in the next video. So, see you in the next video. Until then, bye.