AZ-900. Compute
What is Azure App Service?
Azure App Service is a platform-as-a-service (PaaS) offering in Azure that is designed to host enterprise-grade web-oriented applications. You can meet rigorous performance, scalability, security, and compliance requirements while using a fully managed platform to perform infrastructure maintenance.
What is the difference between Azure Functions and Azure Logic Apps?
Azure Functions executes code and Azure Logic Apps executes workflows built up from predefined logic blocks. With Azure Functions, you write code to complete each step, with Logic Apps, you use a GUI to define the actions and how they relate to one another
What is general trigger for Azure Functions and Azure Logic Apps?
Both enable you to trigger logic based on an event
How you can control VM?
By using a remote desktop client
What are the main types of the Azure Functions?
Can be either stateless (the default) where they behave as if they're restarted every time they respond to an event), or stateful (called "Durable Functions") where a context is passed through the function to track prior activity.
Azure Functions
Can execute code in almost any modern language
Serverless Computing
Cloud-hosted execution environment that runs your code but completely abstracts the underlying hosting environment.
What are containers?
Containers are a virtualization environment for running applications. Just like virtual machines, containers are 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. For example, if five containers are running on a server with a specific Linux kernel, all five containers and the apps within them share that same Linux kernel.
Kubernetes master node
Controls other nodes within Kubernetes Instance
Azure Logic Apps
Designed in a web-based designer and can execute logic, triggered by Azure services, without writing any code
Azure App Service
Designed to host enterprise-grade web-oriented applications
What is Azure standard container model?
Docker container
Azure Batch
Enables large-scale job scheduling and compute management with the ability to scale to tens, hundreds, or thousands of VMs
Web App for Containers
Feature of Azure App Service, a true PaaS experience in container hosting
Update domains
Groups of VMs and underlying physical hardware that can be rebooted at the same time
Unplanned maintenance event
Hardware failure in the data center, such as a power outage or disk failure
Micro-billing in Servless Computing
If the code runs once a day for two minutes, you are charged for one execution and two minutes of computing time
What does VM image include?
Includes an OS and often other software, like development tools or web hosting environments.
Azure Virtual Machine Scale Sets
Let you create and manage a group of identical, load balanced VMs
Availability sets
Logical grouping of two or more VMs that help keep your application available during planned or unplanned maintenance.
Update Domains implementation
Logical part of each data center and are implemented with software and logic.
Can container in one pod share the resources with a container in another pod?
No
Does Container use a virtualization?
No, a container doesn't use virtualization, so it doesn't waste resources simulating virtual hardware with a redundant OS.
Do you need manual to scale your application in Azure App Service?
No, it offers automatic scaling and high availability
Is Web App for Containers is free, like Azure Container Instance (ACI)?
No, unlike ACI, you pay for Azure App Service whether you're using the application or not, because your application is running on a dedicated VM in App Service
Does Servless Computing require maintenance?
No. You create an instance of the service, and you add your code; no infrastructure configuration or maintenance is required, or even allowed.
How VM Scale Sets can help?
Scale sets allow you to centrally manage, configure, and update a large number of VMs in minutes to provide highly available applications. The number of VM instances can automatically increase or decrease in response to demand or a defined schedule. With Virtual Machine Scale Sets, you can build large-scale services for areas such as compute, big data, and container workloads.
What is Serverless Computing?
Serverless computing is a cloud-hosted execution environment that runs your code but completely abstracts the underlying hosting environment. You create an instance of the service, and you add your code; no infrastructure configuration or maintenance is required, or even allowed.
Event-driven scale in Servless Computing
Serverless computing is an excellent fit for workloads that respond to incoming events. Events include triggers by timers (for example, if a function needs to run every day at 10:00 AM UTC), HTTP (API and webhook scenarios), queues (for example, with order processing), and much more. Instead of writing an entire application, the developer authors a function, which contains both code and metadata about its triggers and bindings. The platform automatically schedules the function to run and scales the number of compute instances based on the rate of incoming events. Triggers define how a function is invoked and bindings provide a declarative way to connect to services from within the code.
What else can run on the node in addition to pods?
Several services that are required for Kubernetes to manage the pods, and so on
Virtual machines
Software emulations of physical computers.
Single VM typical tasks
Testing, development, or minor tasks
What does Servless computing include?
The abstraction of servers, an event-driven scale, and micro-billing
What is Servless computing in Azure?
The abstraction of servers, infrastructure, and OSs
Node or Worker
The computer that Kubernetes pods are running on
Kubernetes cluster
The entire environment of the master and all of its nodes
Azure Container Instances (ACI)
The fastest and simplest way to run a container in Azure. You don't have to manage any virtual machines or configure any additional services. It is a PaaS offering that allows you to upload your containers and execute them directly with automatic elastic scale.
Fault domain
The group of virtual machines that share common hardware
What is the benefit of AKS vs ACI?
if you have an application that is used heavily by many people and that might need to take advantage of scaling, Azure's Kubernetes Service (AKS) would be a better choice
VM image
A template used to create a VM
VM consists of
A virtual processor, memory, storage, and networking resources.
What is the main benefit of the Azure Kubernetes Service?
AKS offloads the burden of dealing with the Kubernetes master to Microsoft. When you create a Kubernetes cluster in AKS, Azure creates the master and the nodes for you. All you have to do is deploy your containers, and you're up and running with a managed Kubernetes cluster.
What does Kubernetes master contain?
All of the configuration and services necessary to manage the orchestration of pods and other Kubernetes entities
What do you get additional to the Web Apps hosting features for Web API in Azure App Service?
You get full Swagger support, and the ability to package and publish your API in the Azure Marketplace. The produced apps can be consumed from any HTTP(S)-based client
What are you defining during a creation of new Web App for Containers?
You specify: 1. the OS you want (either Windows or Linux) 2. the location of the Docker image. The image can be in Docker Hub, a private registry, or in Azure Container Services.
How do you pay for Azure App Service?
You pay for the Azure compute resources your app uses while it processes requests based on the App Service Plan you choose. The App Service plan determines how much hardware is devoted to your host - for example, whether it's dedicated or shared hardware, and how much memory is reserved for it. There is even a free tier you can use to host small, low-traffic sites.
What are the main scaling VMs features in Azure?
1. Availability sets 2. Virtual Machine Scale Sets 3. Azure Batch
Several ways to manage containers
1. Azure Container Instances (ACI) 2. Azure Kubernetes Service (AKS)
What are Servless Computing implementations?
1. Azure Functions 2. Azure Logic Apps
What are the benefits of the Azure Servless Computing?
1. No infrastructure management 2. Scalability 3. Only pay for what you use
What are the benefits of the Container?
1. Run-time environment typically makes containers more lightweight than VMs. 2. This design allows you to respond quickly to changes in demand or failure. 3. You can run multiple isolated applications on a single container host. 4. Since containers are secured and isolated, you don't need separate servers for each app.
VMs ideal applications are for
1. Total control over the operating system (OS) 2. The ability to run custom software, or 3. To use custom hosting configurations
What does Availability set include
1. Up to 3 (three) fault domains that each have a server rack with dedicated power and network resources 2. 5 (five) logical update domains which then can be increased to a maximum of 20
Common techniques for performing compute in Azure
1. Virtual machines 2. Containers 3. Azure App Service 4. Serverless computing
What are typical applications that you can host at Azure App Service?
1. Web Apps 2. API Apps 3. WebJobs 4. Mobile Apps
Azure Kubernetes Service (AKS)
A complete orchestration service for containers with distributed architectures with multiple containers
What is Fault domain?
A fault domain is essentially a rack of servers. It provides the physical separation of your workload across different power, cooling, and network hardware that support the physical servers in the data center server racks. In the event the hardware that supports a server rack becomes unavailable, only that rack of servers is affected by the outage.
Kubernetes pod
A group of related containers that are able to share resources
Container
A modified runtime environment built on top of a host OS that executes your application
Abstraction of servers in Servless Computing
You don't need to reserve any server capacities. With serverless architecture, you simply deploy your code, which then runs with high availability.
Orchestration
The task of automating, managing, and interacting with a large number of containers
Availability set costs
There is no cost. You only pay for the VMs within the availability set
Containers in Microservice architecture solutions
This architecture is where you break solutions into smaller, independent pieces. For example, you may split a website into a container hosting your front end, another hosting your back end, and a third for storage. This split allows you to separate portions of your app into logical sections that can be maintained, scaled, or updated independently.
What does Azure App Service enable you to do?
To build and host web apps, background jobs, mobile backends, and RESTful APIs in the programming language of your choice without managing infrastructure
Does Kubernetes Instance include one or several nodes?
Typically it includes several nodes
What features for Mobile app back-ends does Azure App Service provide?
Use the Mobile Apps feature of Azure App Service to quickly build a back-end for iOS and Android apps. With just a few clicks in the Azure portal you can: 1. Store mobile app data in a cloud-based SQL database 2. Authenticate customers against common social providers such as MSA, Google, Twitter, and Facebook 3. Send push notifications 4. Execute custom back-end logic in C# or Node.js On the mobile app side, there is SDK support for native iOS & Android, Xamarin, and React native apps.
How can you create workflows for Azure Logic Apps?
Using a visual designer on the Azure portal or in Visual Studio. The workflows are persisted as a JSON file with a known workflow schema
What are four common techniques for performing compute in Azure?
Virtual machines Containers Azure App Service Serverless computing
What are virtual machines?
Virtual machines, or VMs, are software emulations of physical computers. They include a virtual processor, memory, storage, and networking resources. They host an operating system (OS), and you're able to install and run software just like a physical computer. And by using a remote desktop client, you can use and control the virtual machine as if you were sitting in front of it.
Planned maintenance event
When the underlying Azure fabric that hosts VMs is updated by Microsoft
What does Azure Batch do?
When you're ready to run a job, Batch does the following: 1. Starts a pool of compute VMs for you 2. Installs applications and staging data 3. Runs jobs with as many tasks as you have 4. Identifies failures 5. Re-queues work 6. Scales down the pool as work completes
Is it difficult to configure Kubernetes master node?
Yes, it is by far the most laborious task of using Kubernetes
Do VMs host OS?
Yes, they host an operating system (OS), and you're able to install and run software just like a physical computer.
Can ACI run multiple containers?
Yes, you can define a container group and run multiple containers within an ACI instance
Can you mix and match services from your Azure Function and Azure Logic Apps orchestrations?
Yes, you can mix and match services when you build an orchestration, calling functions from logic apps and calling logic apps from functions
Is AKS service free?
Yes, you only pay for the Azure computer resources that you use within your cluster.
What OS and languages for Web Apps does Azure App Service support?
You can choose to run in Windows or Linux. It supports ASP.Net, ASP.Net Core, Java, Ruby, Node.js, PHP and Python
When are the benefits of the grouping VMs?
You can group VMs together to provide high availability, scalability, and redundancy
What can you run as a Web Jobs hosted at Azure App Service?
You can run a program (.exe, Java, PHP, Python, or Node.js) or script (.cmd, .bat, PowerShell, or Bash) in the same context as a web app, API app, or mobile app. They can be scheduled, or run by a trigger. WebJobs are often used to run background tasks as part of your application logic.
What does VM represent: a. IaaS; b. PaaS or c. SaaS?
a. IaaS, in a form of virtualized server