Skip to main content

Posts

Showing posts from March, 2013

(Part 2) Testing the limits of Windows Azure Service Bus

In one of my last post we talked about the performance of Windows Azure Service Bus and what is the maximum number of messages that we could process in a given period of time. In this post we will see what is the maximum numbers of consumers that we can have for subscription on Service Bus. Before staring, you should know that this refers directly to our own requirements and with our custom actions that we need to do for each message. Because of this, for each kind of application, the result can vary a lot. Scope : To see what is the “magic” number of Windows Azure Worker Roles instances that we can have on cloud that can process messages from only one topic. Environment : Each message that was added to Service Bus was pretty small. We had around 100 characters in UTF7 and 3 properties added to each BrokeredMessage. We run the tests with one; two and three subscribers with different filter rules and the result were similar. Each message that is received from Service Bus requir

Microsoft comes to Cluj-Napoca to talk about Windows Azure – April 2

If you want to find out more about Windows Azure features and business scenario when Azure can be the perfect solution for you, … then I invite you to Windows Azure Tech & Business Camp. The trainer of this camp will be Zoli Herczeg (BDM – App, Microsoft Romania). The event will take occurs in 3 location Timisoara (Match 27), Cluj-Napoca (April 2), Iasi (April 4). In Bucharest this event is combined with Windows Azure Boot Camp that will occurs in April 27. In the first part of the event, Zoli H. will presents what are the features of Windows Azure and how we should work with them. In the second part of the day he will talk about business scenario where cloud is our best friend, how we can make money from. You can register to these events using the following links: Timisoara – March 27 Cluj – April 2 Iasi – April 4 Bucuresti – April 27  http://sdrv.ms/WxOQSc  and  http://sdrv.ms/14iBe1N  (the seccond link is for business discussion) Don't forget that in Cluj-Napoc

(Part 1) Testing the limits of Windows Azure Service Bus

At the end of the last year I had the opportunity to write an application that had to handle millions of messages every day. To distribute the messages between different components of the application we used Windows Azure Service Bus Service. In the past I talked a lot about this distribution messaging system. In this post we will see what are the magic numbers of a Topic from Windows Azure Service Bus Service. Scope: To see how many messages can be process in as short period of time. What is the maximum number of messages that can be processed using Service Bus using only one Topic. What is the optimal number of consumers for a subscriber or topic. Environment : Each message that was added to Service Bus was pretty small. We had around 100 characters in UTF7 and 3 properties added to each BrokeredMessage. We run the tests with one; two and three subscribers with different filter rules and the result were similar. Action : We created 5 to 10 worker roles that started to send h

Cluj IT Innovation Days, 03.22.2013 - Why people should believe in cloud

This week we had in Cluj IT Innovation Days. The main purpose of this event is to develop business relations with international partners and bind the local community. Different people were invited to talk at this event, from business to technical people. At this event I was invited to speak about cloud. The topic that I have chosen was “Why you should believe in cloud”. The slides from this session you find at the end of this post. The most important thing that people should remember after this session is related of the maturity of cloud solution. In 2013, we reached the point where cloud providers have mature products. From now we expect big enterprise solutions to move to the cloud. Why you should believe in cloud - ITCluster iQuest Cluj Napoca from Radu Vunvulea

[Post Event] Codecamp event in Cluj-Napoca, March 20

Today we had a great Codecamp event in Cluj-Napoca. There were over 80 people that attended to this event. We had great sessions about Behavior Driven Development and Task Parallel Library. At the end of the event we had an open panel about UI and UX. We didn’t have too much time for the open-panel, but I promises that next time we will reserve enough time for it. I would like to thanks speakers, attendees and also to our sponsors ( ISDC and Fortech ). Some pictures from the event:

WCF Client and multiply IP address - How to specify the IP that needs to be used

