Microsoft Virtual Academy Ranger Due Cloud Solution Architect

  • Slides: 85
Download presentation
Microsoft Virtual Academy Ranger Due | Cloud Solution Architect, Health & Life Sciences Brett

Microsoft Virtual Academy Ranger Due | Cloud Solution Architect, Health & Life Sciences Brett Hacker | Cloud Solution Architect, Health & Life Sciences

Meet Ranger Due | @Ranger 80919 • Cloud Solution Architect, Health & Life Sciences

Meet Ranger Due | @Ranger 80919 • Cloud Solution Architect, Health & Life Sciences – BSCS, MBA, USPTO Bar – Responsible for HLS client architectures • Over 30 years of industry experience – Microsoft, Avanade, Booz • Allen & Hamilton – COO of private firm – Speaker at EBC, WW Partner Conference, Tech. Ready & Industry events

Meet Brett Hacker | @Middle. Brownie • Cloud Solution Architect, Microsoft Health & Life

Meet Brett Hacker | @Middle. Brownie • Cloud Solution Architect, Microsoft Health & Life Sciences – Assist with large customer cloud architecture and implementations in Microsoft Azure • Over 20 years of technology experience – Health Care, E-Commerce, Content Management – MCSE, former MCT, multiple Microsoft Partners – Former CIO of startup health care clearinghouse – Experience in systems, development, infrastructure, networking, and databases

Module Overview 01 | Design Data Storage 04 | Applications that use Web API

Module Overview 01 | Design Data Storage 04 | Applications that use Web API 02 | Applications that use Mobile Services 05 | Strategy for Hybrid Applications 03 | Applications that use Notifications 06 | Media Solutions

Microsoft Virtual Academy 01 | Design Data Storage Ranger Due | Cloud Solution Architect,

Microsoft Virtual Academy 01 | Design Data Storage Ranger Due | Cloud Solution Architect, Health & Life Sciences Brett Hacker | Cloud Solution Architect, Health & Life Sciences

Section Overview • Storage 101 – Azure Blob, Queues, Tables and File Service •

Section Overview • Storage 101 – Azure Blob, Queues, Tables and File Service • The Test!

Microsoft Virtual Academy Storage 101 Ranger Due | Cloud Solution Architect, Health & Life

Microsoft Virtual Academy Storage 101 Ranger Due | Cloud Solution Architect, Health & Life Sciences Brett Hacker | Cloud Solution Architect, Health & Life Sciences

Azure Storage Architecture REST SMB 2. 1 Front End Layer Partition Layer Stream Layer

Azure Storage Architecture REST SMB 2. 1 Front End Layer Partition Layer Stream Layer “Windows Azure Storage: A Highly Available Cloud Storage Service with Strong Consistency”, ACM Symposium on Operating System Principals (SOSP), Oct. 2011

Storage Account Storage 101 Container Blobs Table Entities Queue Messages Share Directories/Files 20000 IOPS

Storage Account Storage 101 Container Blobs Table Entities Queue Messages Share Directories/Files 20000 IOPS 500 TB

Abstractions – Blobs • Blobs – Massively scalable object store in the cloud –

Abstractions – Blobs • Blobs – Massively scalable object store in the cloud – Simple REST interface (Put, Get, Delete) – Data sharing – share documents, pictures, video, music, etc. – Big Data – store raw data/logs and compute/map reduce over data – Backups – data and device backups

Abstractions – Disks • Persistent disks for VMs in Azure • Disks are VHDs

Abstractions – Disks • Persistent disks for VMs in Azure • Disks are VHDs stored in Azure Page Blobs • Page blobs are optimized for random I/O • VM see the VHD/Blob as a disk – Reads translated to GETs, writes to PUTs – Blob protected by write-lease – Reads from the blob (and snapshots) still allowed

Premium Storage • Consistent low latency SSD based with predictable IO • Suitable for

Premium Storage • Consistent low latency SSD based with predictable IO • Suitable for high-performance IO-intensive database workloads • Single digit milliseconds latencies • Supports up to 1 TB blob/disk size • Stripe up to 32 disks for a total of 32 TB and more than 50, 000 IOPS • Premium Storage Disks work in conjunction with a new G series

