Core Azure Services Flashcards
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
Compute: What are Azure Container Instances
It is a PaaS offering that allows you to upload your containers and execute them directly with automatic elastic scale.
Helps to mitigate dependency madness when you want to run software on different environments, as a container provides all the necessary dependencies (framework, OS etc) allowing it to run on any machine. As they are relatively small, you can have several containers on the same machine, with each container being a single, self contained application
Compute: What are the features of Azure Container Instances
1) Manage application dependencies: all the dependencies for an application are included in the container image. You can manage the application and its dependencies with confidence
2) Less overhead: VMs require a lot more maintenance and updates. Containers don’t have any components relating to the OS that require maintenance
2) Increase portability: applications running in containers can be deployed easily to multiple differ OS and hardware platforms
3) Efficiency: Development, deployment and maintenance are all more efficient when using containers. Scaling and patching is much simpler
4) Consistency: the operations team can rely on containers being the same every time, no matter which target they are being deployed to
Compute: Explain the workflow for Containers on Azure
1) Create a software application via SDC
2) Wrap it in a container image
3) Deploy/publish to Azure Container Instance
Compute: What is Azure Kubernetes Service?
Open source, container orchestration system for automatic application deployment, scaling and management
Allows you to manage lots of containers simultaneously
Compute: Why choose Kubernetes
1) Replicate container architecture: reuse your container architecture by managing it in kubernetes. This makes you setup quicker and confidence in the system increase
2) Scaling
3) Stagger container updates or roll back
4) Standard Azure services included: You don’t have to worry about infra and hardware. Get identity and access management, elastic provisioning and much more
5) Global reach: use kubernetes with supported azure regions and on-premise installations using Azure stack
Compute: What is Azure Container Registry (ACR)
Keeps track of current valid container images. Manages files and artifacts for containers. When you create a new container, this comes from ACR. Feeds container images to ACI and AKS (Azure kubernetes services). Uses Azure identity and security features
Compute: How does ACR (Azure Container Registry) and AKS (Azure Kubernetes Services) interact?
1) Say you have an application that processes orders
2) The application runs in a container, created from an image from ACR
3) AKS manages the containers and the cluster, which is a set of computers (called nodes)
4) When orders increase, AKS provisions another container to take the load, which is done in a pod
Compute: What are Azure Functions
Serverless. Smallest compute service on Azure. It is a single function of compute. Called, or invokes, via a standard web address (URL) which triggers the function, which runs once and stops. Can work with other functions or something else
Compute: How does the architecture of Azure functions work?
Still use a VM to run on, but you don’t worry about maintenance, processes or anything VM related, you just worry about functionality
Compute: What are the benefits of Azure functions?
1) Only runs when needed: so if there is no traffic, there is no resource usage
2) Saves money: no resources = no cost
3) Resilience: if your function fails, it doesn’t affect other function instances
Compute: What is important to remember about web app instances?
Need to be unique as will get its own unique internet address
Compute: What is an app service plan
An app service (website) is always within an app service plan. An App Service plan defines a set of compute resources for a web app to run. One or more apps can be configured to run on the same computing resources (or in the same App Service plan). There are a variety to select based on throughput, with varying prices
Compute: what is the key difference and similarities between containers and VMs
Containers have less overheads than VMs and can be deployed consistently
Just like virtual machines, containers run on top of a host operating system. But unlike VMs, containers don’t include an operating system for the apps running inside the container. Instead, containers bundle the libraries and components needed to run the application and use the existing host OS running the container.
Compute: What is a fully managed platform on Azure?
Every part of your Azure service is looked after by MS, meaning you only have to worry about application development
Compute: What cloud service model do VMs belong to?
IAAS
Networking: What is a Virtual Network (VNet)
Allows many types of azure resources to communicate with each other, the internet and on-prem resource. Is virtual, so you have access to it but not the physical hardware
Networking: What is an IP address
Each piece of internet traffic has an IP address to ensure traffic gets to the right server
Networking: What are the 4 main concepts of VNet?
1) Address Space: range of IP addresses available. Each resource attached the the VNet will get its own IP within the VNet
2) Subnets: Enable you to segment the VNet into 1 or more subnetwork and allocate a portion of the address space to the subnet, for security or logical division of resources e.g. resource grouping
3) Subnet regions and subscriptions: A VNet belongs to a single region and every resource must be within the same region, but VNets from different regions can talk to one another. A VNet must belong to one subscription, but a subscription can have multiple VNets
4) Cloud advantages: Scaling (add more VNets or address spaces), high availability (peering, using load balance or VPN gateway) and isolate (manage and organise resources and subnets and NSGs)
Networking: How do you ensure subnets are secure
Use Network security groups to secure individual subnets
Networking: What are load balancers?
Distributes new inbound flows that arrive on the Load Balancer front end to back end pool instances (VMs), according to rules and health probes. Uses IP address and port number to determine the receiving VM in the backend pool
Networking: What are some scenarios for Load Balancers?
1) Internet traffic coming into app
2) Internal networks between internal apps
3) Port forwarding: forward to a specific machine in the backend
4) Outbound traffic: allow outbound connectivity for backend pool VMs
Networking: What is a Virtual Network Gateway?
Composed of 2 or more VMs deployed to the gateway subnet
Networking: What is a Virtual Private Network (VPN) Gateway?
Type of virtual network gateway used to send encrypted traffic from Azure network to on premise network over public internet
Networking: What is a scenario for using a VPN gateway?
Have on-prem infra, but want to move parts to the cloud to take advantage of the benefits, so you will have a hybrid solution. To communicate securely between the two, you create a VPN Gateway
Networking: What are the 3 components of a VPN gateway?
1) Azure Gateway subnet: an Azure VNet with a VPN gateway attached
2) Secure connection called a tunnel, with an encryption mechanism
3) On premise network with complimentary gateway to accept encrypted data
Networking: What is site-to-site connection and multi-site connection
Site to site is one VNet to your on-prem
Multi-site is where you connect to more than one on-prem location
Networking: What is an application gateway
Type of load balancer, but instead of routing it based on IP address and port, it works on a higher level at the HTTP request (including host headers or URI path) of the traffic. Enables traffic from a specific web address to go to a specific machine e.g. one to deal with images better
Networking: What is a HTTP request
Data format that is received from internet traffic
Networking: What is a URI path
Web address for request
Networking: What is a host header
Piece of info set with request
Networking: What are the benefits of an application gateway?
1) Works will with other Azure services
2) Scales up or down based on traffic, so you don’t need to manage resources required
3) Encryption: comply with all security policies to comply with any traffic you may receive. Disable or enable traffic encryption at the backend
4) Zone redundancy: Span multiple availability zones and improve fault resiliency
5) Multi-site hosting: use same app gateway for up to 100 websites to save cost and complexity
Networking: What is Content Delivery Network
ontent Delivery Network (CDN) is a distributed network of servers that can deliver web content close to users. Store cached content at edge locations to reduce latency. Each piece of data cached in the edge location has an expiry date, this will be requested from the master data centre, meaning you can update your data
Networking: What are the benefits of CDN
1) Better performance: improve the user experience and the performance of your app
2) Scaling: Scale to suit spikes in traffic, and also protect your main backend server instance from high loads
3) Distribution: Edge servers will serve requests closest to the user. Less traffic is then sent t the server hosting your app
Networking: What does caching and origin server mean?
1) Caching: Collection of temp copies of original files stored at an edge location. The primary purpose is to optimize speed for an application. When a copy expires, a new copy is needed
2) Origin server: Original location of the files, such as the web app. It is the master copy
Networking: What problems does adding a load balancer solve
1) When there is too much data for a single VM to hand
2) To ensure only healthy servers process requests (health probes)
Networking: When would you use an Application Gateway?
1) For incoming traffic to make routing decision based on additional attributes of HTTP request, such as URI or host headers
2) Traffic with specific properties that needs to be process by a particular VM
Networking: Why would you use CDN?
1) To better handle high loads, such as at a product launch
2) To provide better performance and improved user experience
Networking: How do resources on Azure use a virtual network?
Resources that need to communicate with other azure resources or resources on the internet do so via a VNet
Networking: What is an address space on a VNet
Range of IP addresses that can be assigned to services attached to the VNet
Networking: What is the purpose of a VPN Gateway
To send encrypted traffic between an VNet and on-prem location over the public internet