O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Microsoft Azure

Book Description

A comprehensive guide to cloud application development using Microsoft Azure

In Detail

This book guides you through the process of building a Microsoft Azure system based around a case study for an industrial bakery with three business domains. Starting with the system design and selection of the correct Azure services, the book progresses by building the system in scalable, decoupled tiers. The book will teach you how to implement a scalable architecture using Azure Service Bus topics, allowing customer orders to be sent between decoupled business domains and processed by scalable worker roles. Azure Active Directory is implemented across all internal systems in the case study including websites, client applications, and mobile applications to create a unified authentication experience.

This book will take you through the processes of developing, deploying, and maintaining Microsoft Azure hosted systems.

What You Will Learn

  • Design scalable, resilient systems for Azure
  • Create MVC websites and cloud services
  • Build Azure SQL Databases with Entity Framework Code First Migrations
  • Use Azure Service Bus to decouple system tiers
  • Integrate client applications with Web API and SignalR on Azure
  • Build apps with mobile services and notifications hub
  • Implement Azure Active Directory across the entire system

Table of Contents

  1. Learning Microsoft Azure
    1. Table of Contents
    2. Learning Microsoft Azure
    3. Credits
    4. About the Author
    5. About the Reviewers
    6. www.PacktPub.com
      1. Support files, eBooks, discount offers, and more
        1. Why subscribe?
        2. Free access for Packt account holders
        3. Instant updates on new Packt books
    7. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Errata
        3. Piracy
        4. Questions
    8. 1. Getting Started with Microsoft Azure
      1. An overview of cloud computing
      2. Microsoft Azure overview
      3. Selecting a Microsoft Azure solution
        1. Infrastructure capabilities
        2. Platform capabilities
        3. Cost
        4. Decision flow diagrams
      4. Administration of Microsoft Azure systems
      5. Choosing a subscription
      6. Creating a Microsoft Azure account
      7. Adding a subscription
      8. Exploring the portal
        1. The top toolbar
        2. The side toolbar
        3. The bottom toolbar
      9. Examining Microsoft Azure Services
        1. Compute services
          1. Websites
          2. Virtual machines
          3. Mobile services
          4. Cloud services
        2. Data services
          1. SQL Server Database
          2. Storages
          3. HDInsight
          4. Cache
          5. Recovery services
        3. App services
          1. Media services
          2. Service Bus
          3. Visual Studio Online
          4. BizTalk Services
          5. Scheduler
          6. Active Directory (AD)
        4. Network services
          1. Virtual Network
          2. Traffic Manager
      10. Summary
      11. Questions
      12. Answers
    9. 2. Designing a System for Microsoft Azure
      1. Designing scalable and resilient systems
      2. Systems architecture
      3. A case study of a small business system
        1. System requirements
        2. Identifying subsystems
        3. Customer website design
        4. Administration system design
        5. System integration
        6. Identifying critical systems
        7. Selecting services
        8. Conclusion of the small business case study
      4. A case study of an enterprise system – Azure Bakery
        1. System requirements
        2. Sales requirements
        3. Production requirements
        4. Supply requirements
        5. Identifying subsystems
        6. Sales subsystems
        7. Production subsystems
        8. Supply subsystems
        9. System design
        10. System design – the sales customer phone app
        11. System design – sales order processor
        12. Sales system integration
        13. Identifying critical services
        14. Selecting Microsoft Azure Services
          1. Selecting common services
            1. Messaging services
            2. Authentication
          2. Selecting sales services
          3. Selecting production services
          4. Selecting supply services
        15. Conclusion of an enterprise system case study – Azure Bakery
      5. Designing platform environments
        1. Common environment roles
        2. Example environment sets
        3. Using website deployment slots
        4. Using cloud service staging environments
      6. Summary
      7. Questions
      8. Answers
    10. 3. Starting to Develop with Microsoft Azure
      1. Preparing our development environment
        1. Setting up software
        2. Mobile development
        3. The Microsoft Azure SDK
      2. Checking for Visual Studio updates
      3. Creating a website
      4. Configuring a website in the portal
      5. Creating a Visual Studio Online project
        1. Creating a Visual Studio Online account
        2. Creating a Visual Studio Online project
      6. Setting up continuous deployment
        1. Adding a solution to source control
        2. Configuring continuous deployment
        3. Examining the build definition
      7. Setting up alerts
      8. Summary
      9. Questions
      10. Answers
    11. 4. Creating and Managing a Windows Azure SQL Server Database
      1. Creating a database using the Azure management portal
      2. Building a database using Entity Framework (EF) Code First Migrations
        1. Creating the data model
        2. Configuring a database context
        3. Linking an authenticated user to the model
        4. Configuring the connection string
        5. Enabling migrations and updating the database
        6. Publishing with migrations
      3. Managing SQL Azure Servers and databases
        1. Managing a database through the portal
          1. Features of the management portal
        2. Managing a database using SSMS
        3. Managing a database through Visual Studio
          1. Using the table designer
        4. Using Azure PowerShell
        5. Choosing a management tool
      4. Backing up and restoring databases
        1. Automated exports
      5. Summary
      6. Questions
      7. Answers
    12. 5. Building Azure MVC Websites
      1. Implementing OAuth authentication
        1. Creating a Twitter application
        2. Modifying the external login
        3. Testing the Twitter login
      2. Completing the customer sales website
        1. Modifying the user account panel
        2. Temporary PayConfirm action
        3. Final activities
      3. Adding a custom domain name to a website
      4. Implementing an SSL certificate
        1. Creating CER files
        2. Using OpenSSL to create a PFX certificate
        3. Uploading the certificate
        4. Redirecting all HTTP traffic to HTTPS
      5. Adding Azure AD single sign-on to a website
        1. Configuring AD
        2. Configuring an MVC website for AD single sign-on
        3. Publishing the website with AD single sign-on
      6. Implementing Azure AD group authorization
        1. Creating an AD group
        2. Modifying the application service principal
        3. Implementing AzureAdAuthorizeAttribute
      7. Completing the admin sales website
      8. Summary
      9. Questions
      10. Answers
    13. 6. Azure Website Diagnostics and Debugging
      1. Enabling diagnostics
        1. Working with logfiles
        2. Viewing logfiles in Visual Studio
        3. Streaming logs
          1. Filtering stream logs
        4. Downloading logs
        5. Accessing files using FTP
      2. Application logging
        1. Implementing tracing in the application
        2. Application logging to table storage
          1. Querying table data
        3. Application logging to blob storage
        4. Diagnosing a real bug
          1. Setting up the website
          2. Producing an error
      3. Site diagnostics
        1. Extra filesystem settings
        2. Site diagnostics using blob storage
      4. Kudu
      5. Remote debugging
        1. When to use remote debugging
      6. Summary
      7. Questions
      8. Answers
    14. 7. Azure Service Bus Topic Integration
      1. Introducing Azure Service Bus and topics
      2. Dead-letter queues
      3. Creating a Service Bus topic
      4. Connecting a website to the Service Bus topic
        1. Preparing the website
        2. Creating messaging logic
        3. Sending a message from the controller
      5. The messaging simulator
        1. Setting up the project
        2. Creating a data service
        3. Creating a messaging service
        4. Completing the simulator
        5. Running the simulator
      6. Exploring the topic workspace
        1. The MONITOR tab
        2. The CONFIGURE tab
        3. The SUBSCRIPTIONS tab
      7. Summary
      8. Questions
      9. Answers
    15. 8. Building Worker Roles
      1. Introducing cloud services
      2. Exploring worker roles
        1. Creating a worker role
        2. Examining the worker role
        3. Examining the cloud service
      3. Running locally
        1. The compute emulator UI
        2. The storage emulator UI
      4. Publishing a worker role
      5. Building the production order processor
        1. Adding an entity model
        2. Preparing the Service Bus topic
        3. Adding an order processor task
          1. Creating TopicProcessorBase
          2. Implementing TopicProcessorBase
          3. Using OrderTopicProcessor in the worker role
      6. Creating a scheduled work activity
        1. Creating a scheduled job and queue
        2. Configuring a connection string
        3. Adding batch processor tasks
          1. Creating a storage queue processor base
          2. Implementing StorageQueueProcessorBase
      7. Completing the worker role
      8. Testing the production order processor
        1. Testing a single instance
        2. Testing multiple instances
      9. Deleting idle cloud services
      10. Summary
      11. Questions
      12. Answers
    16. 9. Cloud Service Diagnostics, Debugging, and Configuration
      1. Configuring diagnostics
        1. Adding local diagnostics
        2. Configuring Azure storage diagnostics
      2. Remote debugging
        1. Stopping the debugger
        2. Examining how remote debugging works
      3. Debugging with IntelliTrace
      4. Remote desktop connection
        1. Downloading a Remote Desktop Protocol (RDP) file
        2. Establishing an RDP connection
        3. Firewall issues
      5. Detecting configuration changes in code
      6. Start-up tasks
        1. Creating a batch script
        2. Adding the task
        3. Environmental variables
      7. Summary
      8. Questions
      9. Answers
    17. 10. Web API and Client Integration
      1. Introducing a Web API
      2. Introducing SignalR
      3. Building a Web API service
        1. Creating a Web API project
        2. Creating API controllers
      4. Creating a SignalR hub
      5. Publishing a Web API
      6. Modifying the Web API AD manifest
      7. Adding a client application to AD
      8. Building a client application
        1. Preparing the WPF project
        2. Creating an authentication base class
        3. Creating a data service
        4. Creating a SignalR service
        5. Completing the application
        6. Testing the application
      9. Summary
      10. Questions
      11. Answers
    18. 11. Integrating a Mobile Application Using Mobile Services
      1. Introducing Azure mobile services
      2. Creating the customer Azure mobile service
        1. Creating a mobile services project
      3. Exploring the mobile service sample project
        1. The sample table controller
        2. The sample data entity
        3. A sample scheduled job
        4. Mobile service DbContext
        5. WebApiConfig
        6. Cleaning up the project
        7. Integrating with the sales database
        8. Configuring development app settings
        9. Integrating authentication with the sales website
        10. Adding a channel registration API controller
        11. Adding an order controller
        12. Publishing the mobile service
      4. Creating a Windows Phone application
        1. Adding data services
          1. The DataServiceBase class
          2. The DataService class
        2. Setting up push notifications
          1. Modifying the manifest
          2. Adding a channel helper
        3. Notifications debug
          1. Completing the app
      5. Updating the order processor
      6. Updating the admin website
      7. Creating the supply mobile service
        1. Configuring a mobile service for Azure AD auth
        2. Creating the barcode controller
        3. Creating the order controller
      8. Creating the supply Windows Store application
        1. Configuring the Store app for AD authentication
        2. Creating a DataServiceBase class
      9. Summary
      10. Questions
      11. Answers
    19. 12. Preparing an Azure System for Production
      1. Project configurations for multiple environments
        1. Adding build configurations to a solution
        2. Website configuration transforms
        3. Application configuration transforms
        4. Cloud configuration
      2. Building website deployment packages
        1. Manually publishing websites to the filesystem
        2. Building web packages on a build server
      3. Building cloud service deployment packages
        1. Building cloud service deployment packages manually
        2. Building cloud service deployment packages on a build server
      4. Deploying web packages to Azure
      5. Deploying cloud packages to Azure
      6. Creating database scripts from Entity Framework Code First Migrations
      7. The go-live checklist
      8. Monitoring live services
        1. The Microsoft Azure portal
        2. The Service Management REST API
        3. Management services alerts
        4. Azure PowerShell
      9. Azure daily service checks
      10. Azure periodic service activities
      11. Azure tool list
      12. Summary
      13. Questions
      14. Answers
    20. Index