Long Post Disclaimer:-): Sorry this post turned out to be a bit longer than I expected but if you can take a minute to read through it, it may be worth your time.
I suppose it is weird to associate Windows Azure with a kitchen but I got this flash idea and thought I capitalize on it. I do have lots of conversations with Enterprise customers in the UAE about Azure and unless the people have development background, it may be sometimes difficult to fully grasp the Platform as a Service (PaaS) cloud offering concept. So hopefully, this metaphor can help:
OK, think of SaaS as a commodity product similar to menu items at a fancy restaurant, you order your meal and you get it. Because PaaS is not something you can order and get (theoretically you can but you really cannot do anything with it :-)) to use as you would with SaaS, you need to be ready to do a little more work. With the title analogy, think of it as a fancy kitchen at an upscale hotel: You get the oven, the toaster, the fridge, the cutlery, the pans, the utensils, and even the ingredients washed, cut, and ready to go. That is all nice, but guess what? you still need to do some cooking my friend in order to eat something decent.
Obviously, that is over simplification. What I am getting at here is that this fancy kitchen and setting make cooking many times more fun and easy to do even for larger groups – Even I would not mind indulging in such activity. When it comes to Azure, it really makes it that much fun. Developers love to code and feel a sense of accomplishment when they crack a bug or add a feature (i.e. the cooking); and hate the logistics around building their development environment, moving apps to test, staging, and sometimes production, getting the configuration right across production farms, capacity plan correctly and all such things that I associate with my old great grandmother kitchen. With the kitchen of the future, I am pretty sure any developer would love their job as a cook :-)
To put things in more perspective, I want to provide a couple of quick examples using the very tool (Windows Azure Portal at https://windows.azure.com/) that developers or IT Pro would use to publish cloud applications to Windows Azure:
- Creating a new deployment, you get to choose the location of the data center at which you want your application to run in. Much like you prepare the food at your kitchen and you have a choice of several dining rooms to serve your food at. The below is from a production dialog that shows the options.
- The below shows the environment you can choose to deploy to, at the data center you choose above in step 1. Each deployment will have its unique url to access. I see this as whether you want to eat at the bar or at the comfortable dining tables or booths. I do not like this example too much as “production” in Azure is way more than a booth at a restaurant – well, perhaps it is more like a breakfast in bed :-).
- The below shows your application dashboard – it shows the environment, the count, and the health of your environment. It is more like an intelligent customer stratification tasto-meter for your dinners. With every bite they eat of the food you cooked, you get a feel for what they are thinking and a chance to take an action to correct their state and/or impression, if needs be :-).
- The below shows one of my all-time favorites – the ability to scale your application in or out with a few clicks and literally few minutes. See the highlighted number below, it says 2 and it refers to the number of live production web front ends for this application. Imagine in real life, you wanting to add a few servers to handle an expected spike in workload -- that can take days or even weeks of planning, procuring, installing and configuring. With Azure in this scenario, all it takes is flipping the number 2 to whatever number you need, 5, 8, 10, or whatever, and click OK. Windows Azure, the Cloud OS will within 10-15 minutes scale out to the number of instances you chose, say 10, and will have a total of 10 running and load-balanced servers to carry out the load --- best yet, if you decide to scale back in, it takes the same efforts, flipping the number down and clicking OK. No time wasted and no hardware left unused. It is as simple as that. I can you tell you that I am not able to hide my enthusiasm to this capability – is not this great or what? Do not be shy, clap for this feature if you want, leave comments if you see the value – saving time and money and meeting the business and workload demands in minutes, to say the least. This is available and is live today – this is not a future thing. The future or part of the future is already here!!
Back to the kitchen analogy, I see this feature as if you cook a meal for 10 people and with very little efforts; you can increase the amount (while maintaining the food qualityJ) food cooked to feed as many guests as you can receive for that evening. No massive efforts to scale, no embarrassments if you receive more people than expected (they’ll all leave full and happy) and no food and efforts are wasted if you cook for a lot more than may actually arrive.
I can tell you, my mom would love this kitchen appliance – it is like magic but it is not, it is reality and it is here. The above are production screen shots.