Skip to main content

Posts

Showing posts from May, 2014

[PostEvent] ITCamp 2014, Cluj-Napoca

Last week, Cluj-Napoca hosted the 4th edition of ITCamp. More than 400 people participate to this premium conference. During the two days of the event, more than 30 speakers talked about Microsoft Stack, Architecture, Cloud, Development methodology and many more. For this two days we could say that Cluj-Napoca was the center of IT from Romania.
This was the first year when we had 4 tracks in parallel and there were moments where it was pretty hard to decide at which session to attend. Session like “Management of Fear”, “30 Tools for Modern .NET Web Development in 60 minutes”, “Code Quality through Application Software Infrastructure” or “The Battle for Success” made waves between attendees.
Special thanks to the core organization team (Mihai Tataran and Tudy-Tudor Damian). You made a great job this year. There were a lot of sponsors that sustained this event. I’m proud that iQuest was one of the Platinum sponsors.
This year I had the opportunity to do a workshop dedicate to Agile, or…

[Event] ITCamp 2014, Cluj-Napoca - Few seats left for Agile In Practice

ITCamp 2014 will take place next week in Cluj-Napoca. It is not too late to register, there are some tickets left. The agenda is full with interesting session related to different subject from Microsoft world. At the end of the first day I will have a full session where we will talk about Redundancy and Fallback mechanism on Microsoft Azure. Another good news is that in Mai 21 I will have a full day workshop about how and why we should be Agile. We will talk about different concept and approaches of Agility in a project and in a company. Basically we will define and explain Technical Excellence from an agile perspective.   Feel free to register. The number of seats is limited. Registration link: http://itcamp.ro/workshops.cshtml#2

Azure Traffic Manager - How to use on-premises endpoints

