Archive for February, 2012

Cloud Computing is mainly composed of three layers; infrastructure as a service, Platform as a Service and Software as a service. In my past blog post I mainly post about Windows Azure the platform where the developers can build their application. Windows Azure is hosted on Microsoft Infrastructure (Data Center); it is hosted on Windows Server 2008 R2 Hyper-V. However when we are talking about the private cloud, I mean your infrastructure, if you do have a data center or servers and you want to get the best utilization of the hardware resources you have. Microsoft offers you several tools to help do that.

First of all, you need to know why you need a private cloud. What is your target of your infrastructure? Microsoft has several solutions for your Private Cloud depends on your needs. If you need an infrastructure for a high processing power, then Windows HPC (High Processing Computing) is the solution. If you need an IT infrastructure to meet your different Business needs, then Windows Server 2008 R2 Hyper-V or Hyper-V Server and System Center are your solutions.


Posted: February 7, 2012 in Virtualization
Tags: ,

If you are an IT pro, developer, or even an end-user you use the Virtualization in your daily life. We do have a lot of forms for Virtualizations, virtual network, virtual machine, virtual memory, or even Virtual drive and lots of other examples. Let me ask a question on your PC, how many drives do you have when you open “My Computer” 2? 3? Actually it is physically only one Hard Disk only one but you divide it to get several drives. So why did you divide it into several virtual drive?

I think most of the time it is done to help you organize your data.

Let’s imagine a complete infrastructure, or a number of servers, do you think that it is possible to host the applications on a single server? I mean dedicated server? Well dedicated server is a solution but not economical very right, if you do on your own infrastructure have multiple servers and multiple applications, using a dedicated server for each application is a waste of money.

Virtualization has a solution for this, if you combine those server and try to consider them as one infrastructure or one big server, you can then create the number of Virtual machine where they share the same hardware resources but to handle several applications in the same time. In other words Virtualization create different and a number of servers on the same Hardware. Virtualization can do more, the dynamic IT infrastructure can help you dynamically respond to the change of demand for the applications, and it helps you get more and more out of your hardware resources.

I am a cloud computing freak, I love it and I believe in it, why am I writing for Virtualization?

The answer is too simple, Virtualization and Cloud Computing are 2 different concepts and they do have the same targets “the high availability”, “the best utilization of the hardware resources”, “reduce the IT Costs” and so on. Cloud Computing is based on Virtualization, the developers who develop the apps deal with Virtual Machines the Virtual Machines are created on demand and the cloud consumer pay for what they only they need. Cloud Computing and Virtualization have the shared resources, or shared infrastructure but Cloud Computing leverages the Virtualization to meet different customers’ needs, from the IT Operators, Developers and even the End User.

First of all let’s agree that Cloud Computing is mainly used by the medium and the large enterprises that have a big IT Infrastructure to host their data and applications, I am talking about Terabytes of data or even Petabytes. So for them it is very hard to organize their data, add new things…etc.

In this post I am mainly talking about Microsoft Codename “DataExplorer” a new application that enables you to organize your Big data, “Gain new Insights”, or even combining the data you have with other that you want to add with different sources. It can be from an existing database, Excel Sheet, Files, or even if you are using SharePoint Online and new data acquired from the Azure Data Marketplace. Here is an example where the data are combined from different source.

After you combine your data, there are a lot of formats that you can use to publish the new organized or the combined data. It may take a format of Excel file, CSV file and so on.

In my latest post, I wrote about the Service Oriented Architecture, in this one I will mention about API and the differences between the SOA and the API. They look nearly the similar but let’s have a deeper look.

Each of them is designed for a specific purpose; the SOA is used to make your code more efficient, and organized.

For the SOA, those who are looking forward to integrate some maps in their applications, it is so hard to design a map from scratch however it is easier to integrate a third party in the application and consuming its service.

SOA offers a number of functions that can be used and reused by the consumer as much as it takes. For the service builder, the SOA helps you build services that can be consumed by different platforms

The API is used to add more capabilities to the main application. For example the Facebook has APIs so developers can develop their apps based on Facebook platform.

The developers are using the API for using some data already existing in the database, so the application can be used for retrieving data, it doesn’t depend on certain functions.


If you are a developer you will certainly hear a lot about SOA (Service Oriented Architecture). So what is this? Let me get it the most important part a developer, it is a concept or you can use the services or code that someone else wrote, In other words you don’t have to write the whole program from scratch, you will consume other’s programs or services already built. Certainly that helps people a lot, it helps you save time, effort and money, let me give you an example when you integrate Bing’s map in your application, all you have to do is to add the services in your application as service reference if you are using visual studio and if not, it will take more effort adding the URL, however you will be able to consume the service, its functions and you may reuse them as long as you need.

This was the simple explanation for the SOA from the point of view of a developer; let us go a little deeper. Any SOA mainly depends on 2 things WSDL: Web Services Description language for describing web services and how developers can access these services and the second thing is the SOAP protocol to describe the communications protocols. The WSDL is a normal XML file mainly contains all the required information to invoke the web service. The SOAP protocol is simple XML-based to let applications exchange information over HTTP.

Most of the SOA available are web-based but that doesn’t mean that all the SOA must be web-based other can be hosted in apps.

How the SOA can help you in developing an application? As I said before in the beginning of the post, it helps you saving time, efforts and money, however this is not all. The interoperability is also one of the biggest advantages of the SOA. It helps you build applications on several different platforms consuming the service; these platforms no matter what programming language are written with, no matter what platforms they are built on, they can read the SOA and consume the service and may reuse the code as much as it needs.