Compute Services Flashcards
What are the 3 main compute options?
Virtual machines
Containers
Azure functions
What is a virtual machine and what is the ideal use case?
A virtual machine is infrastructure as a service where you can use a virtual server. You can customise the software running it. It is ideal for when you want:
Total control of the OS
The ability to run custom software
To use custom hosting configs.
Despite not needing to buy and maintain physical hardware, what do you still need to do on an ongoing basis?
Configure, update and maintain the software that runs on VMs
How can you rapidly deploy a VM?
Make use of a VM image - a template to create a VM that may include OS, development tools or web hosting environments.
What is a VM scale set?
A VM scale sets let you create and manage a group of identical, load-balanced VMs.
What are VM availability sets for and in what 2 ways can they be grouped?
Availability sets are another tool to help build resiliency and availbility into your cloud services. They’re designed to stagger updates and have varied power and network connectivity so you don’t lose all VMs with a single failure.
They can be grouped by:
Update domain - this groups VMs that can be rebooted at the same time. This allows you to apply updates while knowing that only one group will be offline at a time.
Fault domain - groups CMS by common power source and network switch.
What are 4 common use cases for using VMs?
During testing and development - easily create different OS and app configs
While running apps in the cloud - huge economic benefits to handling demand
When extending your datacenter to the cloud e.g. to extend the capabilities of any on prem infra.
During disaster recover - If a primary, on prem datacenter goes down then you can rapidly deploy critical apps in the cloud and then shut down when the on prem is back online.
What specs can you request in a VM resource?
Size (purpose, number of cores, RAM)
Storage (hard disk drives, SSDs)
Networking (virtual network, public IP)
What is Azure Virtual Desktop?
A desktop and application virtualisation service that runs on the cloud. You can use the cloud-hosted version of Windows from any location.
What are the benefits of Azure Virtual Desktop?
Security - no files are stored and can be accessed locally using Azure Active Directory and multi-factor authentication
Access - access the files from any device with internet
Savings - you can have multiple users on the same VM
What are containers and why are they useful?
Containers are virtualisation environments that allow you to run multiple instances of an application on a single host machine. Virtual machines on their own can only run with one OS/ On VMs you have to maintain the OS whereas with containers.
Furthermore, typically, a single app isn’t going to utilise a VM more than 10% which is a waste of money. You can deploy multiple apps in different OSs and drive up the VM utilisation. The boundary between apps can partition CPU and storage but it’s not a security boundary.
Large apps are moving towards providing microservices within them. E.g. Search, customer service, streaming. These might all be built in different languages therefore deployment can become complex. You can use docker containers to deploy each microservice in.
What is Kubernetes?
Kubernetes is a container orchestrator meaning they have an API that you can push your containers to and they will push them onto VMs in a much more efficient manor.
What are Azure spot VMs?
If you are processing a bunch of records, for example, or doing a job that can be interrupted at any time then spot instances allow you to make use of Azure’s available capacity at a discount. Azure will kick you off however if the VMs are needed elsewhere..
How long can you reserve an instance for?
1 or 3 years
What are good solution design principles for maximising availability in azure?
Maximising the chance that apps are available when user need them. Use availability sets and scale sets. You can create a scale set and distribute an app across multiple AZs.