Some weeks ago I wrote a short blog post about Traffic Manager. It is a great service that can be used to redirect traffic to the closest datacenter, redirect traffic in a balanced way (Round Robin) or to be able to redirect traffic to another location when an endpoint goes down.
For more information related to it please visit the following blog post: http://vunvulearadu.blogspot.com/2013/07/traffic-manager-overview.html
But let’s see what else we can do with Traffic Manager. Of course we can register very easily endpoints from Azure, this is normally. But you should know that it is possible to register public endpoint that are hosted on on-premises system or why not on other clouds providers.
This features is the kind of feature that can make your life easier. Why? Why not have endpoints on-premises and use Traffic Manager only for redirecting purposes, in case of failover and so on – almost like a load balancer, but without the ability to read the load of each endpoint (this cannot …

ASP.NET vNext - Deploying your own version of .NET Framework

In this post we will talk about a new feature of .NET, that will allow us to deploy the .NET CLR with the application itself. No more .NET installation and versioning problems… or not
The new version promises us that we will be able to include in the application package all .NET dependencies that we are using. This mean that we can run our application on machines where we don’t have .NET installed. When we create our build, the package will contains also all the .NET resources needed.
For example the client will not need any more to install the .NET framework. This is great, because there were cases when we had to install .NET 4.0 and also .NET 4.5 on different machines because of the dependencies.
In the same time, the client will have locally only .NET components that he is using. For example we don’t need WCF or WF components installed on his machine if the application don’t use it. The deployment and setup step will be simpler and we will not use need any more to consume client s…

World is changing - .NET Native is here to stay! Sustained by .NET vNext, this is the features

Many years ago there was the COM hell. I used to work on a legacy project, where one of my colleges yell “This is DLL hell”.
Well, with the new .NET vNext (4.5.2) will change the face of the world. We could say that the history of programing is now changing. With the features from vNext and the new compiler called Roslyn you can do anything you want. For example you can change the compiler implementation, write your own compiler over it and many more.
The feature that impresses me the most was saw called .NET Native. Even if now we have support only for Windows Store, we should expect in the future to have support of this feature for all platforms.
So, what is .NET Native?
It is a new kind of compiler for .NET. The code is compiled directly to specific machine code. No more JIT and other layer of abstraction. You get what you need for your machine, extremely optimized for the specific hardware (X86, 64b, ARM). The existing CLR was optimized and refactored.
Yes, you have the C++ perfo…

Using Extensions Methods for DI setup

This days I saw a pretty nice idea of implementing the setup part of a DI container – when you make the setup from code and not from configuration file.
Usually when you are working with DI on a big project, you a piece of code for each component (assembly) that register into the container the instances for that component - ContainerInstaller. When you start the application or load a specific container you need to call that specific class end register all the items for that class.
public class FooInstaller { public void Install(IContainer container) { container.Register<...>(...); container.Register<...>(...); } } This can be made automatically, if you define an interface like IInstaller. Using reflection or other mechanism you can automatically find this installers and run them.
Another solution that I think that is pretty interesting is to define an extension method for each component (assembly) – an extension method of builder. Each …

What is the difference between Customer and End Users?

In a lot of IT projects, Customer and End User contains the same group of people, even if in realty they are different. Because of this, we can end up very easily into a conflict between different scopes. In today post we will take a look about the Customer and the End User of an application. We will try to define and discover what the similitudes and difference are between them. The simplest way to describe this two roles is: Customer: relates to the development processEnd User: relates to product and services TIP: You should never be end-user-driven, otherwise the customer will look as a ‘not team player’ – heathen person.
End User consumes and needs services brought by the product that you develop. For them, the application itself and the services/features from it bring the real value. In general, the source of revenue for customer is the end user that pays for this product. And in the end this feeds also the development team. We can see a Customer, as a middle man between End User…

Load Balance Probe of Azure - Custom Load Balance logic

In today post we will see how we can define our own probe for load balancer. Before going deeper about this topic, let’s make a step back and talk a little about Azure and Load Balancer.
On Azure, we have a load balancer out of the box. We don’t need to pay extra for it or activate it. In the moment when we have more than one instance of a specific role, load balancer will start to work and do his job.
Load balancer use a Load Balancer Probe (we will call Probe) to check the status of an instance. Basically a call is made to each instance every few seconds. If the status of instances is different from Ready (!=HTTP 200 OK) the instances will be marked as ‘ill’.
Using this Probe, Load balancer is able to determine the health status of each instance. When the health status is not OK, all the traffic will be redirected automatically to other instances. By default a call is made every few seconds and check the health of instances. The call use the Guest Agent that is inside each virtual …

Azure Active Directory - How to get access token for Office 365 from a web application or Windows Phone 8

We already saw how Azure Active Directory works does and how we can configure and access it from a WPF or Windows Store application. Unfortunately, not all the stacks that are in this moment on the market have direct support (using a library).
For example, in a WPF application we have NuGet package that can be added to the projects and use directly when we need to get a token from AD. In this moment this is not applicable for a WP8 or a ASP.NET MVC application. I expect that in the future we will have also native support, but until than we need to use direct calls.
The good news is that Active Directory implement OAuth 2 standard. This mean that if you have a library that already use OAuth 2 standard, theoretically you can only update access URL’s and everything should be fine.
The steps that needs to be done to get the access token are not very completed and easy to implement.
First step is to navigate from a browser windows to the resource URL.
[ADLoginAddress]/oauth2/authorize?resp…

TechEd USA 2014 - Ask the Expert Team

Next week I will be in Houston (Texas) at TechEd USA. This is the 3rd time when I participate at TechEd and the first time when I’m not a simple participant. I was accepted to be part of TechEd Ask the Expert Team in the Datacenter and Infrastructure Management Team.
We will be ready to help you and give you more information related to Microsoft Azure, Performance Monitoring, Automation, Provisioning, Storage, Self-Service, Virtualization, Disaster Recovery and many more.
See you next week at TechEd USA 2014!  & Special thanks to iQuest.




AOP and PostSharp

In the last weeks we discover together the base principles of Aspect Oriented Programing (AOP). Now is the time to see how we can use at real power the AOP characteristics using PostSharp.
AOP
Before going straight to subject let’s make a short recap. AOP is a programming paradigm with the main goal of increasing modularity of an application. AOP tries to achieve this goal by allowing separation of cross-cutting concerns – using interception of different commands or requests.
In the last posts we discover how we can use AOP using Unity and .NET 4.5 features (RealProxy). Unity give us the possibility to register action that can be executed before and after a specific action. The RealProxy class is the base class around all this features that it is used by frameworks like Unity to offer this feature.
 The biggest different between RealProxy and a stack that offers us AOP is from the features perspective. Using RealProxy directly will require us to write all the functionality that we need…

Why not to use default solution for any type of project

In today post we will talk about how why is not a good thinks to use a ‘template’ solution/setup for any project.
Let’s imagine the following scenario. You need to develop an application that will require storing data to a repository. If it’s a big project, a group of architects or technical advisors (from company) will be called that will try to design an architecture for the application and identify the stacks/frameworks that will be used.
Usually a company that starts to use a specific framework will use it in all their projects because that framework is already known by them. For example for all projects that needs to persist data they will go for NHibernate even if Entity Framework could be also a good solution – or a NoSQL solution like MongoDB. Another good example is related to SPA frameworks. If they started to use a specific one, than they will stick on it without looking around.

What can happen in this cases?
Well first of all, if you don’t investigate what frameworks/solut…