Cloud computing has been labelled the next big thing in the computing industry. What exactly is cloud computing? What are the benefits of cloud computing? Why would my organization and I want to explore cloud computing? Will it help us solve some of our IT problems? Of what potential issues should we be aware? This introductory module addresses the what's and why of cloud computing. It also introduces Microsoft's Windows Azure cloud computing product. How does the Microsoft solution compare to other cloud computing platforms? What exactly is Windows Azure?
Several components and technologies make up the Windows Azure Platform. In this module, you get a glimpse of a Windows Azure. You also explore the components that make up the Windows Azure Platform. Specifically, you look at the Microsoft data centers and the hardware and software that host Windows Azure applications and data. You also look at the development environment. What does it take to produce Windows Azure applications? Finally, you explore the various parts of the Windows Azure platform to include Windows Azure, SQL Azure and the App Fabric.
Most applications use files from the server's file system for something. Cache, simple reference data, logging, etc. are all possible uses of files and file space in a normal .NET application. Windows Azure computing instances (Web or worker roles) run on a VM, but share the physical server's resources. So how does a Windows Azure application use and access a file system? This chapter covers Windows Azure local storage. That is how applications can access, to some extent, files in the cloud. This chapter also covers a number of limitations of using local storage as well as the good and bad uses of local storage. Additionally, you learn about alternatives to local storage; most notably a product called Windows Azure Drive.
There are multiple administrator roles in Windows Azure. Some administrators are responsible for paying for the services used in Windows Azure. Other administrators deploy applications and data. Still other administrators need to manage and maintain the applications and data put in the cloud. This chapter covers a number of miscellaneous administration tasks and items with regard to Windows Azure. In addition, this chapter addresses some additional administrative capabilities that don't always apply to the development of an Azure application, but may be helpful in the care and management of Azure applications in general.
Windows Azure Storage provides highly scalable and available data storage to both cloud and on-premise services. It is not relational database storage. In fact, some types of Windows Azure Storage are quite different from relational or structured storage. In this module, you explore what Windows Azure Storage is, why you want to use, and how to access it. Once you have a general understanding of Windows Azure Storage, you explore in detail the first of three types of Windows Azure Storage; namely queue storage. Queues provide interoperable message communication between services and are not unlike what you might have seen if you have used MSMQ or IBM's MQ Series
In this module, you learn about the second of three Windows Azure Storage data storage facilities called blob storage. Blob storage provides a place to store any type of data (MP3 file, PDF document, flat text, etc). All instances of the application share this common storage. In fact, the storage can even be accessed by applications outside of the cloud.
Table storage is the last of Windows Azure Storage data services explored in this class. Table storage provides structured storage similar, but not the same, as a traditional database may offer. In many ways, table storage is simpler and more scalable than a traditional database. It also costs less to put data in table storage than a relational database in the cloud. In this module, you learn how to use Windows Azure table storage. You also learn how it differs from SQL Azure. You also learn how to use table storage to implement sessions used by multiple roles.
Web roles exist to serve HTTP content. Worker roles, on the other hand, are processing work horses that can do just about anything you would like them to do. Generally speaking, worker roles serve as backend processors. By default, worker roles don't even have an interface with which to communicate with them. The standard and accepted means to communicate with worker roles is to have them react to messages deposited into a Windows Azure Storage queue. In this module, you explore worker roles: their purpose, how to create and configure them, and how to communicate with them.
In this module you learn about SQL Azure. SQL Azure is a relational database in the cloud. Use SQL Azure to support applications in the cloud or on-premise. Use SQL Azure as a backup storage facility. Use SQL Azure as an easily and quickly provisioned database for prototyping, rapid development, and testing. SQL Azure is a highly scalable, available relational database maintained and operated by Microsoft yet familiar to SQL Server users..
Most developers are accustomed to debugging applications. Debugging in the cloud is a bit more complex. Most developers are also familiar with the process of collecting various logs to analyze problems that occur in hardware and software systems. Windows Azure has log files. Unfortunately, since the hardware and file system of the Windows Azure data center systems are not directly at your disposal, getting data from the log files requires a little more work. In this optional module, you learn about the Windows Azure Diagnostic Service. The API provided through this service grants you access to collect all the log data you would normally desire from your Windows system. The diagnostic service also provides the means to move that data to Windows Azure Storage so it may be externally accessed.