Azure Functions enables users to execute event-driven serverless code functions with an end-to-end development experience.
$18
per month approximately
Azure Virtual Machines
Score 7.9 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.
If you want to host a dedicated Windows server on the cloud, and especially if you want to integrate it with your on premises Active Directory, Azure Virtual Machines should be your first choice. Obviously running Linux on Azure works very well too, but given Azure's pricing is not the cheapest, there are other providers out there that have a better cost-benefit ratio for Linux. That said, hosting Windows on Azure can be affordable (especially when compared to other providers) if you plan your licensing, topology, and application architecture correctly.
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, ...)
When demand is high, we scale the service out, eg During a Football Match.
When a football match is over and the throughput of data from OPTA drops we save by the service scaling back in.
Our App Service Plans along with the Clean C# code are lightening fast giving a good customer experience.
When producing the TV Guide information and a program overruns its scheduled time, a client can instantly be updated to the new programming schedule as our change is instant and its in the right place for all the clients to download and adjust their television guides appropriately to send out to the public giving a 24x7 uptime service that is precise and accurate and resilient to outages due to failover zones around the world.
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.
No VM console, weak management interface, changing CPU/memory is not straightforward. On the positive side, basic RDP functionality is good to have. As long as things are working, the ability to host Windows VMs is appreciated.
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.
Azure Virtual Machines offer unparalleled flexibility in provisioning, managing and upgrading the VM instances, both manually and programmatically. AVM offer very granular billing options and enables high costs optimisations (while still being costly). The other competitors I mentioned are very good at offering dead-cheap VMs. But if you need anything beyond that, especially for big computing, you need Azure Virtual Machines.
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