Sunday, June 26, 2011

Azure Storage


Windows Azure is Microsoft's Cloud Computing offering that serves as the development, service host, and service management environment for the Windows Azure Platform. The Platform is comprised of three pieces: Windows Azure, SQL Azure, and AppFabric.
  • Windows Azure: Cloud-based Operating System which provides a virtualized hosting environment, computing resources, and storage.
  • SQL Azure: Cloud-based relational database management system that includes reporting and analytics.
  • AppFabric: Service bus and access control for connecting distributed applications, including both on-premise and cloud applications

Last week, I wrote about the successful launch of first cloud application http://ganesansenthilvel.cloudapp.net/ in Windows Azure. Now, letz shift our gear towards azure storage. Storage Services provides 3 main services:
  • Blob: Best for blobs like binary files and text files, so think picture storage, rich media storage, documents, etc.
  • Queue: Reliable and persistent messaging between services, so think about this in terms of having a worker role (business tier) communicate with a web role (presentation tier).
  • Table: Structured storage, so think more along the lines of storing entities
Read an interesting article, which compares two cloud storage offerings (google vs microsoft) from price, speed, usability, service level agreement and to developer support
http://gladinet.blogspot.com/2010/01/windows-azure-storage-vs-google-storage.html


Sunday, June 19, 2011

FirstCloudApp in Production




So far, we talked about the basic ingredients to kick start the windows azure application. In last few weeks, we discussed about Service Configuration, Service Definition, Runtime emulators and deployment management portal.


Letz start the first cloud application to move into production. In the New Windows Azure Project dialog of VisualStudio 2010, we need to select ASP.NET Web Role from the list of available roles inside the Roles panel and click the arrow (>) to add an instance of this role to the solution. Before closing the dialog, rename the role as FirstCloud_WebRole. Click OK to create the cloud service solution. It generates the pre defined ASP .NET solution files.


Cloud application has TWO major categories. They are (1) Compute and (2) Storage.


This application is related to compute platform i.e. not related to any cloud specific storage elements. As the first application, it contains the simple compute cloud app with two UI TABs, filled by static content. The layout is shared in the attached image.


On testing the local development version using Compute Emulator, the first cloud application is hosted in the production environment as defined in the management portal session.


My first cloud application is launched successfully in Microsoft data centre. Production URL is hosted as http://ganesansenthilvel.cloudapp.net/ Hurray!

Friday, June 3, 2011

Azure Emulator


The Windows Azure compute emulator enables you to run, test, debug, and fine-tune your application before you deploy it as a hosted service to Windows Azure.

The Windows Azure compute emulator is a local emulator of Windows Azure, so that you can build and test your application before deploying it to the Windows Azure. Some differences exist between running an application in the compute emulator and running it as a hosted service in Windows Azure. The compute emulator does not fully emulate the behavior of the Windows Azure load balancer. You can attach a debugger to a role instance running in the compute emulator, not in windows azure.

The Windows Azure compute emulator requires that you run IIS 7.0 with ASP.NET, but not all of the role services of IIS 7.0 and not all of the features of Windows Server 2008 are installed by default. The services and features that are installed by default are a subset of the services and features that are installed in Windows Azure. Most basic services can run in the compute emulator; however, when creating more advanced services you may need to take additional measures to ensure that your service will behave in the same ways in the cloud as it does when running in the compute emulator.

Architecture of emulator in cloud development is drawn in the attached snap shot.

Monday, May 30, 2011

Azure Management Portal





