What is Azure Compute

Azure Compute

In this article, we learn about Azure Compute and the various services provided by Azure for use of resources for various needs through Azure App Service, Azure Virtual Machines, Azure Container Instances, and Functions. Different applications and systems have different needs and Azure caters to all of those through this wide range of facilities provided with these services. Dive deeper into this article to learn about them and the scenarios when to use them. 

Azure Compute provides an on-demand computing service in order to run cloud-based applications. Computing resources, for instance, processors, memory, storage, operating systems, networking are all provided by the Azure Compute. On-demand resources are available via Azure to compute and thus can be setup in a matter of minutes and for services in just a few seconds. The payment module is pay-as-you-go and only for the time the resources are in use.

Linux, Windows Server, SQL Server, IBM, Oracle, SAP are all supported by Azure with a wide range of solutions for computing dedicated to serving development, testing, running applications and even extending the datacenters as per the need with the growth of the application. Even Virtual Machines (VMs) can easily be run with Azure and each service is capable of providing varieties of options as per the need and demand. Listed below are the services provided with Azure Compute Services.

  • Azure App Service 
  • Azure Virtual Machines 
  • Azure Container Instances 
  • Azure Functions (or serverless computing) 

Azure App Service

Azure App Services enables to build of and deploy enterprise-grade applications for the web and mobile. These applications can be easily scaled with all compliant requirements, security and performance assured that is fully managed by the Azure platform itself with its well-maintained infrastructure. The Azure App Service falls under the Platform as a Service (PaaS). To learn more about different cloud architectures, read the previous article, Cloud Applications Architecture and How to Create a Virtual Machine (VM) in Azure.

Azure Virtual Machines

A virtual machine is the emulation or virtualization of an entire computer system. The Virtual Machines (VM) performs like a physical computer system altogether. Software such as VMware has enabled virtual machines since 1998.

Today, in order to fulfill the needs of organizations to set up databases and increase computer power from virtual machines, Azure Portal provides browser-based easy to use platforms to create and use Virtual Machines in Azure. With cloud computing like Microsoft Azure, it has never been this easier to deploy various copies of the same virtual machines to improve load handling. It is flexible and easier than having to take care of a physical server and installing OS on our own.

Virtual Machine Scale Sets 

In order to deploy and manage a set of identical VMs, the Azure Compute Resource called Virtual Machine Scale Sets can be used. True auto scale is supported as all the Virtual machines are configured the same way and as the virtual machine scale sets are designed to support it. Large-scale services that require large computation, big data, and containerized workloads are convenient to build with the virtual machine scale sets capabilities. VM instances can be added as the demand goes up and the instances removed as the demand goes down. These processes can be automated or be manual or a combination of both of those.

When do you use Azure Virtual Machines? 

Azure Virtual Machine allows the creation and usage of VMs in the cloud as an Infrastructure as a Service (IaaS). The Virtual Machines would be an ideal use case for the following scenarios.

  • When you require complete control over the Operating System (OS).
  • When you require to run software that is custom designed and developed.
  • In order to use custom hosting configurations.

Azure Container Instances

The Azure Container Instances and Azure Kubernetes Services are used to managing and deploying containers which are the key Azure Compute Resources. Containers can be defined as a unit of software that is executable where the application codes are packaged with the needed dependencies and libraries such that it can be run where ever needed from cloud to on-premises services. 

Azure Kubernetes Service provides the facility to manage and deploy our containerized application with complete Kubernetes Service. It offers CI/ CD – Integrated Continuous Integration and Continuous Delivery, serverless architecture, and enterprise-level security for our applications. To learn more, read the previous article, Containers, and Container – Orchestration in Azure

These compute resources can be quickly initiated, scaled, and dynamically stopped. Moreover, multiple instances can be run on an individual host machine for a containerized application.

Azure Functions

Azure Functions caters to the need when the developers and organizations are more focused on the code running the service and not about the infrastructure or platform that is underlying. When work needs to be performed in response to events such as a REST request or message from some other service in Azure and in cases when tasks need to be completed as fast as possible, the Azure Functions is the way to go. Here is a detailed article on Azure Functions - What is Azure Functions and How to Create and Consume Azure Functions.

Learn to build serverless, full-stack applications in Azure with Azure SQL from this video of Women Data Summit 2021,

Azure Functions is an event-driven serverless compute platform which enables complex orchestration difficulties to be solved easily. Using Triggers and Bindings, services can be integrated. Applications can be deployed and scaled flawlessly in the cloud with Azure functions. Depending on the workload volume, the infrastructure scales automatically. Building, debugging, deploying, and monitoring are all possible with ease with the built-in DevOps capabilities supported by the Azure Functions. 

To learn more, read the previous article, Azure Serverless

Serverless Computing provides event-driven scale, micro-billing, and abstraction of servers.

Event-Driven Scale

When workloads respond to incoming events and triggers such as timers, APIs, and webhooks and queues, it fits perfectly with Serverless Computing. Writing a function that contains metadata of the triggers and bindings saves the time and effort to write an entire application instead.

Micro-Billing

In contrary to traditional computing bills that charge monthly and annual rates, the Serverless Computing of Azure Functions gives the flexibility and economic structure of micro-billing that charges for the execution and computing time only.

Abstraction of Servers

Serverless Computing provides the benefit of not having to explicitly reserve server instances with the platform managing that for us with the abstraction of servers. All that needs to be done is the deployment of the code which then runs with high availability all managed by the platform.

Azure Logic Apps 

Azure Logic Apps is one of the ways Azure implements serverless compute. The Logic apps can execute the logic which is triggered by the Azure services through the web-based designer without having to write a line of code. These logic apps can be created using the visual designer provided in Visual Studio or Azure Portal. The workflow is persisted as workflow schema of JSON file. Over 200 different connectors and processing blocks are available which enables the interaction between the services that includes widely popular enterprise applications too. Custom Connectors and Workflow steps can be custom-built if the service that needs to be interacted with is not available. Blocks and Connectors can be linked with the visual designer and the data can be passed through the workflow for custom processing.

Conclusion

Thus, we discussed the Azure Compute in this article with various services provided by Azure such as Azure App Service, Azure Virtual Machines, Azure Container Instances, and Azure Functions. We learned about these diverse topics and got in detail with Virtual Machine Scale Sets and the decision-making as per the need to use Azure Virtual Machines. We also learned about the various features provided with Azure Functions such as event-driven scale, micro-billing, and abstraction of servers. We also learned about the Azure Logic Apps and got in touch overall with Azure Compute.