Usually, when we are developing WCF clients, we have a machine that has only one network adapter. This means that there is only one LAN network that we can use. In 99.99% of scenarios this will work perfect. What happens when we have two or three networks adapters and each WCF client need to be use a specific one? For example we can have a private network between our machine and company network. Another one can be between our machine and internet and the last one can be a secure network between us and a partner. For this cases, the default settings of WCF client will not work. We need to be able to specify what network we want to use for each WCF client. I looked over the firewall configuration and routing tables, but I did not found a solution on this side. A possible solution that I found over the internet and was tested by myself also is using ServiceEndpoint. WCF give you the possibility to create a ServiceEndpoint for each IP/URL that you want to use (on the process level). In

Windows Azure Service Bus - Schedule Message Delivery

Windows Azure Service Bus became a powerful mechanism to distribute messages in applications that are hosted in a cloud environment or in a system that has access to internet. When we are using this service to notify different state change, I had moments when I need to signal a state change only after a specific time interval. To be able to support this functionality we need to be able to add the message to the topic only after the specific time elapsed. This means that we need to implement a component that can store this messages for a specific time interval. We will publish this message only after the specific time interval. A new feature was added to Windows Azure Service Bus message. This new feature give us the possibility to make a message available in the topic only from a specific time. We can forget the component that we talked some lines ago. From now, this is supported by default. We have the support to specific the time from when the message will be available – in UTC for

Shadows in a Windows 8 App

T his week I receive a question related to XAML and a Modern UI Windows 8 application (Metro Apps).   They need a method to draw shadows in a XAML application. When the design team port an application from iPad to Windows 8, they try to reuse a lot of things that were used on iPad. Because of this elements like shadow can appear very easily in the design of a Windows 8 application. In theory, a Windows 8 application should not contains shadows. Because an app for Windows 8 should have a clean and simple design, shadow is saw like an element that will only load the UI. Also, people that worked with UI effect already know that the shadow effect is one of the effects that use a lot of resources – especially video or processor resource. Having this kind of effects on a tablet could drain our battery very easily.    This is why the XAML don’t contains any kind of support for shadow. You can make some hacks, using lines with different bluer levels and thing like this, but it will be on

What are the steps done to authentication Windows Azure using federation mechanism and company Active Directory?

Windows Azure supports federation and integration with Windows Server Active Directory. This information is not new. I observe that people tend to use services that don’t understand. The scope of this blog post is to explain how an end user login into Windows Azure Portal using federation mechanism. Let’s assume that our company has already configured the integration of the private Active Directory with the federation mechanism. From our internal network a user wants to access the Windows Azure company portal (each company can define their own portal where users and subscriptions can be managed). First thing that is done is made automatically when the user login into the computer and network with the credentials. In this moment the Active Directory server from our network is used to check the user credentials. There can be different ways of authentication from user/password to RSA SecureID, smartcard and so on. The company IT can configure different ways of authentication that wi

Microsoft in the Open-Source World

As we all know, the open-source project exists from the moment when the first line of code was written. In this post we will see what open-source meant for Microsoft in the past and what is the relationship between open-source community and Microsoft nowadays. How everything started The open-source community in one way or another appeared for the first time in 1950-1960. In those days, the code was usually written by researchers from universities, in colaboration with corporations. The IT industry was alone at the beginning and the accent was put on collaboration. Why? First of all, when a discovery was made, people tend to share it. In that period of time, people were open to collaboration and to share their ideas with the rest of the world. Also, each hardware device was different and if someone wanted to run an application on a different device he had to make some changes on the application. Because of this people used to share their code. A good example of the col

Different methods to cancel a Task

