(lively music) Welcome to cloud architecture components. In these lessons, you will learn about cloud computing and components available in the public cloud. You will learn about the types of virtual machines available, how to create a cloud virtual machine, the different types of cloud storage and the requirements for each of them and the relational and non-relational database options on the public cloud. A virtual machine or VM is created on a physical computer. It has access to the computers hardware using software called the hypervisor. One huge physical computer can run thousands of virtual machines on it. The benefits of using a virtual machine include, allocating RAM on demand. You can easily assign more compute power, or random access memory to virtual machines from the physical server. Backup, you can take the backups and perform a restore action in the event of failure. Cost reduction, you can run different operating systems on the same hardware. For example, you can install Linux OS and MAC OS on the same physical computer on different virtual machines. Isolation, you can easily isolate each VMs resources from other VMs. All public cloud vendors provide virtual machines or servers otherwise known as instances. For our purposes in these lessons, we'll look specifically at the example of Amazon Web Services and it's Amazon Elastic Compute Cloud instance. The Elastic Compute Cloud instance provides a way to run elastic virtual servers on the public cloud. You have the option to configure and control the networking and security group, and you can control what ports are open and should receive traffic. Amazon also provides the auto-scaling feature. The auto-scaling feature helps you run the application on the higher number of elastic compute cloud instances, also known as virtual machines or servers in the event of load or traffic capacity. Once the load decreases, you can reduce the number of instances or virtual machines you use. This means you will only pay for the higher instance count during the load. You can deploy the application on the elastic compute cloud, and then attach it to a load balancer, which efficiently distributes online traffic across multiple virtual servers. Elastic compute cloud also provides a health check. If one virtual machine or server is down, then your load balancer will continue servicing the traffic from another instance. Amazon provides elastic compute cloud instances based on what is known as an instance family. There are several instance family options, including general purpose. This type of instance is recommended for the normal workload application. The instance family includes T2 and A1. Compute optimized. If your application needs more compute power, then you should use this instance family. The instance family include C5 and C4. Memory optimized. If your application needs more memory, then you should consider using the R5 or R5 series. And storage optimized. You can use the storage optimized family for storage intensive applications. Amazon Elastic Compute Cloud service is available in 25 regions and 81 availability zones globally. Amazon Web Services provides a 99.99% service level agreement commitment, which is the measure of the guaranteed running time or uptime for the service. You can also easily create the image of an instance and configure it to take automated volume snapshots, which will help you recover the instance in the event of a failure. Amazon Web Services provide several models to set up your instance or virtual server. On-demand. You can request the instance at the on-demand price. You can specify all the parameters and then ask Amazon Web Services to create the instance. It should be ready in five to 10 minutes with most operating systems. You can also create the instance using the CloudFormation or Terraform templates. Spot instances. Amazon Web Services will provide the excess capacity to meet the demand. And you can take advantage of the excess capacity with a spot instance. This model is especially suited to run batch analytics, but it's not ideal for deploying your application. Reserved instances. You can reserve instances for one, two or three years and run your application on it. The price will be cheaper compared to the on-demand price. You have an option to choose your processor and RAM for your elastic compute cloud machine. You can also attach solid state drives for higher performance on your instance, or mount the elastic storage on a virtual machine. Remember you are only paying for your actual usage. So once your application is retired, you can terminate the instance and you will not be charged. Now let's explore how to create the elastic compute cloud instance on the public cloud. Log on to Amazon Web Service Console, search for elastic compute cloud. Click on launch instance. Select the Amazon machine you want. Click on the image. Configure the instance details such as VPC, network, sub-net, role or so on. Add storage. Add tags, tags are used for identifying the cloud resource for billing or any other purpose. Configure the security group. Review all the settings, launch the instance. You can also launch the instance using the Terraform or CloudFormation scripts.