Muutke küpsiste eelistusi

E-raamat: Web Applications on Azure: Developing for Global Scale

  • Formaat: PDF+DRM
  • Ilmumisaeg: 11-Dec-2017
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781484229767
Teised raamatud teemal:
  • Formaat - PDF+DRM
  • Hind: 67,91 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: PDF+DRM
  • Ilmumisaeg: 11-Dec-2017
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781484229767
Teised raamatud teemal:

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Build .NET apps on Microsoft Azure services that can grow to Internet scale. Learn how you can make smart application architecture decisions and follow best practices so that your website can handle tens of thousands of concurrent users and deliver your content globally.

Author Rob Reagan takes you through key Azure technologies targeted toward building web applications, and along the way shares his lessons learned in scaling out a real-world web application. After an overview of web application building blocks, the book dives into relational and NoSQL data storage options on Azure, including Azure Table Storage and CosmosDB. You’ll then discover how to make best use of Redis Cache, Web Jobs, Messaging Queues, and more, alongside other tips, tricks, and troubleshooting advice for when things go wrong. The book concludes with a thorough exploration of best practices for deployment at scale.

What You'll Learn

  • Develop scalable architecture patterns on Azure with ASP.NET MVC
  • Understand the pros and cons of using SQL Azure vs. NoSQL solutions (Azure Tables, CosmosDB)
  • Perform data migration, backup, and recovery in SQL Azure
  • Use effective caching
  • Troubleshoot your web applications
  • Know best practices for deployment

  • Who This Book Is For

    Professional developers or serious hobbyists with experience developing web applications with ASP.NET MVC or Web API
    About the Author xv
    About the Technical Reviewer xvii
    Acknowledgments xix
    Introduction xxi
    Chapter 1 Introducing Azure
    1(18)
    What Is Azure?
    1(1)
    Cloud-Based Compute-on-Demand Services
    1(1)
    Infrastructure-as-a-Service vs. Platform-as-a-Service
    2(1)
    Setting Up Your Machine for Azure Development
    3(1)
    Visual Studio 2015 Community Edition
    3(1)
    Azure SDK
    4(1)
    SQL Server 2016 Express Edition
    4(8)
    SQL Server Management Studio
    12(1)
    Microsoft Azure Storage Explorer
    12(1)
    Redis Desktop Manager
    12(1)
    Setting Up Your Azure Account
    13(1)
    Free Trial
    13(2)
    Purchasing an Azure Subscription
    15(2)
    Enterprise Agreements
    17(1)
    Summary
    18(1)
    Chapter 2 Web Applications
    19(42)
    Introducing the Verify App
    20(1)
    Building the Verify Web Application
    21(1)
    Creating the Database and Person Tables
    21(1)
    Creating the Web Application
    22(1)
    Adding a SQL Server Database Project
    23(1)
    Adding Entity Framework Core to Verify.Web
    24(1)
    Generating the Entity Framework DbContext and Models Classes
    25(1)
    Creating the Service Layer
    26(3)
    Specifying Our Application Settings
    29(1)
    Setting Up Dependency Injection
    29(2)
    Adding the Front-End Controllers
    31(2)
    Deploying to Azure
    33(1)
    Provisioning an Azure SQL Instance
    33(4)
    Deploying the Verify Database
    37(2)
    Creating Our App Services Web App
    39(2)
    Publishing the Verify Application to Azure
    41(3)
    Scaling Web Apps
    44(1)
    Intelligent Use of Threads
    44(1)
    App Service Plans
    45(1)
    Scaling Up
    46(1)
    Scaling Out
    47(4)
    Load Testing
    51(1)
    Creating a Load Test
    52(3)
    Running the Load Test
    55(1)
    Viewing Load Test Results
    55(3)
    Setting Appropriate Autoscale Rules
    58(1)
    Summary
    59(2)
    Chapter 3 Azure Data Storage Overview
    61(16)
    Data Storage Scenarios
    61(1)
    Session Data
    62(1)
    Persisted Data
    62(1)
    Data Analytics
    63(1)
    Relational Databases
    63(2)
    Azure SQL
    65(1)
    Scaling Azure SQL
    66(2)
    When to Use Azure SQL
    68(1)
    Other Azure Relational Database Offerings
    68(1)
    NoSQL Data Stores
    68(1)
    Redis Cache
    69(2)
    Azure Table Storage
    71(2)
    Cosmos DB
    73(2)
    Working with Cosmos DB
    75(1)
    Scaling Cosmos DB
    75(1)
    Pricing
    75(1)
    When to Use Cosmos DB
    76(1)
    Summary
    76(1)
    Chapter 4 Azure SQL Databases
    77(62)
    Introducing Azure SQL Database
    78(2)
    Licensing
    80(1)
    Single Database vs. Elastic Pool
    81(1)
    Exceeding a DTU Limit
    81(1)
    TaskZilla: Our Example Application
    82(1)
    Creating the TaskZilla Project
    82(2)
    The TaskZilla Data Model
    84(5)
    The Data Access Tier
    89(5)
    The Application Tier
    94(8)
    Controllers and Views
    102(5)
    Finishing Touches
    107(1)
    Running the Application
    107(1)
    Deployment to Azure
    108(1)
    Creating an Azure SQL Database Instance
    109(2)
    Setting Firewall Rules
    111(2)
    Connecting to the New Instance
    113(1)
    Deploying to Azure
    114(8)
    Publishing Schema Changes
    122(2)
    Rolling Back Schema Changes
    124(1)
    Backup and Restore
    124(3)
    Setting Up Alerts
    127(3)
    Scale Up
    130(1)
    Performance Tuning
    131(1)
    Performance Recommendations
    131(1)
    Automating Performance Tuning
    132(1)
    Query Performance Insight
    133(1)
    Geo-replication
    133(4)
    Summary
    137(2)
    Chapter 5 Azure Table Storage
    139(48)
    How Table Storage Works
    139(2)
    Partitions
    141(1)
    Transaction Support and Batching
    141(1)
    Types of Queries
    141(1)
    Working with Azure Table Storage
    142(1)
    REST API
    142(1)
    Azure Storage Client Library
    143(1)
    Local Storage Emulator
    143(1)
    Table Design Guidelines
    144(1)
    Walkthrough: Restaurant Finder
    145(1)
    Restaurant Finder Requirements
    145(1)
    Designing Our Data Storage
    146(1)
    Setting Up the Project
    147(1)
    Creating Our Restaurant Data Class
    148(3)
    The Data Service Class
    151(5)
    Project Settings
    156(1)
    Dependency Injection
    157(1)
    Loading Demo Data with the RestaurantData Controller
    158(3)
    Azure Storage Explorer
    161(1)
    Point Queries
    162(3)
    Row Range Scan Queries
    165(3)
    Partition Range Scan Queries
    168(4)
    Full Table Scan Queries
    172(2)
    Editing a Restaurant
    174(4)
    Deleting a Restaurant
    178(1)
    Provisioning an Azure Storage Service
    179(5)
    Using Your Azure Storage Service
    184(1)
    Pricing
    185(1)
    Summary
    185(2)
    Chapter 6 Cosmos DB
    187(70)
    Introducing Cosmos DB
    188(1)
    Congo, the (Hopefully) Up-and-Coming Online Retail Giant
    189(1)
    Congo Requirements
    190(1)
    Congo Tech Stack
    190(1)
    The Cosmos DB Resource Model
    191(2)
    Partitions: How Cosmos DB Scales to Unlimited Storage
    193(1)
    Data Modeling
    193(1)
    Determining Document Schemas
    194(3)
    Determining Partition Keys
    197(3)
    A Single Collection or Multiple Collections
    200(1)
    Using the Cosmos DB Emulator for Local Development
    201(1)
    Creating a Collection in the Emulator
    201(4)
    Importing Congo Data Using the DocumentDB Data Migration Tool
    205(1)
    Congo's Initial Data
    205(7)
    Querying a Collection
    212(1)
    Creating the Congo Example Application
    213(1)
    Creating the Project and Solution
    214(1)
    Creating the Model Classes
    215(4)
    Creating View Model Classes
    219(3)
    Creating the Home Page
    222(12)
    The Product Details Page
    234(3)
    Editing a Product
    237(3)
    Retrieving All Reviews
    240(3)
    Creating a New Review
    243(3)
    Deleting a Review
    246(3)
    Creating a Cosmos DB Account, Database, and Collection
    249(5)
    Scaling
    254(1)
    Summary
    255(2)
    Chapter 7 Redis Cache
    257(44)
    The Cache Aside Pattern
    259(1)
    Azure Redis Cache
    260(1)
    Example Project: TechStore
    260(1)
    Creating the Project
    261(1)
    Creating the Database
    262(6)
    Adding Entity Framework
    268(3)
    Adding View Models
    271(3)
    Creating the Service Layer
    274(4)
    Creating the Controller and Views
    278(4)
    Running the TechStore Application
    282(2)
    Create an Azure Redis Cache Resource
    284(1)
    Implementing the Cache Aside Pattern with Redis Cache
    285(9)
    Handling Stale Cache Records
    294(1)
    Dealing with a Full Cache
    294(1)
    Setting Time-to-Live
    295(1)
    Viewing Redis Cache Contents
    295(1)
    Connect to a Redis Cache
    296(1)
    Viewing Cache Contents
    297(1)
    Flushing the Cache
    298(1)
    Scaling Azure Redis Cache
    298(1)
    Scaling Up
    299(1)
    Scaling Out
    299(1)
    Using Multiple Caches
    299(1)
    Summary
    300(1)
    Chapter 8 WebJobs
    301(42)
    Invoking WebJob Methods
    302(2)
    The WebJob Demo Application
    304(1)
    Creating Our Solution and WebJob Project
    304(3)
    Running Our WebJob Locally
    307(1)
    Creating Our WebJobDemo Web Application
    308(14)
    Running Our WebJob Locally: Part II
    322(3)
    Running a WebJob on a Schedule
    325(6)
    Handling Exceptions with the ErrorTriggerAttribute
    331(4)
    Deploying WebJobs to Azure
    335(1)
    Hosting Requirements
    335(1)
    Deploying a WebJob
    336(2)
    Publishing via Visual Studio
    338(1)
    Monitoring a WebJob in the Cloud
    339(2)
    Summary
    341(2)
    Chapter 9 Message Queues
    343(38)
    Benefits of Using Message Queues
    345(1)
    Types of Azure Message Queues
    346(1)
    Service Bus Queues
    346(2)
    Azure Storage Queues
    348(1)
    Demo Project: QueueDemo
    349(1)
    Provisioning a Service Bus Resource
    349(4)
    Creating the Sender Console Application
    353(22)
    Using Message Queues to Build Azure Web Applications
    375(5)
    Summary
    380(1)
    Chapter 10 Other Tips and Tricks
    381(34)
    The Turtles Web Application
    381(1)
    Creating the Solution and Project
    382(2)
    Adding Turtle Code
    384(4)
    Publishing to Azure
    388(1)
    How Pages Are Rendered
    388(1)
    Initial Page Request
    388(1)
    Page Parsing and Rendering
    389(1)
    Measuring Page Performance
    389(2)
    Combining and Minifying JavaScript and CSS Files
    391(1)
    Creating Bundles
    392(3)
    Minification
    395(1)
    GZip Compression
    395(1)
    Using Async/Await
    396(1)
    Using HTTP Cache
    397(1)
    Using Appropriately Sized and Optimized Images
    398(1)
    Using External CSS and JavaScript Files
    399(1)
    Moving External JavaScript Files to the Bottom of the Page
    399(1)
    Using Async for Certain External JavaScript Files
    400(1)
    Using a Content Distribution Network
    400(1)
    How Azure CDN Works
    401(1)
    Creating a CDN for the Turtles Web Application
    402(5)
    Integrating a CDN with an ASP.NET MVC App
    407(7)
    Summary
    414(1)
    Chapter 11 Troubleshooting Web Applications
    415(28)
    An Overview of Available Tools
    415(1)
    Kudu
    415(2)
    Application Insights
    417(1)
    Awful App: Our Example Application
    418(1)
    Web Server Logs
    418(1)
    Browsing Web Server Logs Written to the File System
    419(1)
    Application Logs
    420(1)
    Setting Up Tracing
    421(1)
    Viewing Application Logs
    422(1)
    Kudu Process Explorer
    422(1)
    Diagnostics-as-a-Service
    423(1)
    Running DaaS
    424(1)
    Application Events
    425(1)
    Log Stream
    425(1)
    Failed Request Tracing Logs
    426(3)
    Auto Heal
    429(1)
    Setting Up Auto Heal
    430(1)
    Application Insights
    431(1)
    Installing Application Insights
    432(2)
    Debugging Exceptions
    434(4)
    Alerts
    438(3)
    Summary
    441(2)
    Chapter 12 Deployment
    443(64)
    Proper Deployment Practices
    444(1)
    Follow a Proper Code Promotion Strategy
    444(1)
    Prevent Environment Drift by Treating Infrastructure as Code
    445(1)
    Automating Deployments
    445(1)
    ARM Templates Overview
    445(3)
    ARM Template Components
    448(3)
    Creating ARM Templates
    451(1)
    Downloading ARM Templates for Preexisting Resources in the Azure Portal
    452(4)
    Choosing a Gallery Template
    456(1)
    Creating Templates with a Visual Studio Azure Resource Group Project
    456(2)
    The Deployment Web Application
    458(1)
    Creating the Database
    458(1)
    Accessing the Database
    459(2)
    The Deployment Web Application
    461(4)
    The Deployment WebJob
    465(3)
    Deploying Azure Resources Using an Azure Resource Group Project
    468(1)
    Creating the Azure Resource Group Project
    468(2)
    Adding a SQL Server
    470(4)
    Deploying from Visual Studio
    474(3)
    Improving Our ARM Template
    477(3)
    Adding Service Bus Resources
    480(1)
    Adding Other Resources
    480(1)
    The Completed Template
    481(9)
    Creating a Production Environment
    490(1)
    Deploying the Application
    491(1)
    Setting Up Build Configurations and Configuration Transforms
    491(4)
    Building and Deploying with Visual Studio Team Services
    495(11)
    Putting It All Together
    506(1)
    Summary
    506(1)
    Index 507
    Rob Reagan has been building web applications with Microsoft .NET since the release of Framework 1.0 and has a longstanding interest in how to architect sites for Internet scale. He has led projects developing web applications built for hundreds to thousands of concurrent users for companies such as ExxonMobil, Standard & Poor's, Fidelity, and Microsoft. He holds a BA in computer science from Duke, and is currently finishing his master's degree in computer science at Georgia Tech. Rob lives in Chattanooga, TN, and is the CTO at textrequest.com.