This post attempts to explain the Microsoft Azure platform to someone who would like to have a quick overview with a little detail to whet their appetite for the platform. Simply put, Windows Azure is a cloud operating Software as a Service (SaaS). In Practice, Windows Azure allows us to store data and connect applications just like we do today. But, at scale, on the internet.
To answer that, let’s take a look at what it takes to run an application today. We need:
What are the most important tenants of hosting an application? The utility Reliability – Scalability – Availability
By using Azure, you may focus on adding business value and key features instead of worrying about setting up, managing, or scaling the infrastructure. Everything in the cloud is taken care of by Windows Azure, even the Utility’s.
Components of the Azure platform are as follows (all will be discussed in more detail later in this post):
Storage Service know as SQL Azure
A relational database in the cloud built on SQL Server technology
SQL Azure allows you to manage data in a reliable and scalable way
Service Bus
Allows you to connect applications (either cloud to cloud or Cloud to local) without having to code all of the communication
Access Control Service
Allows you to provide access to your cloud resources to people outside of your network without losing control of how those user are accesses your application
Well, you could. But, how are you going to give services hosted in the data center access to an Order Entry (OE) system hosted on your network? Your network most likely has a firewall. This firewall protects you from malicious attacks but also will prevent the communication from the services at your hosting provider to your OE system.
You could open a hole in your firewall to enable this communication but most network managers will not like this approach due to the risk. You could create a VPN from your network to the hosting site but these VPNs are difficult to set up and maintain and are not very flexible.
By hosting your application in Windows Azure, you have the ability to connect your application to the App Fabric (the Service Bus and Access Control Service) which handles all connection, communication, and authentication between applications and services. This allows you to maintain your current investment in local applications as well as taking benefits of the cloud.
Microsoft Azure storage allows your applications whether running in Windows Azure or locally at your data center to treat data as an inexhaustible resource. There are 3 types of storage in SQL Azure
The Service Bus provides an accessible infrastructure for communication, distribution, and application publishing. Your applications can be exposed providing connectivity options that would otherwise be difficult or impossible to reach.
I like to think of the Service Bus as a system of highways. On the highway we have the road, traffic, pot holes, road construction and exits. The service bus will guide our user request from the application over the road, around pot holes, route them around road construction and lead the request to the correct exit which is our service. The Service bus is directing all of the traffic using internet communication standards which we really don’t need to worry much about.
You would like to give partners, suppliers, and customers access to pieces of your Order Entry system. How are we going to do this? There are several ways, none easy. We could:
Enter the Access Control Service. The Access Control Service enables external users to connect to your cloud resources using their own identities while still giving you fine grained control over what these users may access.
As an example, you have a User ID system in your organization. Your partner had a User ID system. You have an order entry system which you would like to grant them access to certain pieces. Using the Access Control Service, we could have your ID systems agree that they will trust each other and you can grant permissions to the resources each user requires. Even if the customer is small and does not have a large IT shop with expert resources to set up and configure a FIA.
You do not have to build these services; you just call them from within the application. These services are standards based so they will interoperate with any standards based platform.
All components of the Windows Azure platform have been packaged together into an SDK that you may download for free and run on your desktop. The developer experience is maintained in the familiar Visual Studio integrated development environment (IDE) once the SDK is installed on your desktop. This SDK allow you to develop and test an application locally before being deployed to the cloud.
Operations
Since you are a seasoned IT professional and have an idea of the application and infrastructure layers of Windows Azure, your next question will be what about Operation Activities.
Windows Azure has you covered.
Before we discuss how we pay for Windows Azure, let’s look at how we pay for a traditionally hosted application.
When determining what hardware (servers and storage) you will need, you must determine peak load. The best example I have heard was at the 2009 PDC, regarding an event ticket site. Think about this ticket site: load is pretty constant most of the time. Then, bam! a big event's tickets are released to sell. The load on the site goes from 1 transaction a second with 5 concurrent users to 2,000 transaction a second with 10,000 concurrent users. In a traditional hosted scenario, the ticket site would have to pay for that peak load ability all of the time if they wanted to support the peak loads.
Do you want to pay for peak all the time? Microsoft has adopted the model much like an electric company, pay for what you need only when you use it.
Just as electricity use increases dramatically during the summer in Florida, a homeowner would not want to pay for the same usage in October as they would have to pay in August.
Let’s say that you have an online billing application. You have a steady stream of users for your application for most of the month, but when you release your statements at the first of the month, usage will peak. Let’s pay for only what we use.
It does not matter the size of your company, you can take advantage of Windows Azure today.