Cloud computing is the future of application development and it is getting
more and more popular day by day. Azure is a platform for cloud computing given
by Microsoft. We can use this platform to build a web application/ web site
that runs and stores data in Microsoft Cloud datacenters. We can create and
deploy our web applications using the Visual studio and Windows Azure. For this
we need to have an account in the Windows Azure platform. Luckily the 90 Days Trial for Windows Azure is
available from Microsoft. The Requirement is just to have a Windows Live ID and
a valid credit card to authenticate you.
We can use
Windows Azure for a Virtual machine,
a Web site or for a Cloud service. The Azure is consisting of various
components. In this article I am going to describe that entire Component with
some brief details. The knowledge of these are important in order to understand
the functionality of Windows Azure.
We can divide
the Azure in the following main components which are made up of smaller parts.
The basic building blocks for Azure are.
- ØExecution
Models
- Ø Data
Management
- Ø Networking
- Ø Business
Analytics
- Ø Messaging
- Ø Caching
- Ø Identity
- Ø High
performance Computing
- Ø Media
- Ø Commerce
- Ø &
SDK’s
These
components are then future made up of the individual parts that are described
below.
Execution Models:-
ü Virtual machine
ü Web Site
ü Cloud Services
Data management:-
ü SQL Database
ü Tables
ü Blob
Networking :-
ü Virtual Network
ü Connect
ü Traffic manager
Business Analytics :-
ü SQL Reporting
ü Hadoop
Messaging :-
ü Queues
ü Service Bus
Caching :-
ü Caching
ü CDN
Identity :-
ü Windows Azure Active Directory
High performance Computing :-
ü HPC Scheduler
Media :-
ü Media Service
Commerce :-
ü Market Place
SDK :-
ü JAVA
ü .NET
ü PHP
ü PYTHON
Details of
these components are as follows.
Virtual Machine:- Azure can be used as a virtual machine in order to
save time and cost. We just need to specify the Virtual Hard Disc (VHD) and the
VM space required, thus it can only be used as and when an image or data arise.
The same can also be moved out of Cloud service to work locally.
Web Sites:
This is the most common use of Cloud computing where the data used in
the web sites are stored in the cloud data centers. IIS manages the web sites and
we can move the IIS in Azure to take care of the data and information
management. The development and storage can be from any language from .Net, PHP
to SQL or any other relational data base.
Cloud Service:
Some time the application is not required a lot of administration
instead we need to do a lot of operation that are not frequent thus in that
case we can use Azure as a service or we can say platform as a Service. Azure is the best option is to use in this
case which gives us a lot of flexibility and scalability to test or create the environment
with multiple users, shutting or starting any running instance or modification
in it with a low cost hosting environment.
SQL Data Base: Azure gives us choice for storing
our data in Cloud platform. If our application is such that we require a
relational data base to store our data in that case the Azure provide us the
SQL data base with full feature to store our data. The control is in our hand
thus we can manage that that all is going to access our data base and it gives
us the flexibility to create replica of data base to reduce the down time.
Tables:-
is our data base is very large but there is no complex calculation in
data in that case we need not to have a
complete relational data base. In this case there is an option to store our
data in a structure which is fast and reliable. Here come the TABLES where the
data is store in the plain tables for fast access. An example of data storage
is the Key values pair where data is store with a key so that it can be
retrieve faster.
Blob: The Other option to store the Data
in cloud is the “Blob” where the data is stored in a binary format that is
unstructured. This is useful if we are simply having a backup of any data or
information where the Data is important not the structure..
Virtual network:
In this case the cloud will work as simply as the extension of our local
network. As we can have virtual machine on cloud that to when required. It act
as a Virtual Private Network (VPN) which can be set by the admin and we can
connect to this network using a VPN gateway device.
Connect: If we do not want to create a VPN
and simply need to connect with the clod platform in this case there is option
to use Azure as direct connect. In this case we will establish a secure
connection to Azure provided they are windows machine. It just requires to
install the connect software in the developer machine.
Traffic manager: In scenario where the user of the
application are scattered around the world and the application need to connect
to the data center that is nearest to machine to overcome the response time,
but if that data center is overloaded and you have to route the request to some
other data center in this case the Azure Traffic manager is used. Here certain
rules are defined by the developer for the routing. Azure then evaluate these rules
to map the traffic.
SQL Reporting: this is the important business
activity to have reports based on the data stored in the data center data base.
Azure has the option to provide reports using the SQL reporting. we can create
the reports for the application running on the Azure platform. Reports can be created
in various data formats for example PDF, CML and Excel etc.
Hadoop: Hadoop is a dominant technology in
the market to handle large amount of data that is not easily handled by the
traditional RDBM, due to its size or the type of data. E.g. the server logs for
and old system Hadoop is an Apache open source which stores the data in Hadoop
Distributed File System (HDFS) to store data. A developer can create a mapReduce job to analyze data. The data
in HDFS can be stored in distributed/ multiple servers. The mapReduce job can
be run on each server to do the processing parallel.
Queues: the interaction between the codes
on Azure is done by 2 ways the simple one is Queue, Queue is a simple data
structure of the FIFO format, where the sender puts his message and the same
can be read the receiver. After putting the message in queue the sender can
perform another job by making the transfer asynchronously.
Service Bus: this is another way of communication in Azure
between the applications. The service buses internally use a Queue to handle
the Request. This Queue’s are not similar to the earlier Queue but based in a
Published and Subscribe mechanism. Here is the same message can be subscribed
by multiple clients thus there will be One 2 Many relations. The service buses
offer the communication between the applications that are also running out of
the Cloud platform.
Caching:- Caching is the mechanisms to
improve the performance by reducing the time to load the similar data again and
again. Azure too support this Caching where the frequent accessed data weather
it is a Database, a Table or a Blob
data. A VM can store the data in their memory for caching. Using the
configuration and application setting the developer can also store the session
data in Azure cache.
CDN:- CDN stands for Content delivery
network, it is Quite useful when there is a large number of users accessing the
similar data, in this case the caching will not work. For example Software updates. CDN has
multiple sites across the world which holds or store the information
geographically for content or BLOB access by a user. Thus if the similar
request arise the same can be routed to CDN for the faster access.
Identity: Microsoft Windows Azure Active
Directory is the service which handles the identity in the cloud platform, that
is who is the user and how the system will interact with this user. It is
similar to the directory service where the user information and their
organization information are stored which is called Identity. There is an API
given to access the information from directory which is called Windows Azure Active Directory Graph
which can give you the information about the user. To handles information about
the user from outside the world like Twitter and Face book there is a separate
service which is called Windows Azure Active Directory Access
Control, it simply convert the information in a common format that can be
used in Azure platform as well.
High performance Computing: A better way to use the Cloud
computing is to execute the application parallel, where the request can be
processed or executed in multiple VM same time, this will increase the
performance. For doing so we required some sort of scheduler, in Azure this can
be done using HPC Scheduler.
Media: Azure can support a rich media
content write from HD Audio, HD Video to other high definition content.
Commerce: Windows Azure
Marketplace. The Windows Azure Marketplace is a global online market for SaaS
applications and premium datasets. By listing your Windows Azure-based
applications on the marketplace, you can commerce-enable and sell your
applications internationally. Plus, you can subscribe to a range of premium
datasets listed in the marketplace within your applications or monetize and
distribute your own datasets through the marketplace.
SDK: Azure provides
the SDK for various languages for the developer across the stream to build
application that can run on the Windows Azure Cloud platform. The SDK available
are for .NET, PHP, PYTHON and Java. These can be downloadable from Microsoft
site.
For more details on Azure you can log in to the official Azure site. http://www.windowsazure.com/en-us/ I have searched a lot of sites for compiling this content in easy language, so that the concept will become much more easier than it looks. Please provide your valuable comments on the article so that I can improve myself and create some more better articles on the same. Thanks You..
Thanks
Anil Kumar Pandey
Microsoft MVP, Microsoft MCC,DNS MVM