Skip to main content


Fundamental Books of a Software Engineer (version 2018)

Recent posts

[Post Event] ITCamp Community Event (Timisoara) | March 17, 2018

On March 17th we had another ITCamp Community Event in Timisoara. This event took place Hotel Timisoara and convinced more than 50 IT specialists, to wake up at 08:00 AM Saturday morning and join the event.
Multiple topics were presented and discussed during the event, from Azure Platform and Coco Framework (Microsoft Blockchain framework) to Docker and Power BI. From the sessions, it is clear that Azure together microservices are here to stay and Blockchain technology is becoming part of our life.
At this event, I talked about Coco Framework and Blockchain inside Microsoft Azure. This new technology is already inside Azure and is offering an environment where you can run any blockchain solution on top of Azure.
You can find the artifacts from my session.

Title: Azure Blockchain Service – Myth or Reality

Abstract: This is a session dedicated to the blockchain. We talk about mining inside a cloud provider and why blockchain is so attractive to any company nowadays. In the second part of …

Azure VM Availability SLA

This post is focusing on the availability SLA of Azure Virtual Machines. You might think that there is not so much to say about it, even so, the reality is different.
Let me ask you a simple question when you talk about availability and Azure Virtual Machines:
When do you have 99.9% availability?When do you have 99.95% availability?
Case 1: Single VM
When there is only one instance of VM, the SLA guaranty us minimum 99.9% availability. There are no actions that you can take to improve this value. Remember that this is the minimum value that is guaranteed. This value means that the real value can be higher than 99.9%.

Case 2: Two or more VMs in the same Availability Set
When there are two or more VMs in the same Availability Set, you have the availability SLA to 99.95%. This value means that:
The availability of the two or more VMs combined is at least 99.95%. On the other hand, this does not mean that for each VM the availability is 99.95%. Per node the availability can be lower but combi…

Adding extra- complexity to a solution by using too many SaaS of a cloud provider

When you embrace Azure or another cloud provider, you’ll discover an environment that offers out of the box a high variety of options for each type of action that you need.
Let us take computation as an example. If on-premises you would have the option only on top of VMs, where on top of them you would be able to put any other solution that you would like, when you are on Azure, things are looking different.
Beside the classical VMs, on Microsoft Azure you have: Scale Sets, App Services, Functions, AKS (Azure Container Services), Container Instances, Batch, Service Fabric and other Cloud Services (classical Web and Worker role for example).

Having so many options, selecting the best service for your needs might be tricky. It is not about taking the wrong decision; it is more about selecting the right service for your needs, taking into account your context and expectations.
This is one of the most challenges steps during the initial phases of the project that can ensure…

How to secure access to Azure Management Portal

Migrating an existing system to Microsoft Azure can be a challenge when strong security requirements need to be in place. There are multiple tools and services that help us to provide a secure environments that it is not in our own datacenter.
Often we are focusing to secure the application and systems that are running inside Azure and forgetting about the Azure Portal itself. We can have the most secure application inside Azure if our subscription is compromised and someone is able to access it as admin.
In this post, we will look on some basic mechanisms and policies that enable us to secure access to the Azure Portal and subscription.

There two ways to access an Azure Subscription and to any kind of changes.
1.Azure Portal: The main dashboard used to administrate our Azure Subscription
2.SMAPI: Over the Rest API exposed by Microsoft, command-line interfaces like PowerShell, Batch can be used with success or even custom applications

Multi-factor authentication
One of the firs…

IoT Home Automation | Stabilize the garage doors solution after power break (resistors and capacitors)

A few weeks’ ago, I added the proximity sensors to the garage doors. Everything was perfect until the first power break when one of the garage doors automatically open. Initially we did not know what was the cause, so after a few weeks same thing happen 2 or 3 times.

Root Cause
Because of this instability, I had to shut down the ESP8266. You do not want the garage door open when you are not home and you have a dog that might eat even the car itself (smile).
It seems that this is a common problem when you use ESP8266 connected to a power source that is not stable. The problem is hard to replicate without a power break. When a power break occurs and the power is back there is a fluctuation in the electrical current that is hard to replicate.
This happens on all digital ports except D1. On D1 it seems that the version of ESP8266 board that I have has a resistor that does his job.
Additional to this the number of consumers is pretty high with the additional proximity sensors attached to th…

How to audit an Azure Cosmos DB

In this post, we will talk about how we can audit an Azure Cosmos DB database. Before jumping into the problem let us define the business requirement:
As an Administrator I want to be able to audit all changes that were done to specific collection inside my Azure Cosmos DB.

The requirement is simple, but can be a little tricky to implement fully. First of all when you are using Azure Cosmos DB or any other storage solution there are 99% odds that you’ll have more than one system that writes data to it. This means that you have or not have control on the systems that are doing any create/update/delete operations.

Solution 1: Diagnostic Logs
Cosmos DB allows us activate diagnostics logs and stream the output a storage account for achieving to other systems like Event Hub or Log Analytics. This would allow us to have information related to who, when, what, response code and how the access operation to our Cosmos DB was done. Beside this there is a field that specifies what was the operatio…