Abstractions – Tables • Tables – Massively scalable No. SQL cloud store – Key/Attribute(s)

Abstractions – Tables • Tables – Massively scalable No. SQL cloud store – Key/Attribute(s) store at scale – Store user, device or any type of metadata for your service – Auto load balances partitions to meet traffic needs – OData protocol (Atom. Pub or JSON)

Abstractions – Queues • Queues – Reliable messaging system – Reliable, low latency, high

Abstractions – Queues • Queues – Reliable messaging system – Reliable, low latency, high throughput messaging system – Decouple components/roles • Web role to worker role communication • Allows roles to scale independently – Implement scheduling of asynchronous tasks – Building process/work flows

Abstractions – Files • Move on-premises applications to cloud • VMs can now use

Abstractions – Files • Move on-premises applications to cloud • VMs can now use an SMB share using standard file APIs and semantics • SMB 2. 1 protocol • VM and storage account within same region • Supports REST and SMB protocol access to same file share Microsoft Share data stored in Azure Files among Azure VMs via SMB SM B RES T API Azure Storage Blobs Tables Queues Files RES T API

Additional Services, Tools and Libraries Azure Import/Export • Move TBs of data into and

Additional Services, Tools and Libraries Azure Import/Export • Move TBs of data into and out of Azure Blobs by shipping disks • Submit and monitor jobs via REST and Portal • All disks encrypted with Bit. Locker Client Libraries • Simplify interaction with REST services • Convenience capabilities – retry logic, parallelization, SAS tokens, … • . NET (Desktop, Phone, Windows), Java, C++, Android, Node. JS, Python, PHP, Ruby, IOS (Coming Soon) Tools • Power. Shell commands • CLI tools • Az. Copy 3. 0 – Copy blobs and disks (Tables and Files in Preview Release)

Concurrency tim Op tic s i im ist ess ic P Blob t W

Concurrency tim Op tic s i im ist ess ic P Blob t W • s n i s a Op tim ist ic • T L REST: Last Wins e ice l i F rv Se E L AB SMB: File System

Scalability Targets • Storage Account – Capacity – Up to 500 TB – Objects

Scalability Targets • Storage Account – Capacity – Up to 500 TB – Objects per second: 20, 000 1 KB messages – Scans/Listing considered as the number of objects read by the system and not the number of objects returned – Bandwidth: • Geo Redundant Storage (GRS): Up to 10 Gbps Ingress/20 Gbps Egress • Local Redundant Storage (LRS): Up to 20 Gbps Ingress/30 Gbps Egress • Partition – Table- Up to 2, 000 1 KB entities/sec – Queue - Up to 2, 000 1 KB messages/sec – Blob - Up to 60 MB/s, IOPS 500 – File - Up to 60 MB/s, IOPS 1000 • Bing for Azure Storage Scalability and Perf Targets

Securing Azure Storage Security for users writing their own data… Shared Signature for Access.

Securing Azure Storage Security for users writing their own data… Shared Signature for Access. . . https: //myaccount. blob. core. windows. net/sascontainer/sasblo b. txt? sv=2012 -02 -12&st=2013 -0429 T 22%3 A 18%3 A 26 Z&se=2013 -0430 T 02%3 A 23%3 A 26 Z&sr=b&sp=rw&sig=Z%2 FRHIX 5 Xcg 0 Mq 2 rq I 3 Ol. WTj. Eg 2 t. Ykbo. Xr 1 P 9 ZUXDtkk%3 D Storage Account Storage resource Start time Expire time Permissions Container Blobs Table Entities Queue Messages Share Directories/Files

Data Application Storage Options Relational Key/Value Column Document • Windows Azure SQL Database •

Data Application Storage Options Relational Key/Value Column Document • Windows Azure SQL Database • SQL Server • Oracle • My. Sql • SQL Compact • SQLite • Postgress • Windows Azure Blob Storage • Windows Azure Table Storage • Windows Azure Cache • Redis • Memcached • Riak • Cassandra • HBase • • Document. DB Mongo. DB Raven. DB Couch. DB Graph • Neo 4 J

