Azure Functions vs. Azure Virtual Machines

Overview
ProductRatingMost Used ByProduct SummaryStarting Price
Azure Functions
Score 9.4 out of 10
N/A
Azure Functions enables users to execute event-driven serverless code functions with an end-to-end development experience.N/A
Azure Virtual Machines
Score 8.8 out of 10
N/A
Virtual Machines (VMs) are available on Microsoft Azure, providing what is built as a low-cost, per-second compute service, available via Windows or Linux.
$0
Per Hour
Pricing
Azure FunctionsAzure Virtual Machines
Editions & Modules
No answers on this topic
3 Year Reserved - Burstable VMs - B1S
$0.0038
Per Hour
Spot - General Purpose - Av2
$0.005
Per Hour
1 Year Reserved - Burstable VMs - B1S
$0.0059
Per Hour
Pay as You Go - Burstable VMs - B1S
$0.0075
Per Hour
Spot - Compute Optimized - Fsv2
$0.0104
Per Hour
Spot - General Purpose - Dv3
$0.0125
Per Hour
Spot - Memory Optimized - Ev3
$0.016
Per Hour
3 Year Reserved - Compute Optimized - Fsv2
$0.0307
Per Hour
3 Year Reserved - General Purpose - Dv3
$0.0369
Per Hour
3 Year Reserved - Memory Optimized - Ev3
$0.0481
Per Hour
1 Year Reserved - Compute Optimized - Fsv2
$0.05
Per Hour
1 Year Reserved - General Purpose - Dv3
$0.0548
Per Hour
1 Year Reserved - Memory Optimized - Ev3
$0.0753
Per Hour
Pay as You Go - Compute Optimized - Fsv2
$0.0846
Per Hour
Pay as You Go - General Purpose - Dv3
$0.096
Per Hour
Pay as You Go - Memory Optimized - Ev3
$0.126
Per Hour
Offerings
Pricing Offerings
Azure FunctionsAzure Virtual Machines
Free Trial
YesNo
Free/Freemium Version
NoNo
Premium Consulting/Integration Services
NoNo
Entry-level Setup FeeNo setup feeNo setup fee
Additional Details
More Pricing Information
Community Pulse
Azure FunctionsAzure Virtual Machines
Features
Azure FunctionsAzure Virtual Machines
Access Control and Security
Comparison of Access Control and Security features of Product A and Product B
Azure Functions
10.0
Ratings
4% above category average
Azure Virtual Machines
-
Ratings
Multiple Access Permission Levels (Create, Read, Delete)10.00 Ratings00 Ratings
Single Sign-On (SSO)10.00 Ratings00 Ratings
Reporting & Analytics
Comparison of Reporting & Analytics features of Product A and Product B
Azure Functions
7.0
Ratings
9% above category average
Azure Virtual Machines
-
Ratings
Dashboards7.00 Ratings00 Ratings
Standard reports9.00 Ratings00 Ratings
Custom reports5.00 Ratings00 Ratings
Function as a Service (FaaS)
Comparison of Function as a Service (FaaS) features of Product A and Product B
Azure Functions
8.8
Ratings
8% above category average
Azure Virtual Machines
-
Ratings
Programming Language Diversity9.00 Ratings00 Ratings
Runtime API Authoring8.00 Ratings00 Ratings
Function/Database Integration9.00 Ratings00 Ratings
DevOps Stack Integration9.00 Ratings00 Ratings
Server Virtualization
Comparison of Server Virtualization features of Product A and Product B
Azure Functions
-
Ratings
Azure Virtual Machines
8.8
Ratings
8% above category average
Virtual machine automated provisioning00 Ratings9.30 Ratings
Management console00 Ratings8.00 Ratings
Live virtual machine backup00 Ratings9.30 Ratings
Live virtual machine migration00 Ratings8.70 Ratings
Hypervisor-level security00 Ratings8.60 Ratings
Best Alternatives
Azure FunctionsAzure Virtual Machines
Small Businesses
AWS Lambda
AWS Lambda
Score 8.6 out of 10
DigitalOcean Droplets
DigitalOcean Droplets
Score 8.7 out of 10
Medium-sized Companies
Red Hat OpenShift
Red Hat OpenShift
Score 9.3 out of 10
VMware vSOM (discontinued)
VMware vSOM (discontinued)
Score 10.0 out of 10
Enterprises
Red Hat OpenShift
Red Hat OpenShift
Score 9.3 out of 10
VMware vSOM (discontinued)
VMware vSOM (discontinued)
Score 10.0 out of 10
All AlternativesView all alternativesView all alternatives
User Ratings
Azure FunctionsAzure Virtual Machines
Likelihood to Recommend
8.0
(0 ratings)
7.1
(0 ratings)
Support Rating
-
(0 ratings)
7.0
(0 ratings)
User Testimonials
Azure FunctionsAzure Virtual Machines
Likelihood to Recommend
They're great to embed logic and code in a medium-small, cloud-native application, but they can become quite limiting for complex, enterprise applications.
Read full review
It's well suited to delivering information about our sports events as during the events a lot of processing power is needed and instantly becomes available by scaling out when the event is over the service can be scaled right back making massive savings. We use it for football, horse racing, Olympics games etc, it is also used when things happen in the world like right now there is a lot of concern over the Russia and Ukraine conflict, since the demand for this information is high we instantly scale to meet the demand of our news feed services. I believe up to 90% of the UK's News, sports and media information actually passes through our computer systems, we are a market leading news and information service and Azure Virtual Machines provide us with the reliability that we need so that we can provide a rock solid reliable news and information service to the world.
Read full review
Pros
  • They natively integrate with many triggers from other Azure services, like Blob Storage or Event Grid, which is super handy when creating cloud-native applications on Azure (data wrangling pipelines, business process automation, data ingestion for IoT, ...)
  • They natively support many common languages and frameworks, which makes them easily approachable by teams with a diverse background
  • They are cheap solutions for low-usage or "seasonal" applications that exhibits a recurring usage/non-usage pattern (batch processing, montly reports, ...)
