Book Details

About This Book

The perfect fast-paced case study for developers and architects wanting to enhance core business processes

Packed with examples to illustrate concepts

Written in the context of building an online portal for the case-study application

Who This Book Is For

If you provide technological leadership to their enterprise—senior developers, architects, CIO/CTO and you want or need to guide your enterprise’s application design to Azure, this is the perfect book for you! Since the examples are in .NET, the book will skew to MS-oriented developers. But a lot of what is discussed will be applicable to anyone wanting to work with Azure. No matter what language you use, you provision the application fabric the same way, and all the underlying concepts will be the same. You will need experience with Visual Studio, and some basic SQL Server knowledge.

Table of Contents

Chapter 1: Introduction to Cloud Computing

What is an enterprise application?

What is cloud computing?

Some benefits of cloud computing

Some downsides of cloud computing

Cloud computing infrastructure

Cloudy skies ahead

Is cloud computing "enterprisey" enough?

Summary

Chapter 2: The Nickel Tour of Azure

Explaining Azure to the managers

Windows Azure

SQL Azure

Windows Azure platform: AppFabric

Codename Dallas

Development Fabric

C﻿onsiderations for the ASP.NET developer

How are Azure costs calculated?

Summary

Chapter 3: Setting Up for Development

Downloading the tools

Configuring the local machine for development

Ins﻿talling Windows Azure tools and SDK

Summary

Chapter 4: Designing our Sample Application

Project design

Integrating application with cloud features

Creating an Azure account

Summary

Chapter 5: Introduction to SQL Azure

Overview of SQL Azure

Security

Development considerations

Management tools

Managing databases, logins, and roles in SQL Azure

Migrating schema and data

The Jupiter Motor's ERP system database and the Dealer Orders database

Creating our database

Summary

Chapter 6: Azure Blob Storage

Blobs in the Azure ecosystem

Creating Blob Storage

Windows Azure Content Delivery Network

Blob Storage Data Model

Blob Storage

Summary

Chapter 7: Azure Table Storage

Table Storage versus database tables

S﻿ome of the good stuff

L﻿imitations of Table Storage

Adding Table Storage to an Azure account

Accessing Table Storage

Choosing a PartitionKey

Exception handling

Summary

Chapter 8: Queue Storage

The ins and outs of queues

Wor﻿king with queues

Working with messages

Summary

Chapter 9: Web Role

The role of the web

Web roles, déjà vu, and ASP.NET

App﻿﻿lication diagnostics and logging in the cloud

Jupiter Motors web role

Summary

Chapter 10: Web Services and Azure

Web services and WCF

Securing WCF

Jupiter Motors web service

Creating a new WCF service web role

Our WCF web services

DataTable "gotcha"

Web Service Definition Language (WSDL) "gotcha"

Summary

Chapter 11: Worker Roles

Worker role internals

Uses of worker roles

Managing worker roles

The Jupiter Motors worker role

S﻿ummary

Chapter 12: Local Application for Updates

Brief overview of the application

JupiterMotorsERP local application

Testing our application

Summary

Chapter 13: Azure AppFabric

Introduction to Azure AppFabric

Access Control

Service Bus

Summary

Chapter 14: Azure Monitoring and Diagnostics

Azure Diagnostics­ under the hood

Enabling diagnostic logging

Lo﻿gging config data in our application

Transferring and persisting diagnostic data

Accessing stored data

Summary

Chapter 15: Deploying to Windows Azure

Setting up hosted service in Windows Azure

Preparation application for deployment

Ready for deployment

Changing live configuration

Upgrading the deployment

Running the deployment

Summary

Conclusion

What You Will Learn

Explore the major features of Azure

Examine the differences between Azure development and traditional application development

Integrate with an on-premises database using SSIS

Utilize blob, table, and queue storage

Develop web and worker roles

Log application diagnostics and events

Create a WCF service in a web role

Review considerations for moving an application and data into the cloud

Create a Windows Forms application, and integrate it with web services using Visual Studio

Monitor your application's performance using Azure Diagnostics

In Detail

Microsoft's Azure platform has proved itself to be a highly scalable and highly available platform for enterprise applications. Despite a familiar development model, there is a difference between developing for Azure and moving applications and data into the cloud. You need to be aware of how to technically implement large-scale elastic applications. In this book, the authors develop an Azure application and discuss architectural considerations and important decision points for hosting an application on Azure.