Durability Options • Locally Redundant Storage (LRS) – Stores 3 replicas of the data

Durability Options • Locally Redundant Storage (LRS) – Stores 3 replicas of the data within a single zone (facility) in a single region – Provides data durability for disk, node and rack failures • Geo Redundant Storage (GRS) – Stores 6 replicas of the data across two regions (3 in each region) – Provides additional durability to protect data against major regional natural disasters (e. g. , tornado, hurricane, fire, etc, destroying a whole region) – Updates across regions are performed asynchronously • Zone Redundant Storage (ZRS) – Stores 3 replicas of the data across multiple zones (facilities) within a single region or across regions – Provides additional durability to protect data against zone failures (e. g. , fire burning down a facility)

Secondary Read-Only Access • Customers using Geo Redundant Storage can opt to have read-only

Secondary Read-Only Access • Customers using Geo Redundant Storage can opt to have read-only access to the eventually consistent copy of the data on Secondary tenant • Applications control which location they read data from • Primary endpoint – accountname. <service>. core. windows. net • Secondary endpoint – accountname-secondary. <service>. core. windows. net • Consistency • All Writes go to the Primary • Reads to Primary are Strongly Consistent • Reads to Secondary are Eventually Consistent • Our client library SDK provides features for reading from the secondary • Retry options: Primary. Only, Secondary. Only, Primary. Then. Secondary, etc.

17 Regions Worldwide in 2015

17 Regions Worldwide in 2015

Microsoft Virtual Academy A Look at a Blob Ranger Due | Cloud Solution Architect,

Microsoft Virtual Academy A Look at a Blob Ranger Due | Cloud Solution Architect, Health & Life Sciences Brett Hacker | Cloud Solution Architect, Health & Life Sciences

Microsoft Virtual Academy The Test! Ranger Due | Cloud Solution Architect, Health & Life

Microsoft Virtual Academy The Test! Ranger Due | Cloud Solution Architect, Health & Life Sciences Brett Hacker | Cloud Solution Architect, Health & Life Sciences

A Blob is…. a) A 1958 movie with a budget of $110, 000 about

A Blob is…. a) A 1958 movie with a budget of $110, 000 about a meteorite hitting earth and it’s mutated funk eating people. c) Block blobs are good for streaming, backups and sequential writes/reads; 200 GB max. d) Page blobs are good for random read/writes and Iaa. S type applications; 1 TB max. Storage Account b) A unit of storage in Azure that is encapsulated in a container; which may contain many blobs. Container Blobs Table Entities Queue Messages Share Directories/Files

A Table is… a) Something to eat dinner on. b) Organized into partitions; auto

A Table is… a) Something to eat dinner on. b) Organized into partitions; auto load balanced. c) A Key-Value No. SQL storage good for large unstructured data Storage Account d) Accessible by REST API, OData, and JSON Container Blobs Table Entities Queue Messages Share Directories/Files

A Queue is…. a) An entity with omnipotent powers in a recent Sci-Fi show.

A Queue is…. a) An entity with omnipotent powers in a recent Sci-Fi show. b) Is limited to 64 KB in size per message but can contain up to the storage account limit of aggregate messages. d) Good for workflow applications. Storage Account c) Is good for decoupling applications and making reliable communications between segments. Container Blobs Table Entities Queue Messages Share Directories/Files

File Storage is…. a) A box where important papers are kept in my attic.

File Storage is…. a) A box where important papers are kept in my attic. b) Mostly SMB 2. 1 compliant. c) Used for VHD’s (Azure Data Disk) Storage Account d) Used for file sharing between applications (Azure Files) Container Blobs Table Entities Queue Messages Share Directories/Files

Microsoft Virtual Academy 02 | Design applications that use mobile services Ranger Due |

Microsoft Virtual Academy 02 | Design applications that use mobile services Ranger Due | Cloud Solution Architect, Health & Life Sciences Brett Hacker | Cloud Solution Architect, Health & Life Sciences

