From the course: AWS Essential Training for Administrators

Cloud computing fundamentals

- [Instructor] Let's begin this course by discussing basic cloud computing concepts, and understanding of these concepts will help us with the other topics in this course. AWS defines cloud computing as the on-demand delivery of IT services over the internet. Traditionally, organizations have owned IT resources and maintain them on-premises or contracted a third party to maintain them in a data center. With cloud computing, you can deploy many of these on-premises resources in the cloud, such as servers, storage infrastructure, databases, and even networking components, such as routers and firewalls. Cloud computing services are offered in different service models, such as Infrastructure as a Service, or IaaS, Platform as a Service, or Paas, and Software as a Service, or SaaS. With Infrastructure as a Service, cloud computing service providers, like AWS, in this case, will give you the infrastructure on which you can host your services. An example of this is Virtual Machines, known as Elastic Compute Cloud or EC2 instances. These EC2 instances serve as the infrastructure for your deployment. You can use these to deploy resources, such as databases, applications, and more. With Infrastructure as a Service, you are in control of the infrastructure. So you are also responsible for managing and maintaining it, like patching and applying updates. With Platform as a Service, AWS will provide you a pre-configured environment or, in other words, a platform on which you can deploy your application. An example of this is AWS ElasticBeanstalk. It allows you to supply application code written in a supported language, and AWS takes care of the deployment, including capacity provisioning, load balancing, auto-scaling, and health monitoring. Unlike Infrastructure as a Service, Platform as a Service reduces your control over the infrastructure because the underlying layer is abstracted from you. But this also means that you can focus on the important task of developing your application. With Software as a Service, or SaaS, the vendor provides you a product that is run and managed by them. This model provides the least level of control, but is the easiest to get started. An example of a SaaS product is the email services we use. As end users, we simply use the application without managing it or awareness of the underlying infrastructure. Lastly, let's talk about some of the advantages of hosting your services on the cloud. First, is cost savings. Most cloud computing services have a pay-as-you-go model, which means you only pay for the resources you are using. Some services also allow you to make upfront payments and reserve capacity in return for discounted pricing. And, not to forget, you don't have to own hardware to run your services. Another significant advantage is elasticity. To begin with, you only need to deploy the required resources without under or over-provisioning, which is a common occurrence with on-premises deployment. As your requirements change, you simply scale up or down. Cloud deployments also bring in agility. A lot of the services you require are already available in the cloud, for example, databases, container environments, machine learning tools, integration tools, and more, so you can quickly get started without having to develop these applications. Cloud computing services can be deployed in different regions, so your applications can be fault-tolerant and highly available. At the time of this recording, AWS services are available in 25 regions. And last, but not the least, is security. Cloud computing vendors have built-in mechanisms and deployable tools to protect your applications and workloads from threats. So you can see, cloud computing brings in some significant advantages compared to on-premises deployments. Now let's talk about the AWS Cloud.

Contents