This book is a fast-paced introduction to all the major features of Azure, with considerations for enterprise developers. It starts with an overview of cloud computing in general, followed by an overview of Microsoft's Azure platform, and covers Windows Azure, SQL Azure, and AppFabric, discussing them with the help of a case-study.

The book guides you through setting up the tools needed for Azure development, and outlines the sample application that will be built in the later chapters. Each subsequent chapter focuses on one aspect of the Azure platform—web roles, queue storage, SQL Azure, and so on—discussing the feature in greater detail and then providing a programming example by building parts of the sample application. Important architectural and security considerations are discussed with each Azure feature.

The authors cover topics that are important to enterprise development, such as transferring data from an on-premises database to SQL Azure using SSIS, securing an application using AppFabric access control, blob and table storage, and asynchronous messaging using Queue Storage. Readers will learn to leverage the use of queues and worker roles for the separation of responsibilities between web and worker roles, enabling linear scale out of an Azure application through the use of additional instances. A truly "elastic" application is one that can be scaled up or down quickly to match resources to demand as well as control costs; with the practices in this book you will achieve application elasticity.

Authors

Richard J. Dudley

Richard Dudley is a Senior Application Developer for Armada Supply Chain Solutions, a logistics company based in Pittsburgh, PA. Richard has been developing with Microsoft technologies since 1998, and today works with a variety of technologies, including SQL Server, ASP.NET, SharePoint and BizTalk. With his wife Kathy, Richard is also co-owner of The Bloomery Florist in Butler, PA

Nathan A. Duchene

Nathan Duchene is an Application Developer for Armada Supply Chain Solutions, a logistics company based in Pittsburgh, PA. He has worked with a list of Microsoft technologies, including ASP.NET, Silverlight, SharePoint, BizTalk, and SQL Server. Nathan also enjoys playing numerous sports, volunteering in the community, and spending time with his family and closest friends in his spare time.

Table of Contents

Chapter 1: Introduction to Cloud Computing

What is an enterprise application?

What is cloud computing?

Some benefits of cloud computing

Some downsides of cloud computing

Cloud computing infrastructure

Cloudy skies ahead

Is cloud computing "enterprisey" enough?

Summary

Chapter 2: The Nickel Tour of Azure

Explaining Azure to the managers

Windows Azure

SQL Azure

Windows Azure platform: AppFabric

Codename Dallas

Development Fabric

C﻿onsiderations for the ASP.NET developer

How are Azure costs calculated?

Summary

Chapter 3: Setting Up for Development

Downloading the tools

Configuring the local machine for development

Ins﻿talling Windows Azure tools and SDK

Summary

Chapter 4: Designing our Sample Application

Project design

Integrating application with cloud features

Creating an Azure account

Summary

Chapter 5: Introduction to SQL Azure

Overview of SQL Azure

Security

Development considerations

Management tools

Managing databases, logins, and roles in SQL Azure

Migrating schema and data

The Jupiter Motor's ERP system database and the Dealer Orders database

Alerts & Offers

Series & Level

We understand your time is important. Uniquely amongst the major publishers, we seek to develop and publish the broadest range of learning and information products on each technology. Every Packt product delivers a specific learning pathway, broadly defined by the Series type. This structured approach enables you to select the pathway which best suits your knowledge level, learning style and task objectives.

Learning

As a new user, these step-by-step tutorial guides will give you all the practical skills necessary to become competent and efficient.

Beginner's Guide

Friendly, informal tutorials that provide a practical introduction using examples, activities, and challenges.

Essentials

Fast paced, concentrated introductions showing the quickest way to put the tool to work in the real world.

Cookbook

A collection of practical self-contained recipes that all users of the technology will find useful for building more powerful and reliable systems.

Blueprints

Guides you through the most common types of project you'll encounter, giving you end-to-end guidance on how to build your specific solution quickly and reliably.

Mastering

Take your skills to the next level with advanced tutorials that will give you confidence to master the tool's most powerful features.

Starting

Accessible to readers adopting the topic, these titles get you into the tool or technology so that you can become an effective user.

Progressing

Building on core skills you already have, these titles share solutions and expertise so you become a highly productive power user.