Archive for the ‘Architecture’ Category

Like in the last year Portugal had made part of this event. Is really inspiring when you work in this area to see so many off your pears to go to an event like this at a Saturday and the Liberty day at Portugal, basically a non working day.

Was a pleasure to be present, was a shame not to be able to assist all the event, but my 3 weeks daughter had need assistance at morning.



The event had some very interesting talks about what’s coming next (ASP.NET v-NExt, the great support to open source technologies in Azure, and some talks about business), as in last year i had the opportunity to speak at this event.

My talk was about Azure Search one azure service that i had been studying since the launch and that i always had desired since the launch of the Microsoft PAAS platform.

speaking at gab2015


I don’t know how many of you guys had pass the challenge of implementing or thinking about Search in the context of your Website, Portal or App, but this topic can have a big complexity. And i think along the year’s Search had not the value he deserves.

Azure Search really allow you to use Search as a Service hosted on the cloud. This is one more off that kind of services Azure have that i think is excellent to grant the backend part of our web or app development.

The most fantastic thing about Search is that this service is agnostic to the client technology and even allows a full control and interation using a REST API.

I will keep developing and diving into this topic and I hope soon I have a deep dive to share with all our developer’s, for know i let you with my slide deck and the suggestion to stay tuned with this service and start to playing around with this service.

You can download our full version off the slidedeck from Gab2015 azure search as a service 

Windows Azure Platform diagram

Posted: February 20, 2015 in Architecture, Windows Azure

Today i had recieved this fantastic poster, I think taking a look in this is a excelent way to have a high level vision of what’s avaiable for us on the platform.



You can download also this poster directly from Microsoft at:



