in this video, we will look deeper into the virtual machine capabilities in azure
azure virtual machines is a service that allows you to create and use virtual machines in the cloud.
Just like your laptop. You have complete control of the software running on the virtual machine.
You can install an operating system of your choice and configure it according to your requirements.
You can also install and run custom software on it. With almost no restrictions.
You manage the VM by connecting to it remotely using remote desktop client for Windows or Ssh client. For Lennox,
you can provision of VM in azure in minutes.
This is done with the help of pre configured VM images that are available on the azure marketplace.
The image is a template of the virtual machine that includes the operating system and quite often, other software like hosting environments, Web servers, databases or complete applications.
You can also create custom images for your on premises environment and run them in azure with almost no changes.
This is a very helpful way to migrate your existing on premises. Workloads to azure with low effort.
It's called lift and shift
running. A single VM for development and testing purposes is helpful. But as your offers advanced high availability features for production applications running on virtual machines.
One of those features is availability Sense.
An availability set is a logical grouping of two or more virtual machines that help you keep your applications available. In the case of planned or unplanned maintenance
availability sets use a concept called fault domains and update domains
in Azure. A fault domain is a single server rack that has independent power cooling and its own networks, which in physical hardware that provide physical separation of the workloads.
You can have up to three fault domains for your workload.
Now let's say your application has two tiers. A Web tier that has a Web server running in the first VM and a database tier that has a database running on the second via.
If something happens with the hardware in the rack, let's say, for example,
the physical server fails
your work. VM will be lost, and it'll take some time for Azure to be deployed on another hardware device.
It's also possible for the whole rack to fail if, for example, the network and switch breaks
in this case you will lose both VMS, the Web and the database.
To avoid this, you can create multiple VMS for each one of your tears and put them in availability sets
when VMS are in in an availability set. As you make sure that those get deployed across fault domains,
a failure in one of the fault domains or server racks will not impact your application.
VMS that are deployed on the second Fault domain will continue to function.
The more VMS you have prettier, the more reliable your application becomes because it leverages the complete set of faulty means that, as your offers,
the fault domains feature of availability sets is very important to keep your applications running during unplanned maintenance, where an unexpected failure can cause some of the infrastructure to become inaccessible.
The other important feature of availability sets is called Update Domain
Update. Domains are important during a planned maintenance when a VM needs to be restarted.
This may happen when new patches are applied to the host OS or new features are released into the platform.
VMS are assigned update domains by the underlying azure platform.
The assignment is done by a proprietary algorithm and users have no input for it.
The update domains indicate groups of virtual machines that can be rebooted at the same time.
In our example, V. M one and V M six will be rebooted simultaneously
after them. VM three VM five VM to VM four.
Availability sets don't have an additional cost. You pay only for the VMS that you create and place into availability sets.
Now keep in mind that single VMS that don't have as your premium SSD drives and are not placed in an availability set are not covered under azure SLS.
That is why it's recommended to place your VMS in availability sets.
Virtual machine scale sets is another service that allows you to manage a group of identical VMS.
An example of this could be a Web farm where you have multiple Apache servers running in parallel and serving user requests.
You can centrally configure, manage and update all the VMS in the scale set.
Very often, those VMS are put behind a load balancer to balance the traffic between them.
In situations where more VM instances are needed to handle the traffic, those can be added on demand or by a predefined schedule
as your load. Balancers have built in integration with the scale sets, and they are automatically configured to add the new machines to the load balancing pool.
Once the low decreases, the new instances can automatically be removed, and the load balancer can be reconfigured to not send any more traffic to the removed VMS.
Now let's look at one more as your computer service that is based on virtual machines,
as your batch can help you. When you need a large scale job scheduling service,
you can use Azure Batch to scale to hundreds or thousands of VMS simultaneously and run parallel calculations.
Typical examples are encoding videos in different formats,
rendering animations or processing large datasets on schedule
as your batch is responsible for starting the pool of VMS, installing the applications, staging the data, running the jobs, identifying failures and scaling down when the pool work is complete,
as your batch allows you to choose between Windows and Linux OS to run your jobs as well.
Now you have a good understanding of what VM based compute options are available in Azure.
In the next video, we'll look at the container options in Azure