Skip to main content


Showing posts from April, 2016

Preventing accidentally resource deletion - Lock Resource | Azure

A week ago, one of our team member modified a script that clean (removes) Azure resources, based on a naming convention. Because the number of our Azure Subscription is limited, the Development Team is sharing the same subscription between them and for DEV and TEST environment.
To be able to have a control on resources and trace the owner of them we have:
Naming conventions: A prefix that specify the owner of the resource or the environment
rvteststorage (rv - Radu Vunvulea)dv (Dev Environment) tt (Test Environment)...Azure Resource Groups that give us the possibility to group resources together. As we can see in the above diagram, Azure Resource Groups can be used with success to group together different resources that have a logic for your application or from a business perspective. 
Coming back to the initial cleaning script, there was a small bug in the script, that didn't took into account the prefix of Azure Resource Groups and removed all the resources that were under that s…

Payload Replication - Temporary and Master of data

There are moments in time when you focus on small things and you might miss bigger and more important things.

Working on a solution that is distributed in multiple Azure Regions across the world we had to replicated binary content (files) in all data centers where our solution runs.
The system that push this content is an on-premises system. In this context we decided to use a temporary location where the content is copied first and from where we replicate the content in other regions.

As we can see, the Temp location is used to replicate the content all around the glob. The system is smart enough to balance the load and if multiple replicas are needed in the same Azure Regions, only one copy will be done from the Temp location.
Once the replication is done, the binary content from the Temp location is removed automatically.

Nothing special until this, until in the moment when you ask yourself what is happening if one of the Replicas is corrupted or something happens and you lose data…

[Post-Event] ITDevConnect 2016, Bucharest

In April 23, I was been invited by ADSEC to speak about IoT at their annual event - ITDevConnect.
I decided that I should talk about what we need to take into account when we develop an IoT framework from scratch - and why it is so important to keep in mind that there are out of the box framework for this (like Azure IoT Hub) that can be used with success. 

You can find below my slides. Feel free to contact me if you have any kind of questions.

The Real Life Story of an Iot framework,ITDevConnect 2016, Bucharest, Radu Vunvulea from Radu Vunvulea

[Post Event] .NET Meetup Cluj-Napoca, April 2016

Last week ITCamp Community (@me and @Tudy) was invited to speak about ITCamp Conference at .NET Cluj meetup.
I was happy to see that there are so many people interested about technology, especially Microsoft technologies. Every year, local communities are strong and stronger. On top of this this the content and topics that are presented are more and more complex. This means only one thing - the quality of IT specialist from Cluj-Napoca is higher and higher.

[Post Event] Global Azure Bootcamp, Cluj-Napoca - 16.04.2016

This was the 4th year when Cluj-Napoca was on map of Global Azure Bootcamp, by ITCamp Community. As usually, the event was focused on hands-on and coding. The number of slides were kept at minimal, at the number of lines of code written during the 5 hours of the event were maximized.

During the event, there were the following 3 workshops:
Azure Service Fabric in Action (Radu Vunvulea)Service Bus hands-on (Radu Pascal)Azure SQL Database - Everyone's intelligent cloud database (Silviu Niculiță) Each workshop length was 90 minutes and it was full with code and samples. In total there were more than 60 people that participate at this event and learned something new about Azure and Microsoft Technologies 
As usually, local IT company offered us the full support to organize this event. A big THANK YOU for our local sponsors that made this events possible (and free):

You can find below my slides from the event. I will add also the other sessions slides, once I receive them.
Azure Service F…

Azure Service Fabric: State of an Actor is not persisted | Actor ID

We have in our Azure Service Fabric cluster an actor called SmsActorService that haves a method that allow us to get the next SMS.
The actor works great, when we want to send an SMS to our actor works great, but when we want to get a SMS, surprise, we have null reference exception when we want to access the actor state.
Send SMS to actor IAct0r mobileDevice = ActorProxy.Create<IAct0r>( new ActorId(smsToSent.Value.PhoneNumber), new Uri("fabric:/ITCamp.SF/Act0rActorService")); await mobileDevice.ReceiveSmsAsync(smsToSent.Value);
Get SMS from actor int id = 1000; IAct0r mobileDevice = ActorProxy.Create<IAct0r>( new ActorId(id), new Uri("fabric:/ITCamp.SF/Act0rActorService")); Sms sms = mobileDevice.GetNextSms().Result;
Even if we know that we already created the actor with the given ID and we have our state saved, when we access it, surprise, the state is no…

