Skip to main content


Showing posts from 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 …

Azure Tools - Azure SAS Generator

I decided to start a new series of articles about tools that can be used by Developers to improve their experience with Microsoft Azure. Each week I will publish a post related to a tool. The main focus is on tools that are free of charge, but sometimes I might include paid one.
Context: Having discussions with various technical people, especially from the development area, I realize that the tools that they are aware of are limited. There are so many tools that can improve our experience when we work with Microsoft Azure. Even so, many times we rely only on a few of them.
Highlights of Azure SAS Generator
Azure Services: Azure Storage (blobs, tables and queues) Cost: free of use How is delivered: Native Windows application Top 3 features: #1 SAS key generator#2 Works offline#3 Update the SAS key dynamically when you change an attribute
Pain points: #1 Sometimes freeze and does not generate the keys#2 Cannot add accounts using your Azure account#3 Does not load the resources dynamically from t…

[Post Event] ISTA Conference - Sofia, 2019

This week I attended the ISTA Conference for my 3rd time, and I was impressed. This year I found a conference with more than 850 attendees and 25 presentations. I really liked the format, with only two tracks in parallel. This allowed the organisers to increase the quality of content. There were speakers from different companies like Uber, Google, VMWare, Experian and even Falcon.

I had the opportunity to deliver a session about how we can develop and build an application that runs on top microservices and serverless and what are the technical challenge that we need to tackle. You can find below my session details and slides.
Thank you ISTA team for this opportunity!

Title: A hybrid approach of the serverless world 2019
Abstract: This session prepares us for tomorrow problems and needs by trying to present a world where serverless can coexist with microservices and even traditional systems. We discover an architecture approach that can solve today problems with tomorrow technologies – …

[Post Event] ITDays - Cluj-Napoca, November 2019

On November 12th and 13th I attended ITDays conference. At ITDays I was invited to speak about
how we can reinvent the IT using Microsoft Azure and what is the future of cloud - Cloud as a Service how I like to call it. You can find more about my sessions, including the slides at the end of my post.

It was the 7th edition of ITDays, where there were more than 80 sessions on 4 different tracks. The topics presented during the event were from different domains and industry from IoT & cloud to security and programming art. ITDays it's a good place where you can see what are the current trends of IT in the world and what is happening in Cluj-Napoca from this point of view.
Title: CaaS - Cloud as a Service Abstract: Working with the cloud is not a big thing anymore; it is just another place where you can run your workload. Have you ever ask yourself what does the future prepare for us? Join this session if you want to discover how cloud is transforming the way how we do business and …

Azure AD and AWS Managed Microsoft AD side-by-side

In my previous post, I’ve made a subjective comparison between AWS Cognito and Azure AD. I took into consideration only the features that I was directly interested in.  In this post, I want to summarise what are the main differences between Azure AD and AWS Managed Microsoft AD. Why? Because on AWS, the documentation related to what are features of AD available inside AWS Managed Microsoft AD is limited, and you cannot find a clear statement. Some of the cases I had to spin-up a service instance and check manually if a feature is available or not.
First of all remember that the Azure AD is the last version of AD that Microsoft has, full-featured. In comparison, AWS is offering a ‘legacy’ instance, with features that are available inside the on-premises AD deployments. Because of this, the features available inside AWS Managed Microsoft AD is just a subset of the ones available inside Azure AD. The question that we need to answer is WHICH ARE THE ONES
The below tables covers the most…