Understanding Microsoft Azure
The Azure™ Services Platform (Azure) is an internet-scale cloud services platform hosted in Microsoft data centers, which provides an operating system and a set of developer services that can be used individually or together. Azure’s flexible and interoperable platform can be used to build new applications to run from the cloud or enhance existing applications with cloud-based capabilities. Its open architecture gives developers the choice to build web applications, applications running on connected devices, PCs, servers, or hybrid solutions offering the best of online and on-premises.
Azure reduces the need for up-front technology purchases, and it enables developers to quickly and easily create applications running in the cloud by using their existing skills with the Microsoft Visual Studio development environment and the Microsoft .NET Framework. In addition to managed code languages supported by .NET, Azure will support more programming languages and development environments in the near future. Azure simplifies maintaining and operating applications by providing on-demand compute and storage to host, scale, and manage web and connected applications. Infrastructure management is automated with a platform that is designed for high availability and dynamic scaling to match usage needs with the option of a pay-as-you-go pricing model. Azure provides an open, standards-based and interoperable environment with support for multiple internet protocols, including HTTP, REST, SOAP, and XML.
In a more simpler term, Azure is Microsoft's Operating System for the cloud.
Lets take a step back and think what a traditional OS would do for your
applications ? A Desktop/Server OS takes care of the nitty grities of
managing of your computers hardware as well as basic housekeeping tasks
like memory management, disk I/O, task scheduling etc... while your
application codebase is largely focused on the the business problem you
are trying to solve. Now think of a typical Internet application today ?
We not only have to create a well behaved application but also need to
take care of provisioning a hosting environment, scaling the application
based on load, monitoring health, planning for fault tolerance,
disaster recovery & managing upgrades... Now how many times do we
find ourselves doing the same things again and again... One cannot help
but wish if only there was an environment that would automatically
manage all these basic housekeeping aspects and let the IT team focus on
just building the application. Well this is precisely what a cloud OS
does for you.
Microsoft Azure provides the glue that gels together the cloud. It makes the zillions of connected servers work together as a cohesive unit and provides an environment that has automated service management, immense computing potential, practically unlimited storage and rich developer experience. It also provides you with 24/7 availability and the ability to scale up and down with very little overheads. This allows developers to focus on building the app than the infrastructure.
By leveraging the automated service management capabilities of Microsoft Azure a developer can model the rules for deployment, monitoring and execution. He/She then provides the rules along with the executables for the service to the platform which then deploys, monitors, and manages the service in an hands free mode...
Microsoft Azure creates a powerful service hosting environment. All of the hardware including servers & load balancers is virtualized and a service is typically deployed across multiple fault domains and update domains resulting in high availability and fault tolerance. All this is done by cloud OS transparent to the service owner.
Reliable storage is an essential element of any application platform today. Microsoft Azure provides highly scalable cloud storage with the ability to store data in blobs, tables & queues.
Now a rich, familiar developer experience is absolutely critical to the adoption of any platform within the developer community. Microsoft Azure provides you with the same familiar Visual Studio experience complete with a managed framework that developers could use out of the box. To make things even better Microsoft Azure team makes available a complete cloud experience on your desktop that allows developers to build and test their cloud applications on a local desktop and yes you don't need a windows server for doing this.