Azure Service Fabric: The primary or stateless instance for the partition has invalid address, this means that right address from the replica/instance is not registered in the system.

What should you do when you are using Azure Service Fabric and you receive the following error code when you call a Reliable Service that is Stateful:
The primary or stateless instance for the partition has invalid address, this means that right address from the replica/instance is not registered in the system.Sample
Remote Call:
IStatefull smsService = ServiceProxy.Create<IStatefull>( new Uri("fabric:/ITCamp.SF/Stateful"),new ServicePartitionKey(1)); await smsService.SendSmsAsync( phoneNumber, $"{DateTime.Now.ToShortTimeString()} Hello ITCamp!, from '{phoneNumber}'");
internal sealed class Stateful : StatefulService, IStatefull { public Stateful(StatefulServiceContext context) : base(context) { } protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners() { return new ServiceRep…

A hot fix for a Service Bus problem

In this post we will talk about a performance problem that occurred in an application that is using Service Bus On-premises. But the problem and solution is applicable also for any other system that is using not only Service Bus On-premises but also Azure Service Bus.
Context We have an application that process a specific type of messages that are coming through Service Bus. Our application has a dedicated Topic that is used only by them. A Subscription from another Topic forward automatically the messages to our application topic. The current requirement requires that we need to write in logs all the messages that we are reading from our Application Subscription, even the one that we don’t need to process. The system that push messages to our Topic, is pushing a lot of messages to our topic, even messages that we don’t need to process, but because we need to log all messages that we receive we add a filter to our Subscription to receive and consume only the messages that we care. Th…

Global Azure Bootcamp Cluj-Napoca | ITCamp Community

This is the 4th year when we host Global Azure Bootcamp in Cluj-Napoca. Below is the invitation for Romanian colleagues. Registration link: See you there!
Acesta este al patrulea an când organizăm Global Azure Boot Camp. Acesta este un eveniment la nivel global care are loc în peste 136 de locații. Ca și anul trecut, Clujul nu se lasă mai prejos și apare pe harta  Azure. Pe data de 16 Aprilie vă invităm pe toți la acest eveniment din Cluj-Napoca, care v-a conține 3 workshop-uri. Participarea la eveniment este GRATUITĂ, așa cum a fost și până acum la orice eveniment organizat de comunitatea ITCamp. Pe data de 16 Aprilie ne propunem să avem 3 workshop-uri de câte 90 de minute fiecare, unde putem să învățăm împreună cum să folosim diferite servicii Azure. Fiecare workshop conține o parte teoretică și una practică. Din această cauză, o să aveți nevoie de un laptop. De ce aveți nevoie: LaptopVisual Studio 2013 sau Visual Studio 2015SDK de Micro…

Encrypt binary content stored on Azure Storage supported out of the box - Azure Storage Service Encryption for Data at Rest

Small things make the real difference between a good product and a great one. In this post we will talk about why Azure Storage Service Encryption for Data at Rest is so important.

When you decide to store confidential data in cloud or in an external data source means that there is a trust between you and the storage provider (in our case Microsoft Azure). Many time this is not enough. There are also laws that force you to encrypt the content from the moment when binary content leaves your network until reach the next destination or will be access again.
In this context, even if you trust Microsoft enough or any other cloud provider, this will not be enough. And any paper or certification will not be enough in front of the laws. For industries like banking or health this kind of scenarios are common and migration to cloud is hard and even impossible in some situations

Encryption Layers
When we discuss about encryption and security of data, there are multiple layers where we need…

[Post Event] Microsoft TechDay Baltics 2016

What a week! This week I had the great opportunity to be invited as speaker at Microsoft TechDay Baltics 2016.
The most interesting part was that we were in 3 days in 3 different countries (Estonia Letonia Lituania). It was pretty challenge, because we had to take the airplane every evening to go to the next location and we were around 30 persons. I assume that more than half of the people from the airplane were part of TechDay Stuff.

During this week I meet wonderful people, that love what they are doing and share there knowledge with others. For me, it was the first time in Baltic countries and I was surprised to discover beautiful cities like Vilnius, Riga and Tallinn.

At this events, I talked about Service Fabric and the most important things that we should about it before starting to write our first application. You can find the slides below and if you want more information about this topic, please contact me.

Radu Vunvulea - Microsoft TechDay Baltic 2016 | First 13 steps to be a…