Read full review
  • You can login to Azure VMs using SSO with your Azure Ad account
  • Azure VMs are securely accessible from anywhere in the world, with Azure Bastion
  • You can execute scripts on the VM from the Azure portal without logging in to it
Read full review
Cons
  • My biggest complaint is that they promote a development model that tightly couples the infrastructure with the app logic. This can be fine in many scenarios, but it can take some time to build the right abstractions if you want to decouple you application from this deployment model. This is true at least using .NET functions.
  • In some points, they "leak" their abstraction and - from what I understood - they're actually based on the App Service/Web App "WebJob SDK" infrastructure. This makes sense, since they also share some legacy behavior from their ancestor.
  • For larger projects, their mixing of logic, code and infrastructure can become difficult to manage. In these situations, good App Services or brand new Container Apps could be a better fit.
Read full review
  • Pricing can be a concern if you are truly agnostic to which cloud you are building your particular solution in.
  • The UI, as is the case with any cloud provider, is crowded.
  • As with any cloud provider, it can be difficult to tune in exactly the right amount of servers for your needs...you might find yourself under/overprovisioning.
Read full review
Usability
No answers on this topic
They are very easy and intuitive, very easy to deploy
Read full review
Support Rating
No answers on this topic
I give the overall support for Azure Virtual Machines a 7 because I think while the overall support do a great job there are still areas that it could improve on such as efficiency and speed. So while I only give it a 7 and it has some issues it is still better than the overall support at Amazon EC2 Auto Scaling.
Read full review
Alternatives Considered
This is the most straightforward and easy-to-implement server less solution. App Service is great, but it's designed for websites, and it cannot scale automatically as easily as Azure Functions. Container Apps is a robust and scalable choice, but they need much more planning, development and general work to implement. Container Instances are the same as Container Apps, but they are extremely more limited in termos of capacity. Kubernetes Service si the classic pod container on Azure, but it requires highly skilled professional, and there are not many scenario where it should be used, especially in smaller teams.
Read full review
Oracle Cloud Infrastructure's Compute supports Windows, but is really geared towards Linux. You can install Windows on some Linode servers, but again, Linode is geared towards Linux. AWS does everything but is complex and can have high costs. If you want to host Windows servers in the cloud, nothing beats Azure. From licensing to management, Microsoft Azure provides the easiest way to deploy and manage Windows Servers in the cloud, especially if you utilize other Microsoft services like Microsoft 365 an Visual Studio subscriptions.
Read full review
Return on Investment
  • They allowed me to create solutions with low TCO for the customer, which loves the result and the low price, that helped me create solutions for more clients in less time.
  • You can save up to 100% of your compute bill, if you stay under a certain tenant conditions.
Read full review
  • It's so easy to spin up new instances, that it becomes also to easy to have to many of them to manage. Many teams end up with a couple of hundreds of VMs after a short while, making the whole thing very hard to maneuver
  • Azure VMs are the next step for us to rely on Onprem servers, and leaving the management of the infrastructure to the professionals
  • The ease of use, is also important when our main focus is to deliver new applications and integrations fast, and not having to worry about infrastructure. We sell bottles, not CPUs
Read full review
ScreenShots