- Microsoft Azure: Enterprise Application Development
- Richard J.Dudley Nathan A.Duchene
- 623字
- 2025-02-28 10:03:57
So, we're enterprise developers, architecting an application to enhance some core business processes. The decision makers need more information about Azure before they're sold on a cloud-based application. They want to know what can Azure do, will we be able to include all the features we need, and will it cost more to develop for Azure?
Microsoft's marketing group tends to work with a thin thesaurus, so if you're a fan of confusing product names, Microsoft does not disappoint with their Azure offering. We'll clear up the mystery of three Azures and four fabrics.
This chapter is by no means an exhaustive answer to the questions that will be raised and, as the technology is changing so rapidly, it's important to augment this chapter with some additional research before committing to any features of the application.
We aren't all graced by management with a strong technical background, and yet they need a deeper dive into the shallow end to achieve a win-win situation and obtain senior management buy-in to leverage this new platform. Sometimes, it's like you actually do work in the same office as Dilbert.
As we mentioned before, Microsoft Azure actually refers to a menu of services offered by Microsoft; each of these services is contained in the Azure Fabric. The Azure Fabric is essentially every piece of hardware and the software that monitors and controls the hardware. Every server, every firewall, every load balancer, failover services in the event of a failure, the Azure portal where we provision and deploy our application, create and check the health of our current services–they're all part of the Azure Fabric. Fabric in this case has a very large definition–as far as the Azure universe is concerned, the Azure Fabric is the continuum of space and time.
The three items on the Azure menu are Windows Azure, SQL Azure, and the AppFabric. The following diagram shows how these items interrelate with one another, as well as with applications and databases separate from Microsoft Azure. For the remainder of this book, when we refer to Azure, we will be talking about the menu of services. When we discuss a specific item, we'll refer to it using its specific name such as Windows Azure or SQL Azure.

One of the most interesting features of Azure is the support for a number of languages and web servers. Many people mistakenly think that because Azure is a Microsoft offering, its usage is limited to .NET and IIS. Nothing could be further from the truth! In addition to .NET 4.0 (including .NET 2.0, 3.0, and 3.5), Azure also supports PHP, C++, and Java, as well as Ruby and Ruby on Rails. There is also choice in the databases and development environments. Web servers include IIS, Apache, and Tomcat; databases include SQL Server (via SQL Azure) and MySQL; and development tools include all versions of Visual Studio 2008/2010, Visual Studio Web Developer 2008/2010 Express, and Eclipse that's a lot of choice! SDKs, toolkits, and plugins are provided for the more common options and others are being developed. Azure supports .NET 4, ASP.NET MVC and Silverlight, and new features are being added in an ongoing basis.
Microsoft has an expanding number of data centers around the world. For compliance purposes, you can select the data center in which your application will reside, or locate your application close by to take advantage of regional prices. Your application is replicated multiple times across the data center of your choosing; so, if there is a hardware failure on the primary instance, the load balancer will direct the traffic to an instance that is alive and healthy!