We build the first cloud application; itz time to host it in Microsoft Cloud center. As the first step, logged into the azure home page (http://www.microsoft.com/windowsazure). On right top location, therez a link called SignIn. Using msn account (ganscloud@hotmail.com), I created an account for azure platform with extra small instance. As of now, itz more than sufficient for my proof of concept (POC) model. For more information on cloud hosting cost, plz refer the site (http://www.microsoft.com/windowsazure/offers/)


Account is succesfully set up in cloud space and the domain is named as 'http://ganesansenthilvel.cloudapp.net/'. Itz time to host after creating the account. To do so, we need to build the cloud application in Release mode of VS2010 IDE. It will create two files at bin\Release\Publish folder namely (1) HelloAzure.cspkg (cloud app package file) and (2) ServiceConfiguration.cscfg (cloud app configuration file).


On getting into cloud management portal, we have two regions to host our first cloud application. They are (1) Staging (2) Production. Staging can be used as pre production i.e. customer acceptance testing zone. Once, the user signed off, Staging app can be easily shifted to Production zone by clicking the middle double arrowed button. Staging URLs are self generated numbers, where as production version is meaningful complete url. In our app, itz ganesansenthilvel.cloudapp.net. Isn't it cool?


Buttons in the attached image, are self descriptive. Upgrade button is used to import cspkg and cscfg files in the cloud space. Suspend button is used to stop the running cloud app. OS Settings is helpful to configure the cloud Operating System.

Saturday, May 21, 2011

ServiceConfiguration




Last week, spoke about ServiceDefinition file and now itz about ServiceConfiguration.csdef file. Letz ellaborate XML elements of this cloud configuration file.


The root element ServiceConfiguration has only one attribute, namely serviceName. The serviceName attribute is mandatory element in ServiceConfiguration file. If you omit this attribute, Visual Studio is going to complain about your XML during compilation. The name of the service must match the name of the service in the service definition.


ServiceConfiguration element can have only Role elements as children. Because the only role we have is ASP.NET Web role, we can see only one Role element. In case our project contained another role the Service Configuration file would reflect this fact.


Role element also has a single name attribute which is required. The name attribute represents the name of the service and must match the name of the service in the service definition defined in the WebRole element. The Role element can have three children elements: Instances, ConfigurationSettings and Certificates. In the attached snap, the number of cloud instance is makred as 1. Certificates are related to the security methodology followed in the related cloud app.


Looking at our ServiceConfiguration.cscfg file we can see that it contains ConfigurationSettings and Instances elements.

Friday, May 13, 2011

ServiceDefinition.csdef




Couple of weeks back, wrote abt hello world program. Letz open it. Under roles, therez a entry called HelloAzure_WebRole. On opening it, the configuration contains Instances section with count, vmsize. After updating the details,open ServiceDefinition.csdef file


The service model is determined by the settings listed in the ServiceDefinition.csdef file and configured in the ServiceConfiguration.cscfg file. The definition file is packaged with the role binaries when the application is prepared for deployment. The ServiceConfiguration.cscfg file is deployed with the package and is used by Windows Azure to determine how the application should run.


By defining settings in the ServiceDefinition.csdef file, you can define the roles and resources for an application. An application that runs as a hosted service in Windows Azure implements one or more instances of the available role types. Within Windows Azure, running instances of a role are replicated across multiple computers to implement all or part of the functionality of the hosted service.


In our cloud app, the instance count setup is get reflected in csdef file as attached.

Sunday, May 8, 2011

Cloud trend in business


Cloud computing isn’t a technology, or even a set of technologies. It is a newly understood paradigm for approaching application delivery. This is why every vendor you can think of has been saying for the past two years that it has cloud products. Itz not invention; but discovery of 1970s time shares methodology with enrichment. We just didn’t put them in the wider context of the global communications network. Now we do.

We do anticipate ongoing centralization. For example, today’s ERP cloud will become tomorrow’s ERP-human resource management cloud, and the day after tomorrow’s corporate private cloud for general company use. The biggest share of dedicated private cloud budgets today comes from hardware investment as indicated in the graph.Nearly all organizations have hardware as part of their private cloud budget, closely followed by software products.

Organization and management become critical issues. And this need for staffing is an ongoing cost, not something you can write off after startup. Much of cloud spending is drawn—and will continue to be drawn—out of non-cloud budgets. This is a perfect example of how cloud computing functions as a framework for building corporate service strategies, rather than serving as a technology unto itself.

Get ready folks into cloud gear via Microsoft certification 70-583 of Designing and Developing Windows Azure Applications.