Last Saturday Windows Azure had a WorldWide BootCamp, a nice opportunity to know more about Azure and ti participate in a crowd research project (know more at


Portugal was no exception and @ Microsoft Portugal people had explore the for what the what and the how to use Windows Azure, in a event with some interesting Technical Talks and also some Technicall experiments and coaching (know more at


I Had the pleasure to speak at this event about Mobile Services is the third time i make a conference speaking about the theme and showing how easy and usefull this service can be in cutting edge development. You can find my slides at

Was a great pleasure to be with some of my old partners and colleagues, sharing the stage with some of the more fantastic speakers of our market and some of the greatest specialist of Azure in Portugal.

Thank you for the opportunity to show once again how to make our work easy and show what’s behind the courtains of a so interesting technology. And for my readers a uestion Are you already using Mobile Services?

SQL server DataSync is one of the most important features when we have the need to sync our on premise data with Azure SQL  Services  and vice verse  In this post we will define a step by step  method to accomplish the task of sync the Azure SQL services with the one onPremise SQL Server.

datasync scheme

To start we will consider that you already have a Database running on the Azure SQL Services and a configured SQL database server.  Already having a database on Azure and a pre-configurated SQL server Machine, we start by creating a  Azure Sync Group. We can define a Azure Sync Group “as a collection of SQL Database instances, and SQL Server databases that are configured for mutual synchronization by the SQL Data Sync service. A Sync Group is comprised of a “hub” database and one or more “member” databases”. Be careful to create your SQL Data Sync server in an appropriate region.

Data Sync is one of that features that is not yet avaable in the new portal of windows azure so the first step is to revert to the old management portal of Windows Azure, you can anchieve that by clicking on your name at the right top of the screen and select to go to the old portal.


Once in the old portal you should select Data Sync Option, and after that on the main pane select Provision Data Sync preview Server


After that it will be asked to choose a subscription and a location.


After the provision of our sync server we will create our Syncronization Group


After that we choose a name to our Sync group and select the Azure Database we intend to be the Data Hub

synchub def

After configure the source Azure Database, let’s choose or on premise server

synchub def2

WE select the option to have a new sql database since we consider that we have not yet a Sync Agent installed int the on-premised SQL server, we can choose also the direction of the sync in this case we had selected to have the sql azure as the source of the Synchronization.

synchub def3installagent

After clicking next you will download the agent, after that install the agent on you on-premise server. After installing the agent launch the Microsoft SQL Data Sync Agent, in the management console of the agent we should insert the key that we had receive previously.



After defining the agent key we should register the appropriate database on the server.


conf agent


After register the on-premise database be acrefull to validate the satet of the database ( it should appear in the reachable state).

confdb 2


Now that we already had install and configure the Sync Agent on our SQL Server let’s go back to the portal and follow the rest of the steps

download the agent


After the last step the on-premise database will be connected to Windows Azure, it’s now tim to configure the schedule (since this is a lab and we need quick results let’s use a sync interval of 5 minutes). pay attention to the conflict resolution combo and select the must interesting option for your case.


Next we define what  data will be sync. After all this configuration is time to deploy the Sync Group, by clicking in deploy.

deploysync The Sync Group will be provisioned and the first data synchronization will run. After a few seconds the status of the two databases should transition to good. And now you had ended your synchronization configuration. Hope this post had help you to a better understanding of the needed configuration needed to sync your Windows azure services with on-premises SQL server.  No it’s time for you to explore more this powerful mechanism, if you have questions feel free to ask.

Many people had been asking around why the surface and some other tablets that will be powered by Windows 8 have a little percentage of available memory.

As far as i am concern i think this is not a fail but a vision of the new times, Cloud is here do we really need big disk’s if we are almost always conected?

The next question that some people ask me in the developer quorum is “Ok so i guess i can store my data on skydrive azure and that’s all”, that kind of reaction made me think yesterday.

Maybe people hadn’t seen yet how they can connect Windows 8 and Azure and what amazing things can be made for our app in the cloud.

So i would suggest all to read the blog post of Bruno Terkaly on of the Microsoft developer’s evangelist’s

If you are around Porto and go to the Microsoft Portugal WAWZapp event,  Nuno Silva a Microsoft Technical evangelist will also talk about these theme bu not only thinking in Windows 8 but also in the new Windows Phone 8.


tonight was launched the download of a book about the use of entreprise library 5 with Windows azure. Is a book that worths a view.

Entreprise library have a bunch off developmente best pratices based that can leverage us to Build  “Elastic and Resilient Cloud”.

Take a look at:

Last night i had been diving a little more in to my little azure case study, and i ask myself and if i consider a Multi tenant. This had report me to an all new study and issue consideration.

In this post i will explain some of the thoughts that had occur me about Multi Tenant application and Windows Azure.

Single Tenant and Multi Tenant

1st of all is important to remember the mean and difference of this two concepts. In an abstract way we can say that a Single Tenant Application  offers a separate logical instance of the application for each costumer while a Multi Tenant Application offers a single  logical instance for multiple Applications, that means that the logical instance is shared across clients. Is obvious that  in the case of datadriven applications different clients will have different access and views over the data, but the logical “infrastructure” to get that data is shared across clients. The next Figure illustrate the logical view of the two different concepts.

Understanding Multi Tenancy in Windows Azure

The distinction between Multi and Single Tenancy in Windows Azure is not as straightforward as in the conceptual view of Patterns, since an application in Windows Azure is almost always made up multiple components, each of which should be analysed to understand the “Tenancy option” of each one. So when talking about tenancy in azure we should think in each part of the solution and because for sure we will have different modules with different missions evolved (Web UI , Worker Roles, Storage and so on).

The decision of each what approach to make in an Azure web application should be analyzed in each part of the application and in each module essence.

So let’s discuss the architecture issues we should always to consider when talking about Multi Tenancy in the Microsoft Cloud.

  1. Making your Application Stable: If one of your architecture goals is to guarantee stability remember that an Multi Tenant approach is more vulnerable to instance failure then a multi instance approach. However he should always remember that Azure by concept allows you to deploy identical copies of our application in to different Windows Azure Roles instances.So we need to consider in the design of our application that she could be deployed to multiple instances.
  2. Handling Authentication: authentication and authorization handling is another thing you must consider. Since we can provide our own authentication mechanism or existing authentication systems. In a Multi Tenant application this will imply the support to multiple authentication systems.
  3. Scalable: In Azure scalability depends essentiality on being able to deploy multiple compute nodes while being able to access the same data from all that nodes. Both single Tenant and Multiple Tenant allows applications to use this feature to scale out. When designing a client server app you must consider that you may not want to have all your costumers sharing a single multi tenant instance, a case of this need is when you want group clients based on a functionality. We should also consider that in Windows Azure the prefered way to scale an application is to scale out by adding additional nodes instead of scaling up by using larger nodes.
  4. SLA: Another important issue to consider is the Service Level Agreements you intend to offer on you application, if you intend to offer different subscriptions to your application service sharing Application logic or computational power wouldn’t be a good idea.
  5. Application Upgrade: If we intend to create an application which the Applications upgrades are frequent, having a multi tenant solution makes it easy and cheaper at the same time, since all the application logic is updated in just a single step.
  6. Data architecture and Multi Tenancy: One of the major issues to consider is to ensure that a clients data is kept private from other clients. The perceived risk of data disclosure is greater in Multi Tenant architectures.
  7. Data architecture: There is a lot of ways that you can enable tenants to extend the data model and to include their own custom data. In the case of SQL Azure much of the applications hard implementation work will be based on having to work with constrains of fixed data schemas. In the case we are working with Azure table storage we can have the records in the same table with completely different structure, which give us a great flexibility.
  8. Scale at the data level: If we can partionate data horizontally we will be able to scale at out at data storage. In cases where SQL Azure is a must have to scale out we need to be able to move all our individual tenant dat to a new SQL azure instance.
This are some of the points to consider when discussing or thinking about a single or multi tenant architecture in Windows Azure platform. Don’t forget also the financial part of this choice.
Hope this small discussion can be off any help in your future architecture discussions and considerations, having Multi Tenant or Single Tenant architecture in Windows Azure goes far beyond the software patterns design cocepts.