Windows Azure comes with a pack of tools to develop, test and deploy applications. A summary of these tools are given below.
Get Started with Windows Azure Cloud Computing: Basics Part-2
- The Development tools comprise Visual Studio IDE to create, build and run scalable web applications. Development Fabric creates a simulated environment to test such applications and the Development storage utility simulates Blob, Queue and Table Storage.
- In the Development Project Elements you will find Cloud service specifying web and worker role projects with run and debub functionality. Web Role component creates websites for Azure and is the interface for user interaction. The worker Role feature works in the background. Service Package holds web role and worker role.
- The Management Console creates claims in relation to AppFabric, allows management of storage accounts and lets developers create and debug SQL services.
- The environment tool lets developers build and test solutions. The staging environment has a GUI permitting migration of application from development to the cloud. The production environment is where the cloud tested app is moved to using the same GUI.
Implementation
With something so sophisticated and complex, there are associated challenges in relation to identity, storage and communication. On premise identity providers and applications have to seamlessly interact with identity providers and applications in the cloud. Azure has a claims based identity management solutions with support for identity federation. Azure’s SQL Azure relational database storage handles multiple storage tokens, enabling each user to access data when accessed by similar applications called up by multiple users. Azure Queue implements asynchronous communication between web and worker roles in conjunction with relay bindings to achieve efficient communications concurrent with bulk processing and computing.
Migrating to the Cloud through Azure
- Migrating to the cloud is a critical step taken after after factoring in all the implications. A typical first step is to test existing applications and create new elastic, scalable applications with an emphasis on cloud processing, infrastructure and storage. Azure is a Platform as a Service (PaaS) and this means in case of temporary peak demand, their requirements are met just as their regular usage proceeds on a pay per use model for best capital utilization.
- The next step would involve non-critical applications to be tested, perhaps modified and then migrated to the cloud to assess the platforms capabilities and its fault tolerance. Once this is set the critical applications can be migrated and interoperability with on premise applications put in place.
- Completing the transfer would be to host all applications and capabilities in the cloud with interoperability with on premise applications built in.
There will be transitioning hiccups that will take time to resolve but that is to be expected.
In comparison to other PaaS such as Google and Amazon, Azure is by far the most sophisticated, feature rich and complex offering. Azure may be preferred more by enterprise level organizations for its versatility and the way .NET technologies can be leveraged here. As always security concerns remain a live issue.