Skip to main content

Posts

Showing posts from February, 2016

Azure Service Fabric - Actors and Reminders execution order

The main topic of this post is the order execution of requests that are coming to a Reliable Actor of Azure Service Fabric.

Actor and Single-Thread
Of the most important characteristic of an Actor is that is single-thread. This means that if you have 3 different requests that are coming to the Actor, the actor will execute them one at a time.
As we can see in the above example, while the actor execute the first request, it will not start executing the second request. All the requests will be added to an 'execution queue'. In this way, there will be only one thread executing in the same time on an actor.
This is why, all the functionality that is exposed by an actor is asynchronous and should all the time have a cancellation token. We might have cases when we want to cancel a request because of a timeout or other causes.

Reminders
On top of this we have Timers and Reminders that are used in combination with an Actor when we want to execute a specific action after a period of time…

Azure Quotes - Cores per subscription at Azure Region level

Each Azure Subscription had a default quotas service limits. You can check this quotas on the following Azure page https://azure.microsoft.com/en-gb/documentation/articles/azure-subscription-service-limits/.
This values are set by default and can be increased easily by creating a new support requests.
In the new portal there is even a special support request template for this kind of scenarios.
I was surprised how fast the support team responded to my requests. In under 15 minutes a part of the quotas were changed of I was contacted to confirm the change.