Section Overview • What is Azure Mobile Services – Cross Platform – Java. Script

Section Overview • What is Azure Mobile Services – Cross Platform – Java. Script Backend – Offline Scenarios

Microsoft Virtual Academy What is Azure Mobile Services Ranger Due | Cloud Solution Architect,

Microsoft Virtual Academy What is Azure Mobile Services Ranger Due | Cloud Solution Architect, Health & Life Sciences Brett Hacker | Cloud Solution Architect, Health & Life Sciences

Azure Mobile Services ü Create mobile applications for i. OS, Android and MS ü

Azure Mobile Services ü Create mobile applications for i. OS, Android and MS ü Make your application work offline ü Single Sign on ü Access to on premises data ü Social integration with Twitter, Facebook, Google, et. al. ü Insight with mobile analytics ü Auto-Scale to millions of devices

Port Why 80 HTTP; Certification 443 HTTPS 5671 Used to connect to Azure. If

Port Why 80 HTTP; Certification 443 HTTPS 5671 Used to connect to Azure. If TCP port 5671 is unavailable, TCP port 443 is used 9352 Used to push and pull data. If TCP port 9352 is unavailable, TCP port 443 is used.

Basic AD Authentication Flow 1) Client app uses Active Directory Authentication Library (ADAL) to

Basic AD Authentication Flow 1) Client app uses Active Directory Authentication Library (ADAL) to initiate login, user enters credentials which are sent to AAD 2) AAD returns an Access Token / Refresh Token pair for the mobile service to ADAL 3) The client passes the Access Token to the mobile service, exchanges for the Mobile Services token for a continued session 1 2 3

Access resources on behalf of the user 1 2 3 1) Mobile Service passes

Access resources on behalf of the user 1 2 3 1) Mobile Service passes Access Token to AAD along with a requested resource URI and its Client ID / Client Secret 2) AAD sends back an Access Token / Refresh Token pair for the remote resource 3) Mobile Service talks to the remote resource on behalf of the logged-in user

Microsoft Virtual Academy 03 | Design Applications that use Notifications Ranger Due | Cloud

Microsoft Virtual Academy 03 | Design Applications that use Notifications Ranger Due | Cloud Solution Architect, Health & Life Sciences Brett Hacker | Cloud Solution Architect, Health & Life Sciences

Section Overview • Push Notifications • Azure Notification Hub • Push Patterns

Section Overview • Push Notifications • Azure Notification Hub • Push Patterns

Microsoft Virtual Academy Push Notifications Ranger Due | Cloud Solution Architect, Health & Life

Microsoft Virtual Academy Push Notifications Ranger Due | Cloud Solution Architect, Health & Life Sciences Brett Hacker | Cloud Solution Architect, Health & Life Sciences

Push is transforming businesses Broadcast breaking news to millions of customers using their preferences

Push is transforming businesses Broadcast breaking news to millions of customers using their preferences Send notifications based on account changes or actions Engage customer to improve your brand, customer satisfaction, and business metrics Increase employee productivity and responsiveness

Financial Industry adopting Push • Embrace multi-channel • Embrace smartphones • Customers expect two-way

Financial Industry adopting Push • Embrace multi-channel • Embrace smartphones • Customers expect two-way interaction – interactive, or background • Moving off SMS • Push is functionally richer than SMS • Push is 1, 000 times cheaper than SMS Don’t send me marketing offers Your checking account is negative! Transfer from Savings? English language notify if balance low Notification Hubs Yes Bank systems

Push Notifications 101 Register device handle at app launch 1. 2. Client app retrieves

Push Notifications 101 Register device handle at app launch 1. 2. Client app retrieves handle from Platform Notification Service (PNS) App passes the handle to the back-end Send Notification 3. 4. 1 4 Client app App back-end sends notification to Platform Notification Service (PNS), uses PNS credentials to authenticate PNS pushes the notification to the app on the device 2 3 Maintain device handles 5. 6. 5 Backend deletes expired handles when PNS rejects them Maintain mapping between logical users/groups and device handles Platform Notification Service App back-end 6

