Skip to main content


Showing posts from December, 2019

How to migrate an Azure Cosmos DB instance

In this post, we talk about how we can migrate an Azure Cosmos DB database from one tenant to another.
Why? There are cases when you need to migrate your database, especially when your systems evolve. In this situation moving the database from one Azure Subscription to another one, it is not enough.
Context The migration was required because of the business context and the way how the product evolved. When you need to do such a migration, there a few questions that you need to ask yourself. 1.What kind of Azure Cosmos DB API are you using? We used SQL API 2.What is the maintenance window? We had 24 hours for the entire system, with a 3-hour window for Azure Cosmos DB. 3.What is the database size? 20GB 4.What is the index size? 2.2GB 5.What are the average request and average throughput per second? The throughput is around 200 RU/s with around 25 requests/s
Current options At this moment in time, Azure Cosmos DB does not have a self-service feature that allows us to create and restore backups o…

Putting Form Recognizer on test - Extract labels from flight tickets (Cognitive Services)

Have you ever need to extract content from a document or image? I’m not referring just plain text, but key-values like tuples (e.g. name: Tom, age: 18) without having to do any additional manual steps.
Form Recognizer At this moment in time, we can find in private preview on Azure – Form Recognizer. It a service part of Cognitive Services that have an ML behind the scene, allowing us to analyse digital content and extract data that it is in key-value pairs or table data from forms.
Overview of the service The service can automatically extract this information without requiring us to do labelling of data. We need to provide at least 5 samples that are used by Form Recognizer to train the model. Once we have the model trained, we can start to extract content from our digital library. The API provided by the service can be used to get, delete or train a model and extract the keys and values. There is an SDK that is built on top of it for .NET, but for testing purpose, I used the API toge…

Cloud Maturity Level - IaaS vs PaaS and SaaS

Nowadays cloud is just a commodity, and the number of cloud providers is high (including the private one also). Most of them have a vast number of services that can be consumed from their marketplace, from classical VMs to messaging systems and data warehouse. Once you start working with multiple cloud providers, the maturity level of the cloud providers is crucial. When you want to optimise the cost and improve the quality attributes of IT solutions that you build or manage the maturity level is important.

When we look at the service list provided by a cloud important, it is essential to take into account the level of management that needs to be done by ourself. It is not the same if a cloud provider offers us just an image with Redis inside a VM or Docker in comparison with a full SaaS offering.
Depending on where each service is in the IaaS-PaaS-SaaS (and even FaaS) scale, the cost of development, automation, integration is impacted. The most significant impact is at management…

[Post Event] Global AI Bootcamp, Cluj-Napoca, 2019

At the end of this week, I was invited to take part in Global AI Bootcamp event in Cluj-Napoca. It was a great opportunity to transform to put an idea in practice and build a system that can extract information from plane tickets.
For this, I used Form Recognizer and it was a great experience. It took me less than 30 minutes to train the model and to extract the key information from the tickets. If you want to find out more about how I've done it you can check my slide deck. Next week I will follow-up with a blog post about it.

Happy to say that this was the last presentation for 2019. See you next year!

Title: Build your own airplane ticket processing system using Azure Cognitive Services
Abstract: 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.

[Post Evet] Data Platform Geeks, November 26th, 2019

In November I had the opportunity to be invited as a speaker as Data Platform Geeks conference, where I delivered a session about Azure Development Tool. It was a great experience from my side. I was impressed by the type of questions and the after session discussions that took place.
Thank you for the invitation. See you next time!

Title: Developer Tools for Microsoft Azure
Abstract: During this session we'll take a look at the proactivity tools that can be used to improve our development experience on Azure. We'll talk about tools from multiple areas like storage, computation, automation, cleaning and many more. All of them are free to use, build by the Azure community or Microsoft to improve the cloud experience.

Azure Tools - Azure CosmosDB Emulator

Highlights of  Azure CosmosDB emulator
Azure Services: Azure CosmosDB
Cost: free of use How is delivered: Windows Service or Docker container, exposing web endpoint on a local port Top 3 features: #1 Docker support#2 A web explorer similar with the one available inside Azure Portal for local documents #3 The option to delete all the data with only one click Pain points: #1 No consistency level supported#2 Limited to 25 fixed containers or 5 unlimited containers#3 Lack of support for other APIs  Download URL:
MSI: Credits: Azure CosmosDB Team

When I first discovered the emulator support for Azure CosmosDB I was super excited. Azure CosmosDB is not cheap and for development teams is always a challenge when they need to share a data repository.
Usually, each person in the team is working on different areas of the project and needs a different data setup. By …