Condividi tramite


Review for “Microsoft Azure: Enterprise Application Development”, PACKT Publishing

 

imageI had the privilege to read and make a small review of the “Microsoft Azure: Enterprise Application Development”, from Richard J. Dudley, Nathan A. Duchene published by PACKT Publishing (ISBN 978-1-849680-98-1) on December 2010.

I spent enough time reading the book, and I strongly believe it’s a very nice book, for the following reasons:

  • It has a very nice structure, that helps readers become familiar with both Cloud and Microsoft’s Cloud Platform offering (Windows Azure), even if they had never heard about this term. I really liked the statement “No cloud computing platform can be all things to all people”, since there is a lot of noise and different interpretation of Cloud, either by vendors or by nature (public vs. private) [Chapter 1: Introduction to Cloud Computing]
  • “Explaining Azure to the managers” was a nice surprise, since they demystify all new aspects of Azure [Chapter 2: The Nickel Tour of Azure]
  • The authors provide detailed information on how to setup the development environment and create Windows Azure account, which is very helpful, especially for beginners [Chapter 3: Setting Up for Development]
  • They also provide enough resources for third party tools and Microsoft programs, either CTPs or on codeplex.com, that can be useful to all
  • In SQL Azure, I liked the feature comparison between this version and SQL Server 2008 (on premise). If you consider migrating your database on Azure, then you’ll find this information useful, since besides feature comparison they briefly cover other important areas like Security, Manageability, Scalability and High Availability, Data Synchronization and Data Migration. [Chapter 5: Introduction to SQL Azure]
  • Microsoft offers several storage options, BLOBs, Tables and Queues, besides the relational SQL Azure database, and there are useful information in each option. It’s interesting to note how to create a new BLOB storage, how to use the REST API for BLOB storage [Chapter 6: Azure imageBlob Storage].
  • “Table Storage versus database tables” is another interesting section in Table storage since it highlights some key conceptual differences using simple examples, limitations of this storage type, exception handling and use of REST API [Chapter 7: Azure Table Storage].
  • Although I’m not sure how familiar you might be with Queues (it’s a very interesting pattern for asynchronous communication between applications or systems), but in case you are not, you will find interesting the “Reasons to use a queue” section [Chapter 8: Queue Storage]
  • Similarities of ASP.NET and Web role in Azure and “Application diagnostics and logging in the cloud” are some interesting parts on [Chapter 9: Web Role], especially the association of log files and storage options. The sample application is fine, but I would prefer if C# had been used instead of VB.NET.
  • If you are not familiar with WCF and endpoints, you will find helpful the notes in sample code and configuration files, as well as the brief introductions in contracts (Service, Operation and Data) [Chapter 10: Web Services and Azure]
  • Worker role is an interesting offering and there are some useful information in [Chapter 11: Worker Roles] like “Uses of worker roles”, “Thread pools”, “Management”, the use of non-IIS servers (“Externally facing worker roles”, although there are not enough details on how to achieve that), and recommendations for best practices.
  • The most interesting feature of Windows Azure is AppFabric, and the book covers the main uses of it: Access Control and Service Bus. The ‘claims based authentication’ and use of Tokens are explained in a well-understood way and the sample configuration is very useful for your first attempt to use this service. Regarding Service Bus, the focus is on using this service for message relay (‘to connect our systems with Service Bus, and use the Service Bus as our public endpoint’) and as a connection broker (‘The service bus then facilitates the two connections, finding a common protocol on which to communicate, and the two applications then use a direct connection’). [Chapter 13: Azure AppFabric]
  • Since monitoring and diagnostics are important components of a successful implementation and deployment, the information and resources provided in [Chapter 14: Azure Monitoring and Diagnostics] are very helpful.
  • Finally, the entire deployment process is nicely described, especially the various environments (Staging, Production), with detailed information (screen-shots) that help a lot [Chapter 15: Deploying to Windows Azure].

Overall it is a well-written book, that can cover many features of Windows Azure offering and can be evaluated by both managers and developers/IT pros as a reference book. In order to gain more insight on the development parts, you will have to create a Windows Azure account, deploy the sample application, and extend it based on your own needs/requirements.

Taking into consideration all of the above, I highly recommend it as a must-have book for Windows Azure introduction (level 200) book.