Microsoft Virtual Academy Azure Notification Hubs Ranger Due | Cloud Solution Architect, Health &

Microsoft Virtual Academy Azure Notification Hubs Ranger Due | Cloud Solution Architect, Health & Life Sciences Brett Hacker | Cloud Solution Architect, Health & Life Sciences

Azure Notification Hubs Register device handle at app launch 1. 2. Client app retrieves

Azure Notification Hubs Register device handle at app launch 1. 2. Client app retrieves handle from Platform Notification Service (PNS) 1 App passes the handle to the back-end, back-end registers handle with Notification Hubs, using tags to represent logical users/groups 4 Client app PNS Send Notification 3. App back-end sends notification to logical users or groups of users using Notification Hubs tags 4. Notification Hubs delivers notifications to matching devices via PNS 4 2 Maintain device handles 5. 6. Notification Hubs deletes expired handles when PNS rejects them Maintains mapping between logical users/groups and device handles 5 2 App back-end 6 3 Notification Hub

Advantages of using Notification Hubs X-plat: from any back-end to any mobile platform •

Advantages of using Notification Hubs X-plat: from any back-end to any mobile platform • Backend can be on-prem or in the cloud, . NET, Java, PHP, Node, you name it • Support IOS, Android, Windows Phone, Windows, Kindle Avoid storing device information in the app back-end • Notification Hub maintains the registry of devices and the associations to users/interest groups Work with logical users and segments • Target individual users and large interest groups using tags Personalization and localization • Keep your back-end free of presentation concerns like localization and user preferences using templates Broadcast at scale, multicast, unicast • Push notifications to millions of devices (across platforms) with a single call Telemetry • Rich telemetry available through portal or APIs

Notify a single logical user Client app 4 1 2 3 App back-end 4

Notify a single logical user Client app 4 1 2 3 App back-end 4 Notification Hub

Scenario: secure notification Push-to-Pull pattern 1. 2. 3. 4. 5. Client app authenticates with

Scenario: secure notification Push-to-Pull pattern 1. 2. 3. 4. 5. Client app authenticates with the app back-end Client app passes device handle to the app backend Client app App back-end registers the device for the tag “user. Id”. App backend sends a “raw” push notification containing message ID The app awakes, authenticates, and pulls the message with a sensitive data from the backend over secure channel 4 1 2 5 3 Notification Hub App back-end 4

Use Push to Trigger Sync async override void On. Launched(Launch. Activated. Event. Args e)

Use Push to Trigger Sync async override void On. Launched(Launch. Activated. Event. Args e) { await Mobile. Service. Authenticate(); var push. Channel = await Push. Notification. Channel. Manager. Create. Push. Notification. Channel. For. Application. Async(); push. Channel. Push. Notification. Received += Push. Channel_Push. Notification. Received; var push = Mobile. Service. Get. Push(); await push. Register. Async(new Registration(push. Channel. Uri)); /*. . */ } async static void Push. Channel_Push. Notification. Received( Push. Notification. Channel sender, Push. Notification. Received. Event. Args args) { await Mobile. Service. Authenticate() await Mobile. Service. Sync. Context. Push. Async(); await Mobile. Service. Get. Sync. Table<Job>(). Pull. Async(); }

Broadcast to a segment based on interest Tags as interest groups Client app can

