Core Azure Services Flashcards
(161 cards)
What is the Azure Architecture made up of?
Regions
Availability zones
What is a region
Set of data centers deployed within a latency-defined perimeter and connected through a dedicated regional low-latency network
- Each region has more that one data center (physical location)
- Latency is the time it takes data to travel, so the centers are not too far away
-Low latency network: fiber connection
In simple terms: set of data centers close together. They are not a geographic distinction necessarily, but more a loos definition to do with hardware to enable high availability
How do you choose which region to host your resource in?
1) Location of users to minimize latency
2) Features (not all available in all regions)
3) Price differs region to region
What is a paired region
Each region is paired with another region within same geographic area (except Brazil South, paired with South Central US)
If primary region has an outage, you can failover to secondary region (outage failover)
Only one region is ever updated at one time
What are availability zones
Unique physical locations within a region. Each zone has its own power, cooling and networking. Each region that supports AZs has minimum of 3 zones to protect against data center failure
Requires your service to be in all AZs
Part of the high availability approach of Azure
What is zone redundant storage
Automatically replicate across zones
What are Resource Groups?
Everythin in Azure is in a resource group (which is a container, not a resource), allowing you to manage them all as a group.
What are the features of Resource Groups?
1) Each resource can only exist in a single resource group
2) You can add or remove resources to any resource group at any time
3) You can move resources from one group to another
4) Resources from multiple regions can be in one resource group
5) Can be used to manage access control
6) Can interact with resources in other groups
7) A resource group is no a resource itself, but has a location/region as it stores meta data about the resources in it
What is Azure Resource Manager (ARM)
Deployment and Management service. Underpins everything to do with creating, updating or deleting resources
If you interact with any resources,this goes through ARM (whether you access via portal, PowerShell, API or SDK), meaning any change will be available across all tools
What is the benefits of ARM
1) Group Resource handling: You can deploy, manage and monitor resources as a group
2) Consistency: deploying resources from various tools will always result in the same consistent state
3) Dependencies: define dependencies between resources to make sure they don’t impact one another
4) Access control: built in features in the ARM make it easy to assign access rights to users
5) Tagging: for easy identification for future scenarios
What is a benefit of resource groups?
Can clean up easily by deleting a whole resource group rather than deleting individually (when you provision a resource, other resources are provisioned alongside it to enable it to run)
What is significant about Resource Groups?
They aren’t resources, but all resources must be in one. Resource groups cannot be moved between regions
What is the purpose of Resource Manager in Azure?
Any creation, update or deletion of resources is done by ARM. It is the common architectural layer which all commands go through to interact with a resource. It manages all resources on azure, and is the only tool to create resources.
When can you remove a resource group?
At any time
What is compute
Service that allows any computation in the cloud
Compute: What is a Virtual Machine
Computer you ave access to exclusively, but doesn’t have exclusive hardware (Multiple VMs can run on same hardware)
Compute: What are the features of VMs
1) Part of IAAS offering, so you manage everything except hardware
2) Tools: Use portal to manage large number of VMs (even in hybrid cloud)
3) Compliance: Use Azure blueprints to make your VMs comply with guidelines
4) Recommendations: Azure will recommend improvement to ensure better security, higher availability and greater performance
Compute: How are VMs prices
Calculated hourly
The more CPU/RAM you use the more you pay per hour
Compute: What are the pros and cons of VMs
Pros
1) Control: Use VMs when you need to control all aspects on env/machine
2) When you want to install specific app on your Windows/Linux machines
3) You can move existing resources and VMs to Azure from on-prem/other cloud provides
4) No maintenance of hardware
5) Only pay for what youu use
Cons
1) Not for everything. If there is an option to use an Azure service, its often worth it
2) Lot of maintenance
Compute: What are Scale Sets?
A pool of identical VMs that can be activated or de-activated as needed
Lets you create and manage a group of identical, load-balanced VMs. A baseline VM for the scale set ensures application stability, and this is what you copy to make up the scale set.
Compute: What are the benefits of using scale sets?
1) Multiple VMs: simple to manage multiple identical VMs using load balancer
2) High availability: if one VM fails or stops, the others will keep working
3) Autoscaling: automatically match demand
4) Large scale: can run up to 1000 VMs
5) No extra cost for using scale sets, only pay for additional resources
Compute: What is a use case for Scale Sets?
Online store runs on a VM. Traffic increases in the evening. Scale set would monitor your usage, and ensure you have enough resources and VMs when you need, and remove them when traffic reduces to save you money
Compute: What is App Services
Part of the PaaS offering, Azure App Service is a fully managed web hosting service for building web apps, mobile back ends and RESTful API without managing infrastructure. Offers scaling and high availability. Is a fully managed platform, so servers, network and storage is managed by Azure, you just worry about business value and logic
Compute: What are the three categories of app services
1) Web apps: websites and online apps hosted on Azures managed platform. Runs on windows or linux, supports lots of languages and uses Azure integraton for easier deployment. Support autoscaling and load balancing
2) Web apps for containers: deploy and run containerized apps in Azure. A container is a completely self-contained unit of software, so al dependencies (codes, units etc) are shipped within the container. You can deploy anywhere with consistence experience
3) API apps: Expose and connect your data backend. It is a software application with no graphical component/UI/front end. Connects other applications programmatically. Use a range of programming languages