Skip to main content

Posts

Recent posts

Should(n't) peek and lock a message from Azure Service Bus for 5 hours

Let’s talk about anti-patterns when business drives technology.
Imagine that you are working for a bank where you implement a message base communication build on top of Azure Service Bus.
Everything works great for a few years until one of the business stakeholders implement their business application in such a way that a message needs to be locked for 5 hours. They used competing consumer pattern to support business requirements -  to wait for confirmation from external users for a maximum of 5 hours. If there is no confirmation from the users, the request (message) shall be processed one more time.

Issues
There are some mistakes in the way how business reqs was implemented:
(1)The maximum Peek and Lock of a message from Azure Service Bus is 5 minutes. It is impossible to peek a message from a subscription or queue and do a lock for 5 hours.
(2)It does not clearly define the number of retries. If the user(s) does not confirm the action would mean that the message will be available over …

How does consistency levels affects the latency of Azure CosmosDB

Azure Cosmos DB has 5 different consistency levels (Strong / Bounded Stateless / Session / Consistent Prefix / Eventual). Each consistency level can affect the latency of operations that we are doing on the storage.
In this post we will try to respond to the following question:

What is the latency impact of different consistency level? 
Latency in general
The current SLAs are offering us the guarantee that the READ and WRITE operation is in 99% of the cases under 10ms. The average latency of the current content fetch from Azure Cosmos DB is under 4ms in 50% of the cases.
The write operations are a little slower, reaching maximum 5ms in 50% of the cases. This is applicable only for Bounded Stateless / Session / Consistent Prefix and Eventual.

For Strong consistency and databases across multiple regions, the latency is higher, but this is expected because of the replication requirements. For example if you have Strong consistency on a database that is replicated in two different regions t…

[Post Event] Global Azure Virtual 2020

During these times, delivering sessions remotely started to become a normality. Global Azure Virtual 2020. It was fun and a little challenge to deliver them in front of my laptop, without having the ability to be in a real venue. I love to interact with people and the social distance makes things difficult.
Last week I had the great opportunity to deliver 3 sessions during
In a few days, the recording will be made available, but until then you can find below the topics that I covered. Than you for joining the event.

Airplane buddy matching using Azure Form Recognizer
Let's dive into the computer vision world by designing a system that can analyse the flight tickets and identify the other co-workers that will fly to the same destination as you. To be able to build such a system we will use the power of Azure Cognitive Services and Form Recognizer.

Demystifying messaging communication patterns
Kubernetes together with microservice architecture provides perfect support for the new gen…

Managing different document versions in the same collection of Azure Cosmos DB

Azure CosmosDB, with the NoSQL approach of storing data, enables us to have flexible schemas. It gives us the power to store multiple version of the same document (object) in the same collection (list) inside a NoSQL data store. Depending on the business requirements and what other system needs to be integrated with your data store, having multiple document types in the same collection can be tricky and can create issues for the consumer.  The tricky part is when you start to have multiple versions of the same document stored in a collection. The application(s) that consume the documents needs to start to be aware of multiple versions of the same document type and the ability to manage them differently. It involves transformations or managing the documents in different ways.
Imagine a system that runs in production for 5 years. Every 6 months, a new version of the system is released, where a part of the documents that are stored in Azure CosmosDB have new fields or the current ones ar…

Demystifying Azure AD B2B and B2C

Very often, I am involved in discussion related to Azure AD and Identify and Access Management. A common topic is related to what we should use – Azure B2C or B2B and what is the best option for the given context.
Let’s try to identify what are the main differences between and what are the limitations of the two options that we have available inside Azure AD.

Azure AD B2C
Azure AD B2C (Business2Customers) is for solutions that have a front-end and interaction with users. It enables us to have an identity system that supports users to sign-in using their own identity or identity created inside Azure B2C. Users can use their personal Facebook, Google, LinkedIn or Amazon account to log-in inside your application.
Azure AD B2B
Azure AD B2B (Business2Business) has a different purpose in comparison with B2C. The primary purpose of it is when customers want to share resources (e.g. files, Azure resources, Office 365 content) with external users. B2B involves federation between the customer AD …

[Post Event] PASS Community, April 2020

On the 14th of April, I had the great opportunity to share with PASS Community my knowledge related to Azure tools that can be used by a DBA. If you want to take a look at the free Azure tools you can find the slide deck below.
Thank you for the invitation! If you have any questions you can contact me on Twitter or LinkedIn. Dba Tools for Azure from Radu Vunvulea