There is a buzz around cloud adoption which promises capacity-on-demand and elasticity. Windows Azure is the answer to cloud from Microsoft. Let us discuss about Azure in a series of articles.
first step, I will be discussing about introduction to Windows Azure in this
Azure is part of the larger Windows Azure platform, which is used for running
applications and storing data in the cloud.
Windows Azure provides the platform for hosting the application
on cloud and support the automatic management of the platform.
Windows Azure consists of 5 components.
Runs the application in cloud
Stores data as part of Azure
Connect On-premise application to Windows Azure
Cache the Azure blob data across different datacenters around the world
Controller: Maintain and update the systems in the data center
Compute can run different kinds of applications. Application
functionality is defined as one or more roles. Windows Azure will run one or
more instances of each role using in-built Load Balancer.
Web Role: it
makes easier to create any web-based applications. Each instance of Web role
contains pre-configured IIS in it. We can create the web application using any Microsoft
technologies like ASP.net, WCF or non-Microsoft technologies like Java or PHP.
Worker Role: it
is designed to run variety of windows based code. For example, if the
application sends automatic mails on receipt of a request from user, the worker
role will continuously listen to the request queue and send the mail.
VM Role: This role will be used for running a user
specified Microsoft Windows Server 2008 R2 image.
Windows Azure storage service provides three types of
Blob: Blob is
used for storing binary data up to a terabyte size. Also, blobs are the basic
storage for Windows Azure drives.
structured way of storing the data in Azure storage. Azure Table storage is not
relational; it stores the data as entities. For accessing table data, instead
of SQL statements we use LINQ queries or using the conventions defined by
Queue: Queues are
generally not used for data storage. Queues will be used for passing messages
across different role instances. For example, the Web role receives the request
from user and place the request in a queue. The worker role will read the request
from the queue and process accordingly.
When you move an application to cloud, we may want to keep
the database or a portion of the application on-premise. Connect help us to
connect the On-premise application to Cloud application. We can deploy our web
application to cloud by holding the database on-premise. For connecting the
on-premise application to cloud application, we need to install the Endpoint
Agent to our on-premise application server, which uses IPSec to connect to the
Content Delivery Network (CDN)
Cloud based application may need to server users across
globe. For improving the performance of accessing bulk data from different
geographical areas, CDN will cache the data to the nearest data center. When
the user accesses the data first time, CDN will locate his nearest geographical
location and copy the content to the location. The performance improvement won’t
be visible to the first user.
Fabric controller manages the systems in the data center and also the
software deployed in each system. It works with the Fabric Agent deployed in
each system to manage the system. We will discuss more on the fabric controller
in next article.
Here, we discussed about what is Windows Azure. We will
discuss more on how to create an Azure application, deployment, SQL Azure, etc
in next articles.