Skip to main content


Showing posts from 2019

Scaling dimensions inside Azure CosmosDB

Azure CosmosDB is the non-relational database available inside Azure, multi-model and global distribution. Documents are stored in collections, that can be queried to fetch content.
In general, people are doing the following comparison between DocumentDB and SQL

A Document is similar to a RowA Collection is similar to a TableA Database is similar to a SQL DB Even so, when you talk about scaling and throughput, things are a little more complicated inside Azure CosmosDB - there are 2 different dimensions that can be used for throughput.
Container Level The first one is at the container level. What is a container? Well, for DocumentDB it is represented by the collection itself. You have the ability to specify the no. of resources (RU - Requests Units) that you want to reserve for a specific container.  When you specify the level of throughput you also required to specify a partition that will be used to generate the logical partition. That is generated behind the scene and contain documen…

Azure Storage tiers and availability

In this post, we will cover what are the main differences between all the storage tiers available inside Azure Storage.
With the launch of Geo Zone Redundant Storage, there are 6 different types of tiers, that can cover different scenarios. Let's take on different scenarios and see which of them are most suitable for different cases.

Whare are the 6 different tiers?
Locally redundant storage (LRS)Geo-redundant storage (GRS)Read Access geo-redundant storage (RAGRS)Zone-redundent storage (ZRS)Geo Zone Redundant Storage (GZRS)Read Access Geo Zone Redundant Storage (RAGZRS) Remember that all of them are having an availability SLA to write access that has 3 nines (99.9%). The read SLA is different for each tier and starts from 99.9% for LRS, GRS, ZRS and GZRS and goes up to 99.99% for RAGRS and RAGZRS. The durability SLA for a year is at least 11 nines for LRS and goes up to 16 nines for GRS, RAGRS, GZRS and RAGZRS.

Scenario 1: One storage node is not available inside the Availability Zon…

MQTT protocol inside Azure - RabbitMQ on top of AKS

In this post, we will talk about what are the available options at the moment when you need to support MQTT protocol inside Azure.
Business requirement Design a solution that can handle 10M messages per day that it is deployed in one Azure Regions and support MQTT protocol.
Out-of-the-box options Inside Microsoft Azure, the only option that we have to use MQTT as a service is in combination with Azure IoT Hub. This service is design to scale and manager a high number of devices and throughput. There are situations like when you need to collect telemetric data when Azure IoT Hub is to complex and you would like a more simple solution. You would need just an endpoint where you can push metrics. Inside AWS, we can use Amazon MQ that it is a managed message broker service build on top of Apache ActiveMQ.
Similar options are available inside Azure, but none of them is supporting MQTT. For example, Azure Event Hub is a right candidate, but unfortunate it is supported only AMQP protocol th…