So you’re thinking of hosting your site on Azure, but you don’t want to wake up one morning with a hefty bill to pay and some tears to cry :)
Here are some tips you can use to manage your Azure App Service plan on a tight budget:
1. Use Linux as OS Type
Now the first thing that comes to your mind when setting up an app service plan is to choose “Windows” as an OS type such as:
The reason you might want to do this is that you have a .NET framework application, could be your company’s website or a legacy application that you might want to host on Azure. However, if you are going to be using .Net Core you can still publish your web app in a Linux app service plan! Hurray!
BUT WAIT, Let’s check the pricing tiers!
There’s a 41.61 USD per month difference between windows and linux plan! So if you were to host your simple site on a windows app service plan you would be paying $41.61 more.
We’re choosing B1 tier here assuming that:
- Your site has low to medium traffic (1000 users streching it to 50k users more or less).
- There’s not much computing going on, we’re just serving our users some content.
- We need SSL and a custom domain.
Most likely you will need to setup SSL with your site so choosing B1 tier will provide most of our site’s needs while paying an affordable price. There are other ways you can configure SSL with Cloudflare for free (yes, free SSL) by using Cloudflare as a reverse proxy like this one.
2. Host Multiple Web Apps on the Same Plan
This one is pretty straightforward. App service plans are designed to host multiple web apps and even azure functions on the same plan that you purchased.
So if you’re anticipating that more web apps will be hosted on Azure, it’s more cost-effective to purchase an app service plan.
An example of hosting multiple web apps could like this:
You could implement a .Net Core company site, integrate it with a wordpress site for blogging or content management, and use azure functions for simple compute operations like email subscriptions.
The point is: try not to underuse your app service plan.
3. Disable or Remove Application Insights
Now this one is not directly related to App Service Plans but rather web apps. When you create a new web app such as:
By default, Microsoft will highlight “Yes” for enabling application insights in the monitoring tab. You might be tempted to proceed to the review screen thinking that it’s going to be fine only to wake up one day with budget alerts firing and a painful bill to pay at the end of the month. In other words, Application Insights costs money.
Application Insights is useful if you want to monitor your application performance, run ping tests from different regions, or maybe analyze your user engagement with funnels and user flows.
Since our pockets are empty and we’re trying to save money just click “No” before proceeding to the next step.
4. Use Free SSL Managed Certificate
This one is also related to Web Apps. In simple terms, if you have a “www.” domain name, you can use a free certificate managed by Azure. Here’s the link to the microsoft article : LINK
The limitations to this is that it doesn’t support the below:
- Wildcard Domains : *.mysite.com
- Naked Domains : mysite.com
- You cannot export the certificate as it is managed by Azure
5. Experiment with Static Sites & Serverless Architectures
This is by far the most cost effective way to manage your consumption on Azure: Going Serverless.
For this to work, we need to make sure that our site is either a static site or an SPA-Single Page Application like Angular.
You can’t use .Net for your client app !
The backend might include some Azure functions which will take care of all the processing. In addition, you can add storage like SQL in case you want to persist your data.
This would look something like this:
In this case, you can use Azure CDN as entry point for you users by setting your site’s domain name in the custom domain names of the content delivery network.
For more information on this type of approach, check out these folks: https://medium.com/bb-tutorials-and-thoughts/how-to-host-an-angular-static-website-on-azure-1257eed9d47e
That’s it! High Five !
Comments & feedbacks are most welcomed :)