How to save over 50% on Azure resources running cost

The running cost on some of the Azure resources (and licenses) can be massive and can cause a lot of frustration to a new starting business.

Therefore, I do always talk to my clients and try to find the best solution fitting their current needs. Then following the strategy of organic growth is the best way how to keep costs down while following the business transformation with technology into the mature and profitable one in future.

In this article, I am going to explain how to cut Azure resource costs down from 50 – 70% depending on the resource type and length of commitment.

Where to start?

Azure has a very smart way of how to keep the customer’s engagement for years. I admire this strategy because creates a really good value for both parties (customer and provider).

If you haven’t heard about Azure Reservations it’s a good time to start your home research with this link.

In nutshell, you pay less for the Azure resource based on pre-purchased Reservations in years. That means that a longer commitment with the resource you make less expensive it is going to get.

How to order Reservation in Azure portal

1. Log in to the Azure portal and search for ‘Reservations’. Select the Reservations option from the list and you should be able to see this page like in the picture below:

This is the current list of all reservations I have for one of my clients

2. Click on the ‘plus’ icon on the top left corner. You will be redirected on this page as shown in the picture below:

List of resources to choose from

3. Select resource you like to reserve from the list (I chose Virtual Machine)

4. If you currently hosting some VM (as in my case) in Azure without Reservation, this tool does the filtering of the size of VM automatically on the next page for you based on real-time utilization of that VM – that is smart!

5. Refine your selection in the next window by selecting the exact instance you like to reserve like in the picture below. This step is brilliant. It gives you an exact quote of how much it is going to cost you and what saving you are getting with a selected time commitment!

Available VM sizes with a price quote and estimate saving

6. Review the order and click ‘Review + Buy’ as is shown in the picture below:

Review order and purchase the reservation

7. … and we are done! You can monitor the overall Reservation utilization on the resource on the same page later on.

The process flow thanks to MS UX and UI is very intuitive, fast and clear. Tell me your thoughts in the comments below!

Changing mind after purchase?

Unfortunately, there is some cost associated if want to cancel after purchasing the Reservation.

But, what I would recommend doing instead is trying to do a Reservation exchange!

Yep, you hear me right, you can exchange the Reservation for some other one as long as the purchasing price is not lower than the original one.

I think it’s brilliant and saves a lot of fiddling around on cost management when business strategy changes!


Why is CDN very important for your static HTTP content

Almost everyone heard about CDN but what that actually is?

Explained: CDN (Content delivery network) is the set of geographically distributed servers (proxy servers if you like) that cache the static content on running physical hardware which speeds up the actual download to its destination.

The global CDN network
The global CDN network in Example

Now, let me explain why the CDN network is such a big player in the Solution infrastructure and why no Solution developer/architect should overlook this.

But before we go any further let me mention another term which is: response latency.

Explained: In other words, the time needed for to download the Website content entirely to the consumer (End-user) device.

And as you can imagine, this is another very important factor to have your eye on if want to keep your audience engaged to service provided content as long as possible.

Low latency means a better User responsiveness/experience with the Website (Web service).

The question is, how to achieve the lowest latency possible? … there are two ways how to do it:

  • to use a very fast network for content delivery, or
  • to cache the content as closely as possible geographically to your audience

… the combination of both of these is the ultimate state towards which the global network is going (near real-time response).

And as all of you probably understand by now, to get the best ROI in the time you put into the content it is very important to have your infrastructure in the best shape possible. Keeping your visitors happy by serving them content as fast as possible helps to build better Website awareness and audience growth.

What CDN service provider I use?

Among all of the CDN providers, I have came across, Cloudflare is the one I was attracted most.

.. for many reasons:

The main one is that the service is offering a reasonably good DDoS protection shielding and well distributed and fast CDN server nodes.

Cloudflare account dashboard

To me, it is almost unbelievable that all of that for as much as $0! Yes, all of that can be yours for FREE! Very sweet deal, don’t you think? (btw, I am not participating on any affiliate program!)

Setting all of that up is a really straightforward and well-documented process.

If you want to know more visit this guide of how to set it all up.

The entire configuration process becomes even easier if having a domain name address purchased separately from the Web hosting (easier to maintain the DNS servers configuration over Domain name provider portal – which every solid domain name provider has).

Some another feature Cloudflare provides is the fast route finder across the Cloudflare network called Argo, which helps to decrease loading time and reduces bandwidth costs.

I have been using this service for one of my clients who is providing Address lookup and Address validation services over REST API web services hosted in Cloud in multiple geographically different data centres and I must say that the customer experience was very positive since.

In numbers, I was able to reduce an HTTP response latency time down from 1.4s to 0.5s! And these are very good performance improvements for a business where time is the essence.

I am leaving this link here if interested to know more about this.

Anyway, thank you again for visiting this post, I hope you have enjoyed reading and let me know what CDN provider you’re using!


Distributed System Architecture: Modern Three-Tier

Modern Three-Tier

The most used infrastructure architecture for SMEs and data-oriented small businesses operating on a global scale.

When it comes on the technology stack, and if talking about Web Applications then the most common setup I have seen all over the place is React.js being used for SPA or PWA frontend as a client/presentation layer, node.js as a Rest API Server/business layer and Cassandra (open source) as distributed (optionally cloud-based), fault tolerant, well-performed, durable, elastic, …, supported (don’t forget on decent support from the community!), decentralized and scalable database/persistent layer.

Your database does not have to tick all of these boxes from above (apart from being distributed), but if you’re going to put all that effort to build this type of infrastructure, you want to make sure that the database meets as many required features from being modern and long-lasting solution sitting in infrastructure as possible (think about your development ROI Devs!!).

The way how it works is that the client application (fetched from the store or application server) is capable to handle the user tasks by itself on the client device with the data supported over the API (node.js) and in event of Server API running out of the breath, a new instance of the Application API server will be provisioned (new node is getting created, horizontal scaling -> scaling out/in).

Database, as it stands in this model, does not have this scaling capability but can scale up or down instead as needed (service is given more system resources, vertical scaling -> scaling up/down).

An illustration of how it’s getting all wired up together

1.1 Modern 3-Tier Distributed System Architecture



  • great logical separation and isolation with a lot of room for cybersecurity policy integration
  • not-complex architecture when it comes to problem investigation and troubleshooting
  • easy to medium complexity to get the infrastructure up and ready for development and maintenance (less DevOps, yaay!)
  • an easy option to replicate infrastructure on user localhost for development purposes (just makes it all easier during branch development)
  • infrastructure running cost is relatively small


  • decommissioning provisioned nodes can be tricky (depends on the technology used)
  • data synchronization and access needs orchestration (subjected to database type)
  • shipping new features out need an entire Application server deployment (downtime)