Replacing your application stack with Azure services

I've been thinking recently what would be the cost of Azure services, if I'd like to replace my VM w

I've been thinking recently what would be the cost of Azure services, if I'd like to replace my VM with this particular cloud solutions. Please do have in mind, that in this post I'm not taking into account multiple third-party applications(like TeamCity or YouTrack), which I run on the VM along with my projects. Only technology stack matters.

What do we have?

My VM is a very basic machine:

  • Windows Server 2012
  • 1 Core AMD Opteron Processor 6386 SE 2,80 GHz
  • 50 GBs HDD storage
  • 4 GBs RAM

It's perfectly fine to run a simple SPA application, SQL server and EventStore to aggregate events from multiple devices. It's far from optimal solution but serves well since many months. Cost - about 18 EUR. 

If I had a chance to start from scratch, I'd select following stack on Azure:

  • EventHub for 10M events for 9,65 EUR
  • App Service shared infrastructure for 8,16 EUR
  • Table Storage with 50 GBs of storage and 100 transaction units for 3,26EUR

It gives total of 21,06 EUR.

Pros and cons?

While having a VM gives you great flexibility, it also complicates many things when it comes to update all software, deploy and configure it. It's also a bit more difficult to integrate all together. The biggest disadvantage of a VM is the lack of scalability - if an application will meet its higher requirements, it will cost us much more to migrate to the higher stack.

The downside of a stack built on Azure is having shared infrastructure for our web application which can(but doesn't have to be) problematic from time to time. What I like about this solution is having it all in once place and integrating it all with ease. What is more I can add Azure B2C for free and have a widely used access control solution for my application. Who knows, maybe I'll migrate to the cloud in the future?

Comments (2) -

In general this is very good approach to move from managed VMs to PaaS, however I can see at least three more issues with the selection of services:
- Shared/Free plans have daily uptime quotas, more precisely 240/60 CPU minutes. After you hit the quota, service goes down.
- B2C in Europe is still free of charge, but it will become pretty expensive soon (unless you have less than 50k users).
- Table Storage doesn't provide any kind of backup, there is just consistency and durability.

Kamil Mrzygłód 2/14/2017 1:12:30 PM

Thanks for pointing this issues. In this particular scenario this quota could be an issue, but another possibility for my client would be joining BizSpark and proving to him, that this cloud solution is worth extra money he would have to spend. This way it would be possible to minimize the cost of the solution. 50k users for B2C wouldn't be a problem because this solution is planned for a limited number of customers. Regarding storage, since the application is event driven, it would be possible to backup the event log and then restore the state of the application.

As I said - it's not an ideal solution - but provides some interesting options, which seem viable.

Add comment