Homemade

"Now you know what I know!"

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.