Microsoft Azure | Can This Cloud Be Used For Free?
Is Azure Free?
When people first look to the cloud to host their websites or applications, they expect to have to pay for that hosting, or to pay for those cloud services. What if there was a way to run services in a cloud like Microsoft Azure for free?
Is Azure Free? All Microsoft Azure services have a pricing model attached to them, however there is a list of services that are ALWAYS free if the usage of those services stay under specific limits. The free services include things like Azure CosmosDB, Azure Functions, Azure Active Directory and more.
Knowing that Microsoft Azure does have an always free offering for some of their services, is the amount of free service enough to be useful for a small customer? Can a newly designed product start out for free and start paying for the services only once they obtain enough customers to warrant the cost?
Microsoft Azure Always Free Services
There are currently thirty services offered by Microsoft Azure which offer a free usage level for those services. Some of these services may be more useful to certain users than others. Most systems, or applications, being designed for the cloud need a database to store information for that system or application. Usually the company building this system would host a server, or virtual machine, and install the database software onto that server to host their database.
A free alternative provided by Microsoft Azure is by using the always free amount of Azure CosmosDB. Azure CosmosDB is a NoSQL database that is managed and maintained by Microsoft Azure and it has an always free tier. This always free tier offers 400 provisioned request units per second with up to 5 GB of storage for the data that is stored into the database. Request unit consumption is determined by the amount of memory, CPU, and IOPS used for the given database request.
Another nice feature about Azure CosmosDB is that it offers several APIs for reading and writing to the NoSQL database. This includes an SQL interface, a MongoDB like API interface, a Cassandra style interface, a Gremlin interface for graph like queries and finally a Table type interface which would act a lot like Azure Tables.
Another feature of Microsoft Azure that always has a free offering is data transfer. Obviously to use any service in the cloud, there is going to be an amount of data transfer associated with that usage. What Microsoft Azure does is provide up to 5GB of outbound data transfer bandwidth for free, as well as an unlimited amount of inbound data transfer for free. This is great for low traffic applications or services. Once passing this amount of outbound data transfer, Microsoft Azure will start charging for the extra amount.
Something that has been around for a few years now, but that is still new to many, is the concept of Azure Functions. Azure Functions is a service that allows customers to write a small piece of code, or function, and have it run without needing a customer managed server running to execute that function. Microsoft Azure takes care of hosting, running, maintaining, and patching the servers that execute the Microsoft Azure Functions. With the available always free tier of Microsoft Azure, customers get to enjoy one million requests and 400000 GB-s of resource consumption from Azure Functions for free.
The Azure App Service is another service offered by Microsoft Azure which offers an always free tier. With this offering, the Azure customer will receive 10 web, mobile, or API applications with 1 GB of storage in the free tier. The Azure App Service is fully managed by Microsoft Azure to provide a platform for building, deploying and scaling a customers web application. This service lets you develop in .NET, .NET core, Node.js, Java, Python or php which means it is quite flexible. The code written is deployed in containers that can run on either Windows or Linux nodes.
One other service that is very useful when running a cloud based service or application is Azure Application Insights. This service can be used to track the performance and availability of your applications or services. It can also be used to track the performance and availability of your infrastructure that is running in the cloud. Finally it can be used to track the performance and availability of your cloud based network. With the Azure Free offering, this service provides unlimited nodes with Application Insights and 1 GB of telemetry data every month.
Something similar to Application Insights which also has some free usage available for it is the Azure Log Analytics service. This service provides 5GB of analysis per month for free as well as a 31 day retention period on that data. Depending on the amount of logs that are generated from the given website, or application, this can account for most of the log analytics that a customer might require.
Tracking user profiles and metadata is typically performed with a database, and could even be done with the free usage offered by Azure CosmosDB, but Microsoft Azure offers some different free usage from another service that may be more appropriate for this type of usage. This is provided by the Azure Active Directory B2C. This service provides identity and access management for customer facing applications. The free usage available from Azure for this service is 50000 monthly active users.
There are other free offerings from Microsoft Azure that not every Microsoft Azure cloud customer would use, but they are there if the given customer needs it, or if the given customer might find it useful. One of these is the Azure Maps service, which the S0 service tier offers 250000 monthly map tile loads and 25000 monthly service calls for free.
Expanding on that, there is also the Azure Machine Learning service which offers 100 modules and 1 hour per experiment with 10 GB of storage included for free. This would be very useful for anyone interested in data science, or that may have an application that could use some machine learning to help improve their current model.
Azure Cognitive Search also offers an always free usage tier which includes ten thousand hosted documents with 50MB of storage and 3 indexes per service. This is very useful if the cloud customer has a decent sized document repository that needs search capability added on top of it. Using the AI models built and designed by Microsoft, this service helps power that use case for free.
Another machine learned type service that has some free usage available with it is the Microsoft Azure Face API. This service is giving 30000 transactions per month at a maximum rate of 20 transactions per minute for free. This can be used to process images of faces and get machined learned predictions of gender and age for the faces detected in the image.
Some sites or applications also need the ability to have their content or text translated into other languages as they may have customers from various regions around the world. Using the Azure Translator service with the free usage available to it, Azure customers can translate up to 2 million characters for free!
Even though the above seems like a huge amount of free services that are available from Microsoft Azure, it is not the full list. Also this does not even include the services from Azure which provide twelve months of usage for free. The 12 months of free usage services include things like Text Analytics, Anomaly Detection, Content Moderator, Custom Vision, Computer Vision, Language Understanding Service, Managed Disk usage, File Storage usage, SQL database instances, Windows and Linux Virtual Machines and many more. Each of these services would have specific amounts of free usage that are available to the Azure customer over that twelve month period.
As you can clearly see, even though Microsoft Azure is not completely free, there are many use cases that could run on this cloud that could be free, or at least would be free until there is enough use or demand on the given application or service to warrant starting to pay for the services that are being used the most by the developed application.