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 Functions
Azure 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 Functions
Azure Virtual Machines
Free Trial
Yes
No
Free/Freemium Version
No
No
Premium Consulting/Integration Services
No
No
Entry-level Setup Fee
No setup fee
No setup fee
Additional Details
—
—
More Pricing Information
Community Pulse
Azure Functions
Azure Virtual Machines
Features
Azure Functions
Azure Virtual Machines
Access Control and Security
Comparison of Access Control and Security features of Product A and Product B
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.
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.
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, ...)
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.
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.
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.
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.
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.
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.
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