The shortest definition of Cloud Computing is accessing remote computer resources via TCP/IP over the public internet where resources are provided “as a service” over the network to users. Nowadays, cloud computing is an emerging technology in which the architecture and data services are stored somewhere in the cloud and the users don’t need to worry about whether they own computers, mobile phones, tablets, iPad etc to access specific services. The cloud world can be accesses through simply a browser. The cloud models that are typically categorized as Public Cloud, Private Cloud, Hybrid Cloud, and Community Cloud.
Cloud Computing Architecture
Cloud computing architecture can be defined using three pillars. It basically adopts service-oriented architecture, virtualization and utility computing. The three pillars are Software as a Service(SaaS), Infrastructure as a Service(IaaS), and Platform as a Service(PaaS).
Software as a Service: It is easy to lease a service offered by a vendor and then we can configure the service using interfaces provided for our needs, without having the knowledge about what infrastructure the vendor has used to implement that service. This includes leading vendors like Salesforce.com, Microsoft Dynamics CRM, and etc.
Infrastructure as a Service: Here we are leasing the servers, balancers, firewalls, and etc. We can configure these remotely and can avail the solution from there. It is easy to scale up or down at any time by reconfiguring the infrastructure we rented from the provider we want. This includes Amazon, VMware, Citrix, and etc.
Platform as a Service: This provides us with an end-to-end cloud computing platform for developing applications, testing, design, deployment, and even hosting. Here, we lease the total platform for app development without changing the infrastructure. PaaS’s vendor includes Windows Azure, Google, and etc.
Windows Azure is a cloud based operating system which enables running of business applications, services and workload in the cloud itself. This works similar to traditional operating system functionality on any hardware platform and it allows applications to run in a virtual environment by providing them indispensable physical hardware components and a set of services.
Microsoft designed Azure to enable .NET professionals to strengthen their capability to develop ASP.NET websites, XML and WCF web services.
The main advantage of this is that it offers a distributed operating system in which we can build, test, and deploy applications without worrying about the front-end interface. Moreover, we forget choices of hardware, capacity, server, location of disk space or the computer names while using PaaS. The standard protocols such as REST and HTTP are associated with the interactions with this kind of virtual storage.
Benefits of Windows Azure
- Azure platform offers reduction of the cost of IT management, and eliminates the need for building on-premises resources.
- User can develop, alter, test and deploy applications over the web with a minimum number of available resources. As well as, a user can create, debug, test and distribute web services very quickly.
- In Azure, there is no need to purchase or configure a security solution and is redundant to install and configure a database cluster.
- Azure carries out expensive services off-premises, including large data processing, high volume computation and batch processing.
Windows Azure Platform
Windows Azure platform mainly stands with the foundation of running applications and keeping the data on the cloud. This contains computer services, storage services and fabric. Windows Azure affords a wide range of capabilities in the form of computing services to run applications, storage services and provides a framework that supports several applications as well as host services and manages all together centrally.
The Azure platform is a group of three cloud technologies as shown below:
Windows Azure provides a virtual Windows runtime for executing applications and storing data on computers in Microsoft data center which includes computational services, basic storage, queues, web servers, management services, and load-balancers. This also offers a local development fabric for building and testing services before they are deployed to Windows Azure in the cloud. The application that are developed for Windows Azure scales better and more reliable, requires less administration than that are developed through traditional Windows programming model. Users just spend money for the computing and storage they are consuming, instead of maintaining an enormous set of servers.
AppFabric (.NET Services)
Windows Azure platform’s major backbone is AppFabric which is a cloud-based infrastructure service for applications running in the cloud and it allows the creation of combined access and distributed messaging across clouds and enterprises. The goal of Fabric is to put altogether the massive distributed processing power in a unified manner. AppFabric is a middleware component that consists of services like Access Control, Workflow service and service bus.
The core RDBMS is offered by SQL Azure as a service in the cloud environment. The developers can access it using a tabular data stream that is the typical way to access on-premise SQL Server instances. Developers can create tables, indexes and views, use Stored Procedures and define triggers alike SQL Server’s features. Application software can access SQL Azure data using Entity Framework, ADO.NET and other Windows data access interfaces. The significant benefit of SQL Azure is that the management requirements are significantly reduced because they need not worry about other operations, such as monitoring disk usage and service log files.
The Windows Azure marketplace contains data and various other application market segments including data and web services from leading commercial data providers and authorized public data sources. The Windows Azure Marketplace is further divided into the following two categories:
- App Market: It exposes the applications or service built by developers to potential customers; so that they can easily choose from them to meet their needs.
- Data Market: Today, many organizations express their readiness to sell many kinds of data, including demographic information, financial information, legal information, and much more. Hence, Data Market offers a chance to expose their offerings to more customers using Microsoft’s cloud platform. In simple words, Data Market provides a single place to find, buy, and access a variety of commercial datasets.
Azure Development Life Cycle
- Create a Windows Azure account and Login using Microsoft Live ID.
- Prepare the development fabric to build an application in the local cloud platform.
- Test the application in the development fabric.
- Package the application for cloud deployment.
- Test the application on Windows Azure in the cloud.
- Deploy the application in the production farm.
Cloud computing is the next generation emerging technology where everything will be located on the cloud. We just need a device equipped with internet connection and a simple browser would be sufficient to taste the cloud computing. Cloud offers many advantages over the traditional way of running programs like faster service deployment and massive savings upfront and easily managing business growth by scaling up or down the computing power and storage.
Cloud computing makes it possible to spare the hassle of maintaining hardware and purchasing costly software. Developers can now easily undertake Windows apps development over a cloud by accessing essential software like Visual Studio and SQL Server. This article gives an overview of the Windows Azure operating system for developing cloud applications.