Session Abstract: Windows Azure is Microsoft’s cloud platform for quickly building and running scalable applications. We will cover just what the cloud is, as an industry, and what Microsoft is offering. We will see into the data-centers, how they work, and the a high level view of all the components of the platform.
On June 7th 2012 – there’s an online event called “Meet Windows Azure” where Scott Gu and his Windows Azure team would introduce the Windows Azure platform. You can register here: http://register.meetwindowsazure.com/
The documentation along with the project guides you in a step by step fashion on how to go about setting up the environment but for those who are curious, here is a brief description on how I setup the environment:
1) Uploaded the sample data-sets to Azure Storage
2) Edited the configuration file (ServiceConfiguration.cscfg) to point to correct Azure Storage
3) Chose the Instance size and the no. of Instances for the deployment
4) Deployed the binaries to Windows Azure (.cspkg and .cscfg)
5) Ran the Word Count Sample
6) Ran the K-means Sample
Conclusion: It was pretty amazing to run MapReduce on Windows Azure. If you are into BigData, MapReduce, Data Analytic’s – then check out “Project Daytona”
That’s about for this post. And what do you think about Project Daytona – MapReduce on Windows Azure?
One of the common question that’s asked in the Azure MSDN forums is how to change the Live ID associated with Service Administrator. And as you may know, Service administrator is the one that manage services and deployments.
Now if you wish to change the Live ID associated with Azure Service Administrator. This is what you do:
[I am referring to price reduction announcements by Azure and AWS in Early March 2012]
This week, Microsoft announced price reduction for Windows Azure compute and storage. Read more here – And even AWS announced price reduction too. Read more here. So it’s great to see neck to neck competition between Azure and AWS. And this is what is great about an economy that is not “monopolized”. To sustain, both Azure and AWS need to compete PLUS they compete with other cloud vendors that are out there too. Hopefully, other cloud vendors would also come up with an aggressive pricing strategy. Also, such competition among vendors would spur innovation and we would see “more features” coming out their factories more often than before (Yay!). And guess what, Who’s the winner? WE the CUSTOMERS!
Also, I noticed a pattern in both announcements that said “We are glad to pass along the savings to customer”. This seems to pointing to the fact that since cloud computing adoption has increased and cloud vendors benefit from Economies at scale – They pass the savings to the customers. And this acts as a catalyst for more adoption!
This seems like an awesome circle:
I understand that CLOUD ADOPTION is just not triggered by “price reduction”. That’s not what i mean here. But price reduction can sure act as catalyst. Hopefully, in not so distant future, the cloud prices would be so lucrative that setting up private data-centers would be a “thing of past” (unless you are governed by laws to have your own data-center or some other policy that restricts you from cloud adoption).
And I am also not comparing the price reduction “directly” because it would be like comparing Apples and Oranges. But what I hoped to point out was that we as customers would see more price reduction, more features, better experience because of the neck to neck competition among cloud vendors.
And That’s about it for this post. Your feedback is welcome!
And Let’s connect! I Look forward to Interacting with you on any of these people networks:
Let’s try understanding each Cloud Model (IaaS, PaaS, SaaS) with Example.
For IaaS (Infrastructure as a Service) example, We have Amazon Web services
For PaaS (Platform as a Service) example, we have Windows Azure. [Update 7th June 2012: Windows Azure is Now a PaaS as well as IaaS]
For SaaS (Software as a Service) example, we have Google Apps.
Of course, there are other examples out there but I have used Azure, EC2 and Google Apps for a while now and so I was able to tear them apart and understand why they belong to a particular cloud Model.
Let’s start from SaaS with Google Apps as an Example:
So we have Google Apps (Do not confuse it with Google App Engine) which is a cloud based messaging and collaboration platform. They say that it increases productivity while simplifying IT and reducing costs.
In SaaS, The entire stack from Applications to Networking is managed by SaaS vendor:
So when I am using Google Apps (used for email functionality for this domain ParasDoshi.com) – I do not care how the software is managed, I do not care about which technology was used to develop it, I do not worry about backups, I do not worry about capacity management, I am least bothered about what servers it runs on, etc..
All I care is that I can subscribe to new user accounts if need be, my apps are up and running, my emails are sent and received properly, a particular user should not have access to XYZ calendar, And I am able to close the account if I chose to..Questions like that..
Now Let’s talk about PaaS with Windows Azure as an Example:
Windows Azure is an open and flexible cloud platform that enables you to quickly build, deploy and manage applications across a global network of Microsoft-managed datacenters. You can build applications using any language, tool or framework. More: https://www.windowsazure.com/en-us/home/tour/overview/
Now as opposed to SaaS, here you develop (and own the code) of the App and select your Data Storage. The platform provides you on demand and scalable resources that are used to deploy your application.
So here are tasks that you perform for running a .net app on Windows Azure: For this I did tasks like: Develop the app, publish it to cloud on compute (web/worker) role, select the number of instances of the role, etc..
But I do not have to have worry about server capacity planning, hardware management, Power, datacenter security, hardware failure, Setting up network, setting up hardware, setting up storage, OS updates, managing runtime and middleware etc..
But it’s my Job to monitor my application performance, spin up more resources if need be etc..
Now let’s talk about IaaS with Amazon Web services an Example:
As opposed to PaaS, an IaaS provider does not manage Run-time, Middle-ware and OS for us. So get to choose the OS for your virtual machine, then you install the Run-time and middle-ware as per your requirement. And it’s your job to manage these components. E.g. OS updates, etc..
So recently I was playing with Amazon Web services and my goal was to run a .net web app on Amazon cloud. For this I did tasks like: spin up an Instance running Windows Server as it’s OS, configure IIS, develop and publish my application, etc..
But I do not have to have worry about server capacity planning, hardware management, Power, datacenter security, hardware failure, Setting up network, setting up hardware, setting up storage etc..
But it’s my Job to monitor my application performance, spin up more resources if need be, Update the OS, Manage runtime and middleware etc..
I just completed the Cloud University’s online course http://www.rackspace.com/knowledge_center/cloudu/ and found it to be a nice resource – I thought I would share it with you. It’s a free online resource for learning about key elements of cloud computing. They have modules covering:
Economics of cloud
Cloud computing stack (IaaS, PaaS, SaaS)
Planning phase to move to cloud
Hybrid Cloud (Cloud Bursting)
Open cloud computing initiatives
After every module – you would be Quizzed (based on learning in that given module). And after completing all (10) modules – there would be a final exam and once you clear that – you’ll get a certificate like this:
In this blog post, we would see how to enable RDP (Remote Desktop) for a Windows Azure web role. You would see that it’s pretty straightforward. Just note that this blog post is not about How to deploy a Windows Azure web role and it’s also not about How to develop an application that can be ported to Windows Azure. Nope, This blog post is just about enabling Remote Desktop for an ‘Hello world’ application (MVC3 web app) deployed as a Windows Azure web role. And yes, I would be using the Azure SDK 1.6 (Nov 2011). I mention this because Windows Azure is growing rapidly and growing for the better and since Microsoft folks are trying to give us the best developer experience – you may find that the exact steps may differ in future.
I created an app by following steps: File, New, Project, Installed templates, Visual c#, cloud, Windows Azure project, ASP.Net MVC3 web role, Internet application. Clicked OK
Then I edited the default text in the app and so now I have this nice little MVC3 web app running Locally. Just a Hello world app.
Courtesy: A default ASP.NET MVC 3 project with an account controller that uses forms authentication.
Now in solution explorer, right-click the project and click on “publish”
Now, In the Publish Windows Azure application, choose the subscription. If you are doing it for the first time, click on “Sign in to download credentials”. Login with the Live ID and download a file like:
And click the import button in the Publish Windows Azure application wizard and point to this file and open it.
This is how it looks:
Click on Next >
Now if your subscription does not have any hosted services, you would be prompted to create one. Provide the Name and Location.
Now once you do that – In the common settings, To enable Remote Desktop you’ll need to select the check box Enable Remote Desktop for all roles. Also notice that since I just want to the app to be in staging environment, I selected the Environment as staging. To enable Remote Desktop to a web role, you can set the environment as production too. Either way, you can enable Remote Desktop.
Now when to click on the check box, a window would pop up and here, you will need to specify the username and password that you will use to RDP into the Web role. Provide a strong password which is important, and by default it asks you for a password that is at least 6 characters in length with upper, lower, digits and symbols in it.
Click Ok when done.
And press next >
The next step shows the summary:
Click on Publish
You need to wait for a 3-4 minutes while it is deploying and you can see the progress in the Windows Azure Activity Log. And when it completes, you can see a the Website URL:
Now to RDP into Azure web role, Go to Azure management portal, Hosted services storage accounts and CDN, Hosted services.
Now here select your subscription, and select the instance:
Now on the Top Right section of the portal, In the Remote Access section, Click on Connect
save the .rdp file.
Then, open the file. And click on connect andprovide the password which you had set earlier for RDP earlier. click on OK.
It’ll attempt to connect.
On successful connection, you would see:
In this blog-post, we saw how to enable remote desktop for a Windows Azure web role.