Core Limitation
Let's talk a little about Core limitation. The default value is 20. This means that you can have allocated maximum 20 CPU Cores (VMs, Web Roles, Worker Roles, ...). The maximum public limit is 10.000 cores, but the interesting thing will happen in the moment when you want to change this limit and you do a request for it.
You will need to specify not only the number of cores that you need (let's assume 100), but…

[Post-event] ITCamp Community Event, February 24 - Cluj-Napoca

Original link: http://vunvulearadu.blogspot.ro/2016/02/itcamp-community-event-february-24-cluj.html
This week we had the first ITCamp Community Event in Cluj-Napoca. It was a great event, where we had more than 100 attendees. As usually, we had two sessions where we talked about Azure Service Fabric and how you can build a state of the art mobile app using UWP.

As usually, we had two local sponsors that supported all the events costs. In this way we were (are) able to offer a free community events.
Special THANK YOU to our local sponsors:

, and we hope that you will continue to sustain us in the future also (big smile).
You can find below the slides from the event and some pictures.  See you next time!
First 13 steps to be able to design an application for Azure Service Fabric - Radu Vunvulea
First 13 steps to be able to design an application for azure service fabric from Radu Vunvulea

Building my first mobile app with UWP Crișan Romulus


Pictures:






Code Review: Class Comments

Let's talk in this post about code comments, around the following example.
/// <summary> /// ... summary comments ... /// Note: If you change environment make sure you clear this file,as it will contain cached configuration /// </summary> public class ConfigurationPersister { public T GetConfiguration<T>() { ... } public void PersistConfiguration<T>(T configuration) { ... } internal bool HasConfiguration<T>() { ... } private string CreateConfigFileName(string fileName) { ... } private void CheckConfigDirectory() { ... } }
Tags
First thing that we might notify is the 'NOTE' part. For this kind of scenarios we should use custom tags like '<remarks>'. In this way the other developer that is using the ConfigurationPersister (class), can see more clearly any remarks.
/// <summary> /// ... summary comments ... ///…

Azure Development Environment - Control the bill

Azure Development Environment Series: http://vunvulearadu.blogspot.ro/2016/02/azure-development-environment-control_16.htmlhttp://vunvulearadu.blogspot.ro/2016/02/azure-development-environment-control.htmlhttp://vunvulearadu.blogspot.ro/2016/02/azure-development-environment-costs-and.html

When you have a development team that is working on an application that is hosted (or is using) on Azure you need to be aware of the costs that are generated by Azure Services.
Even if the costs can be low at the beginning, if you have a big team the costs can increase. For example if one developer needs 3 Worker Roles, 2 instances of SQL Azure and 2 different namespaces of Azure Service Bus you can have a monthly costs of 100 EUR. But if you add 6 more people, you will add automatically another 600 EUR at your bill.

Review Azure Bill
To be able to control these costs, you should have a person that is responsible to check the Azure bill every month. This person should not look only at the final cost, …

Azure Development Environment - Control when an Azure VM runs

Azure Development Environment Series: http://vunvulearadu.blogspot.ro/2016/02/azure-development-environment-control_16.htmlhttp://vunvulearadu.blogspot.ro/2016/02/azure-development-environment-control.htmlhttp://vunvulearadu.blogspot.ro/2016/02/azure-development-environment-costs-and.html In the last post we talk about how we can reduce the cost of Azure development environment of a small team by using an Azure VM to store all the databases that are needed by developers.
In this post we will see how we can optimize the cost of this Azure VM, by running it only when developers are active.

Context
Usually the development team works from 08:00 AM to 07:00 PM. Don't imagine that they stay for 11 hours at work. We have colleagues that comes at 08:00 AM and leave at 04:30 PM, others are coming at 10:00 AM and will stay until 07:00 PM.
Based on this information we observe that between 07:00 PM to 08:00 AM nobody is working. This means that the Azure VM is not required to run in this time …

Azure Development Environment - Costs and Optimization

Azure Development Environment Series: http://vunvulearadu.blogspot.ro/2016/02/azure-development-environment-control_16.htmlhttp://vunvulearadu.blogspot.ro/2016/02/azure-development-environment-control.htmlhttp://vunvulearadu.blogspot.ro/2016/02/azure-development-environment-costs-and.html The story started  in the moment when the team size started to increase. Working with a cloud solution like Azure requires you to be aware of the costs.
When I say costs I'm not referring to the cost of running of the system in cloud. Each environment that you need to have will generate an extra cost. This doesn't means that you shouldn't have multiple environments. But you should keep an eye on the costs and try to make a good estimation from the beginning.
In general you would have the following environments:
DevelopmentTestingIntegrationStagingProduction First of all, you might have different needs for each environment. For Development, Testing and Integration you don't need the sa…

ITCamp Community Event, February 24 - Cluj-Napoca

ITCamp is coming back in Cluj-Napoca with another community event. This event will take place in February 24, from 18:00 and will be hosted by 3 Pillar Global and Yonder - at The Office.
At this afternoon event, there will be two sessions that will talk about how you can write Universal Windows Apps and about Microservices in Azure World (Service Fabric).
More information about this event can be found here - http://itcamp-community-2016-02.eventbrite.com.
As usually the event is free and is dedicated to all developers from Cluj-Napoca.

Agenda:
18:00-18:30 Registration
18:30-19:30 First 13 steps to be able to design an application for Azure Service Fabric Radu Vunvulea Welcome to a session where we will talk about the most important thing that we need to know about Azure Service Fabric and microservices. This presentation will introduce you in the most important concept of Azure Service Fabric with real life examples and demos. This is not a how to session, this is a session with the …

Visual Studio 2015 plus Windows 10 - Solution for 'System.TypeInitializationException: The type initializer for 'Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment'

It seems that the below Exception is following me like a ghost with each new version of Visual Studio.
System.TypeInitializationException: The type initializer for 'Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment' threw an exception. ---> System.TypeInitializationException: The type initializer for '<Module>' threw an exception. ---> <CrtImplementationDetails>.ModuleLoadException: The C++ module failed to load while attempting to initialize the default appdomain. ---> System.Runtime.InteropServices.COMException: Invalid operation. (Exception from HRESULT: 0x80131022) at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) at <CrtImplementationDetails>.GetDefaultDomain() at <CrtImplementationDetails>.DoCallBackInDefaultDomain(IntPtr function, Void* cookie) at <CrtImplementationDetails>.LanguageSupport.InitializeDefaultAppDomain(LanguageSupport*) at <CrtImple…

Creating a Microsoft Band Tile to push build status notifications

Last year Microsoft had launched Microsoft Band 2. From the hardware configuration, it’s very powerful with a lot of sensors and a battery autonomy that offers me two days of power.
Overview But, the thing that impress me is the software part and how easily you can develop a tile (a custom app) for it. You don’t need to learn C#, you can create a tile easily directly from browser. Yes, you heard me, from a browser - https://developer.microsoftband.com/WebTile
This will allow you get content from the the fat web and push it to your tile. In this way you can easily integrate your application with the band - fast and easy

Another great thing is how you deploy and share tiles. You don’t need to push to the store, validate it and so on. No, you are free to share the tile with anybody. Just upload it to a specific location and share the URL with your friends via email or web. The phone can detect automatically the tile and open it using Microsoft Band application.
Information is the power
For cons…