Skip to main content

Posts

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...

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 ...

[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 ...

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, th...

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}'"); Service internal sealed class Stateful : StatefulService, IStatefull { public Stateful(StatefulServiceContext context) : base(context) { } protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners() { return ne...