Broadcast to a segment based on interest Tags as interest groups Client app can register with a set of interest tags. App backend can target all clients with the same tag in a single API call App back-end Tag Expressions allow you to segment any subset of interest tags that can be expressed using Boolean expressions Tag: ”Beatles” Users tagged for Rolling Stones AND Beatles (band: Rolling. Stones && band: Beatles) Users tagged for either Rolling Stones or Beatles (band: Rolling. Stones || band: Beatles) Users tagged for Rolling Stones but not also Beatles (band: Rolling. Stones && !band: Beatles Users tagged for Rolling Stones or Beatles in Seattle ((band: Rolling Stones || band: Beatles) && loc: Seattle) Notification Hub Tag: ”Rolling. Stones” Tag: ”Beatles”

Notify all users App back-end Notification Hub App back-end

Notify all users App back-end Notification Hub App back-end

Notify all users, in batches App back-end Tags can be used to represent groups

Notify all users, in batches App back-end Tags can be used to represent groups of users for sending notifications to all users in batches Client app authenticates with the app backend Devices pass device handle to the app backend App backend registers the devices for the tag “batch. No” Target batches in sequence by specifying particular “batch. No” tags in sequential API calls App back-end Notification Hub Tag: ”Batch 4” Tag: ”Batch 1” Tag: ”Batch 4”

Microsoft Virtual Academy Push Patterns Ranger Due | Cloud Solution Architect, Health & Life

Microsoft Virtual Academy Push Patterns Ranger Due | Cloud Solution Architect, Health & Life Sciences Brett Hacker | Cloud Solution Architect, Health & Life Sciences

Scenario: personalization and localization Increase relevance and personalization q Simplify language preferences q Register

Scenario: personalization and localization Increase relevance and personalization q Simplify language preferences q Register customer preferences using templates q Send alerts, orders, and deals English language notify if balance low show all my banking accounts Don’t send me marketing offers Your checking account is negative! Notification Hubs Banking systems Bank systems

Scenario: personalization and localization • Registration – Client apps can register with personalized templates,

Scenario: personalization and localization • Registration – Client apps can register with personalized templates, e. g. , • Alice’s Surface wants to receive weather information in F degrees. • Bob’s i. Phone wants weather information in C degrees. {temp. C: “ 23”, temp. F: “ 73”} <toast> <visual> <binding template="Toast. Text 01"> <text id="1">$(temp. F)</text> </binding> </visual> </toast> 73 • Send notification – App back-end sends a message including both temperatures: {temp. C: “ 23”, temp. F: “ 73”}. • Template Expressions App back-end – Template support a simple expression language: – E. g. , {‘Elio, ’+$(friend)+’ added you to ’+$(group. Name)+‘ group’}. Notification Hub 23 { aps: { alert: “$(temp. C)” } }

High (<1 min) Contextual reminders Weather alerts Retarget customers of a specific store Low

High (<1 min) Contextual reminders Weather alerts Retarget customers of a specific store Low (>24 hrs) Temporal Accuracy Scenario: geo-targeting Send coupons by region Low (>10 mi) Geographical Accuracy High (<500 ft)

Tags for Location-Based Push 1. Use platform specific geolocation APIs 2. Use reverse geocoding

Tags for Location-Based Push 1. Use platform specific geolocation APIs 2. Use reverse geocoding service (Bing, Google, …) 3. Encode location in a tag and register Geocoding Services App back-end 4. Send notification to tag “Zip: 98052” Notification Hub

Microsoft Virtual Academy 04 | Design Applications that use Web API Ranger Due |

Microsoft Virtual Academy 04 | Design Applications that use Web API Ranger Due | Principal Advisor, Health & Life Sciences Brett Hacker | Cloud Solutions Architect, Health & Life Sciences

Section Overview • Application Scenarios • Scale using Azure websites • Offload long-running applications

Section Overview • Application Scenarios • Scale using Azure websites • Offload long-running applications using Web. Jobs • Secure Website using Windows Azure AD (WAAD)

Microsoft Virtual Academy Application Scenarios Ranger Due | Cloud Solution Architect, Health & Life

Microsoft Virtual Academy Application Scenarios Ranger Due | Cloud Solution Architect, Health & Life Sciences Brett Hacker | Cloud Solution Architect, Health & Life Sciences

Application Scenarios Windows Azure Web Sites are ideal for: Windows Azure Cloud Services (Web

Application Scenarios Windows Azure Web Sites are ideal for: Windows Azure Cloud Services (Web Role) are ideal for: Virtual Machines are ideal for: Modern web apps Multi-tier applications Enterprise server applications Perfect if your app consists of client side markup and scripting, server side scripting and a database. Powerful capability to scale out and up as needed. Cloud-based applications that separate application logic into multiple tiers (i. e. caching middle tier, asynchronous background processes like order processing) using both Web and Worker Roles Run your existing enterprise applications in the cloud, such as SQL Server, Share. Point Server or Active Directory. Continuous development Apps that require advanced administration Porting existing line of business apps Deploy directly from your source code repository, using Git or Team Foundation Service. Popular open source apps Launch a professional looking site with a few clicks using apps like Word. Press, Joomla!, Drupal, Dot. Net. Nuke and Umbraco Cloud-based applications that require admin access, remote desktop access or elevated permissions Apps that require advanced networking Cloud-based applications that require network isolation for use with Windows Azure Connect or Windows Azure Virtual Network Choose an image from the library or upload your own VHD. Windows or Linux operating system Support for Windows Server, along with community and commercial versions of Linux. Connect virtual machines with cloud services to take full advantage of Paa. S services.

Web Sites Capabilities vs. Web Role Access to services like Caching, Service Bus, Storage,

Web Sites Capabilities vs. Web Role Access to services like Caching, Service Bus, Storage, SQL Database Supports ASP. NET, classic ASP, Node. js, PHP Shared content and configuration GIT, FTP Near-instant deployment Integrated My. SQL as a service support * Environments/Staging Network isolation Remote desktop access Elevated permissions Start-up tasks Unsupported frameworks or libraries Service Model Windows Azure Connect/ Windows Azure Network * Cloud Apps (Web or Worker roles) can integrate with Clear. DB’s My. SQL as a Service via connection string through the Marketplace but not via seamless portal/provisioning workflow

3 1 5 1. Request for a foo. com arrives to Application Request Router

3 1 5 1. Request for a foo. com arrives to Application Request Router (ARR)/Load Balancer 2. ARR gets info from Runtime DB about foo. com and determines which Web server(s)) should host the site. Web Server IIS ARR (LB) 2 (Antares is actively monitoring all Web Servers in the farm. . 5 Azure LB Runtime DB 5 4 5 Storage Controller Web Site DB 3. ARR forwards request to the designated web Server 4. Web Server provisions site * de-provision inactive sites 5. Web Server executes request accessing site’s content and site’s DB

1 2 1. Request for a foo. com arrives to ARR/Load Balancer, which already

1 2 1. Request for a foo. com arrives to ARR/Load Balancer, which already “familiar” with foo. com Web Server IIS ARR (LB) 3 2. ARR “remembers” foo. com and route the request to the right web Server(s). 3 3. Web Server executes request accessing site’s content and site’s DB 3 Azure LB Web Site DB 3 Storage Controller * Subsequent requests to this site get routed to a Web Server that has the site provisioned.

IIS ARR (LB) Web Server All DBs are running on SQL Azure Blobs as

IIS ARR (LB) Web Server All DBs are running on SQL Azure Blobs as durable storage Site (W 3 WP. exe) Windows Azure Worker Roles Runtime DB Metering Azure LB Web Sites DBs DWAS Dynamic Web Activation Service API Frontend Deployment Server(s) Monitor resources usage Storage Controller Cloud Drive W 3 WP. exe IIS Application Pool Process

Microsoft Virtual Academy Scale Using Azure Websites Ranger Due | Cloud Solution Architect, Health

Microsoft Virtual Academy Scale Using Azure Websites Ranger Due | Cloud Solution Architect, Health & Life Sciences Brett Hacker | Cloud Solution Architect, Health & Life Sciences

Heuristics for auto-scaling

Heuristics for auto-scaling

Microsoft Virtual Academy Offload long-running applications using Web. Jobs Ranger Due | Cloud Solution

Microsoft Virtual Academy Offload long-running applications using Web. Jobs Ranger Due | Cloud Solution Architect, Health & Life Sciences Brett Hacker | Cloud Solution Architect, Health & Life Sciences

Azure Web. Jobs • Continuous – Runs on all of the instances • Scheduled

Azure Web. Jobs • Continuous – Runs on all of the instances • Scheduled – Runs on one instance – Daily, Weekly, Monthly, Once, Now Acceptable File Types for Scripts or Programs • cmd, . bat, . exe (using windows cmd) • ps 1 (using powershell) • sh (using bash) • php (using php) • py (using python) • js (using node)

Microsoft Virtual Academy Secure Website using Windows Azure AD (WAAD) Ranger Due | Cloud

Microsoft Virtual Academy Secure Website using Windows Azure AD (WAAD) Ranger Due | Cloud Solution Architect, Health & Life Sciences Brett Hacker | Cloud Solution Architect, Health & Life Sciences

Secure your web site with AD • Register your website with AD • Front

Secure your web site with AD • Register your website with AD • Front end your app with logic to redirect to the sign in page – Windows Identity Foundation (WIF) 1. User connects to website 2. Redirected to sign in page 3. Gets Token from WAAD Tenant 4. Provides Token to website

Microsoft Virtual Academy 05 | Design a data access strategy for hybrid applications Ranger

Microsoft Virtual Academy 05 | Design a data access strategy for hybrid applications Ranger Due | Cloud Solution Architect, Health & Life Sciences Brett Hacker | Cloud Solution Architect, Health & Life Sciences

Section Overview • Connect to on-premises data from Azure applications – Azure Service Bus

Section Overview • Connect to on-premises data from Azure applications – Azure Service Bus Relay – Site to Site VPN through Windows Server 2012 Routing and Remote Access Service (RRAS) – Express Route

Microsoft Virtual Academy Connect to On-Premise data from Azure Applications Ranger Due | Cloud

Microsoft Virtual Academy Connect to On-Premise data from Azure Applications Ranger Due | Cloud Solution Architect, Health & Life Sciences Brett Hacker | Cloud Solution Architect, Health & Life Sciences

Use of Azure Service Bus Relay

Use of Azure Service Bus Relay

Site to Site VPN, Routing & Remote Access Service Windows Server 2012, 2 NICS

Site to Site VPN, Routing & Remote Access Service Windows Server 2012, 2 NICS

Express Route Peering

Express Route Peering

Microsoft Virtual Academy 06 | Design a media solution Ranger Due | Principal Advisor,

Microsoft Virtual Academy 06 | Design a media solution Ranger Due | Principal Advisor, Health & Life Sciences Brett Hacker | Cloud Solutions Architect, Health & Life Sciences

Section Overview • Media Services Lifecycle • Indexer (MAVIS)

Section Overview • Media Services Lifecycle • Indexer (MAVIS)

Microsoft Virtual Academy Media Services Lifecycle Ranger Due | Cloud Solution Architect, Health &

Microsoft Virtual Academy Media Services Lifecycle Ranger Due | Cloud Solution Architect, Health & Life Sciences Brett Hacker | Cloud Solution Architect, Health & Life Sciences

Media Services Lifecycle Windows Azure Media Services Ingestion Encoding Format Conversion Content Protection On-Demand

Media Services Lifecycle Windows Azure Media Services Ingestion Encoding Format Conversion Content Protection On-Demand Streaming Live Streaming Analytics Advertising

Example Workflow Ingest Transform Deliver Windows Azure Media Services Azure Blob Storage HTTP Upload

Example Workflow Ingest Transform Deliver Windows Azure Media Services Azure Blob Storage HTTP Upload via SAS URL Azure CDN Partner CDNs Client Application Partner UDP Upload Application FTPs, Azure, S 3, HTTP URL Create Assets Submit Jobs UDP Partner UDP File Receiver FTP/s, HTTP/s Media Services REST API Upload / Download Service Player Job Scheduler Partner Encoders, Transmux &&& Encrypt Media Services Origin Servers Asset Metadata Key Management Play. Ready License Servers Media Services Client Library

Microsoft Virtual Academy Indexer (MAVIS) Ranger Due | Cloud Solution Architect, Health & Life

Microsoft Virtual Academy Indexer (MAVIS) Ranger Due | Cloud Solution Architect, Health & Life Sciences Brett Hacker | Cloud Solution Architect, Health & Life Sciences

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U. S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.