Windows Azure platform from Microsoft enables developers to use Microsoft technologies to develop and deploy cloud applications. Azure, SQL Azure and the Azure Platform AppFabric are the components of the Azure package that allow seamless delivery of a range of cloud based services. Individually this is what they do.
The Server AppFabric and Azure AppFabric permit developers to develop and manage applications in the cloud. While the Server AppFabric also has capabilities of caching and workflow as well as server hosting the Azure AppFabric serves as the pipeline for connectivity and access control.
How it comes together
Azure becomes the runtime execution environment for scalable solutions. The platform also creates instances of Virtual Machines configurable by an administrator. The virtual machine runs an Azure agent that in turn connects and interacts with the Azure fabricapp. Besides, each VM creates a local file system that disappears when the VM instance closes. Since there are three instances for each application, the persistent storage support is provided by Azure Storage Service. Developers can take advantage of Azure compute to build and deploy applications by connecting to the Azure portal and logging in and opting to use storage or host applications on the Azure platform. There is support for three roles:
- Worker Role to perform background processes such as message queues
- VM role to run an image (VHD) of Server 2008 R2 virtual machine created on a Windows Server machine and uploaded to Azure. Once uploaded the VHD can be launched into the VM mode and executed, forming the base image for all instances. In the VM mode customers can configure the OS and use services.
- The Web Role is targeted at web application programming with IIS 7 support.
VM role instances are categorized into small, extra small, medium large and extra large sizes with corresponding CPU speed, memory, In-Out and storage allocations.
The greatest benefit of Azure is its native support for .NET applications, PHP, Java, Apache, Tomcat and MySQL with support for Ruby on Rails and Python in the offing. Another feature is that web role and worker role instances can be used simultaneously with flexibility in configuration. A still greater advantage is that in the event of a crash, the VM instance is retained.
Three types of storage are available such as Blob to store binary video files and images; Table for structured data storage in huge amounts, Queue to handle asynchronous work requests, messages and facilitates communication between web role and worker role instances and Xdrive to store data in a durable drive. Regardless of the type, data is replicate thrice across virtual machines to ensure data safety and integrity, with inbuilt self-heal capacity for recovery.
The Azure Fabric sits in the middle and manages as well as controls simultaneous users accessing different applications, providing scalability and flexibility in automating the load balancing. Parallel virtual machines underlie the Fabric running images of applications. Fabric accesses the configuration file that indicates requirements and it also monitors failures, instantly launching a new VM with the same configuration to avoid disruption of services. Complex topology configurations are possible in Azure with concrete support for message infrastructure and mapping through customization.
Data grows in size over time and SQL Azure is a cloud based technology that handles relational as other types of data on the Azure platform. It incorporates SQL Azure Database and SQL Azure Data Sync. SQL Azure incorporates relational database management services, programmability and tools. SQL Azure Data Sync offers bidirectional data synchronization and symmetry as well as linking on premises databases to SQL Azure database. Its goal is to provide anytime, anywhere data access through SOAP and REST interfaces for multiple pathways to data access. There is a sophistication offering a range of features in this architecture.
Image Source :- Wikipedia