From .NET 4.0, Task’s made our life easier. In comparison with threads, it is much simple to start a new thread execution. Because of this, you can create Task pretty simple, but when you want to make more complex things, you end up with a big headache. In this post we will see how we should cancel a Task. Creating a task it is pretty simple thing: Task task = new Tasl(()=> { Console.WriteLine(“New Task”); } ); But how we can cancel a task? To be able to cancel a task we need to use a cancellation token. Using this kind of object we will be able to transmit the cancelation request to our task. Don’t forget that you can use a cancellation token instance only once. This means that we cannot reuse the cancelation tokens more than once. The task constructor accepts as second parameter a cancelation token. This token can be used in our task when we are in a point when we want to check if our task was cancelled. There are different methods to detect if the current task was cancelled o

Compare two person name (Are the names similar?)

Working on a personal project I need a mechanism to compare two names and find out if they are similar. The first think that I done was to try to define a regular expression that could help me. I end up studying different algorithms that can measure the distance between two sequences.  In this post I will talk about what algorithms I found and what I finally used. First algorithm that I found was the based on Hammed distance. This algorithm measure the minimum number of substitutions that need to be done to change a string to another string. This is a great algorithm that works very well when we have string with the same length. Another interesting algorithm was based on Euclidean distance and is used to measure the distance between two points. It is based on Pythagorean formula. It is a pretty complicated algorithm and in my case was too complicated. I need a simple solution, that doesn't consume a lot of resources. I don’t need exact match each time. The 3th algorithm that I

Today Software Magazine, number 9 - Microsoft in open-source world

In the last number of Today Software Magazine I wrote about Microsoft in open-source world. In this moment the article is only in Romanian, but in the next days it will be available in English also. Romanian version:  http://www.todaysoftmag.com/article/ro/9/Microsoft_in_lumea_Open-Source_264 And the video:

Windows Azure - Filter Subscriptions feature

There is a new feature available on the new Windows Azure portal that help me lot when I need to manage different subscriptions. The true is that I had the bad experience to manage around 8 different deployments on Windows Azure in the same time (with different subscriptions). When you have the same service type used by different subscriptions and applications there were time when I open the wrong service or I had to search a while until I discover the specific service instance. Also, when I need to make a presentation or a demo, I need a demo account because the Windows Azure portal would display all the subscription that are associated with your account. You don’t want to display the name of your clients or what kind of services are used by them. This is way, when this new feature was available for the first time I was extremely excited, but until now I didn't had time to blog about it. As you can guess, this new feature give us the possibility to filter the subscription lis

Codecamp event in Cluj-Napoca, March 20

Registration link ÃŽn luna martie, odată cu venirea primăverii, Codecamp  organizeză un nou evenimet pentru dezvoltatorii din Cluj-Napoca. Evenimentul urmează să aibe loc pe data de 20 martie, la sediul ISDC. Participarea la eveniment este gratuită . MulÈ›umim în special sponsorilor pentru susÈ›inere (FORTECH si ISDC). Agendă 18:15-18:30 Sosirea participanÈ›ilor 18:30-19:30 Behavior Driven Development and friends Lorant Domokos At the heart of BDD is a rethinking of the approach to unit testing and acceptance testing in order to address issues that often come up with these practices. In this session we will explore the concepts behind BDD like integration testing, acceptance testing, specification by example and will look at how the practice can be used in some scenarios targeting different application layers. We will use Specflow and Selenium and also try to highlight some best practices to follow so that we don't do mo

Windows Azure Mobile Services supports Android

I have a great news for people that develop application for mobile devices. Windows Azure Mobile Services officially support Android. Until now we had support for Windows 8, Windows Phone 8 and iOS. From this perspective, in this moment Windows Azure Mobile Services support the most commons operating systems for mobile devices. You can use the same Mobile Service endpoint for different clients. This means that you can have only one Mobile Service that can be used by a Windows Phone 8, a iOS, Windows 8 and Android application in the same time. If is your first time when you hear about Mobile Services you should know that is a service that provide support to create the backend of your application. Storage, tables, authentications, custom scripts, batch operation and many more are supported by default. This means that you can focus on your client application without worrying about the backend. Everting is exposed as a REST API and can be accessed directly using REST API of using clien