Download presentation
Presentation is loading. Please wait.
Published byMaude Todd Modified over 8 years ago
1
Windows Azure Essentials Michele Leroux Bustamante
2
Managing Partner, Cofounder Solliance (solliance.net) Cofounder Snapboard (snapboard.com) Microsoft Regional Director Microsoft MVP Author, Speaker Pluralsight courses on the way! Blog: michelebusta.commichelebusta.com michelebusta@solliance.net @michelebusta
3
Windows Azure Features Compute Virtual Network Traffic Manager CDN Storage Queues Storage Tables Storage Blobs SQL Database SQL Data Sync SQL Reporting HDInsight (Hadoop) CachingRecovery Services Windows Azure Active Directory Access Control Media Services Service Bus Notification Topic Notification Hub Store Web SiteCloud Service Virtual Machine Application Services Marketplace Data Services Networking
4
1.Choosing a compute model 2.Scale out design and DNS 3.Sending email 4.Which queue should you use? 5.Content and blob storage 6.A few points about data 7.Logs – your best friend 8.Monitoring and alerts – your other best friend 9.Backup, everything Essential Tips
5
Choosing a compute model Tip #1
7
IaaS Virtual Machines
8
Virtual Machine Provisioning Choose a VM Generate Provision Select your VHD Upload Provision
9
Migrate existing apps without changes Complex software deployment, easier with full control over VM Prefer IaaS and have staff for IT operations support SQL Server over SQL DB –VERY common choice Why choose a VM?
10
PaaS Cloud Services & Web Sites
11
Once upon a time… There were only cloud services …and life was simple. Then along came web sites …but it was just for blogs and cute little web sites, right?
12
Core Feature Comparison Cloud Services Web Sites WIF 3.5 Required ✔.NET 4.5 SSL ✔ Dedicated IP ✔ Performance Counters ✔ WHO CARES? Auto-scale ✔ Global Assembly Cache ✔ WHO CARES? Distributed Cache ✔ Custom Software ✔ Nuget (LIMITED) VM Scale Out Control ✔
13
Web Site Drivers Some web site specialties: –Sites based on built-in Azure templates such as blogs, wikis, and CMS sites – MySQL database alternative In reality, many will default to web sites first unless there is a cloud service driver
14
Cloud Service Drivers Cloud Services Web Sites Control over IIS Settings ? Dynamic DNS ? Internal Endpoints Asynchronous Workers Network RDP ? Non-HTTP Protocols Control over OS Updates Certificate store access?
15
Some Personal Preferences Cloud Services Web Sites Staging, SWAP Rollback Headless Deployment Single File Updates Proprietary deployment Familiar deployment Resource path changes Standard paths If cloud services needed, deploy all cloud services Hybrid web sites and cloud services Built in diagnostics, tracing Mix of logs, tracing tools Darned Customers
16
Swap rocks DEMO
17
Scale out design and DNS Tip #2
18
What’s Your Application Architecture? Browser Web Site Web API Mobile Client Mobile Client SB Queue Service Storage Queue Worker Storage Queue SB Queue Java Script Blob Storage Business Logic HTML / CSS SQL Azure SQL Azure OR
19
VM allocations are –Security and isolation boundary –Domain or subdomain boundary –Scale-out boundary Save costs early on –Start with a single VM –Small instance Scale up and out as needed –Distribute load to separate VM as needed –Increase VM size as needed VM Allocation Goals
20
Subscription B Region East Asia Subscription A Region East Asia Web Sites VM Allocation Web Site Project Standard Web Site Web Site Project Standard Web Site Web Site Project Standard Web Site Web Site Project Standard Web Site VM $$$ Subscription A Region US West VM $$$ VM $$$
21
Cloud Services VM Allocation Cloud Project Service Definition Service Config Role Site EntryPoint Endpoint VM VDir App $$$
22
Web Role Single Role / Site Browser Java Script HTML/ CSS Web Site bustacloud.com
23
Web Role Single Role / Multiple Site Browser Mobile Client Mobile Client Java Script HTML/ CSS Web Site Web API bustacloud.comapi.bustacloud.com
24
Web Role Single Role/ Multiple Site/ Worker Browser Mobile Client Mobile Client Java Script HTML/ CSS Web Site Web API bustacloud.comapi.bustacloud.com SB Queue Service Storage Queue Worker
25
Worker Role Web Role Scaling Out to Multiple Roles Browser Mobile Client Mobile Client SB Queue Service Storage Queue Worker Java Script Web Site Web API bustacloud.comapi.bustacloud.com HTML/ CSS
26
Standard Subscription C Standard Subscription C Standard Subscription B Standard Subscription B Standard Subscription A Standard Subscription A Equivalent on Web Sites? Browser Mobile Client Mobile Client SB Queue Service Java Script HTML/ CSS Web Site Web API bustacloud.comapi.bustacloud.com
27
Web sites, sub domains DEMO
28
Sending email Tip #3
29
Most applications require some form of email communication –Email confirmations –User notifications –Administrator alerts –Content delivery Sending Email
30
Local testing –Use System.Net.Mail.SmtpClient –Use Smtp4Dev to work offline Live testing and production –Always use a third party relay service –SendGrid gives 25,000 FREE tx/month –Sendy, AuthSmtp, Jango are alternatives Implementation
31
Make it configurable –Interface-based, provider swap –Disable sending to real customers in test –Gmail tip: youraccount+suffix@gmail.com Queue all email –Though mail is async, it can fail to send, users don’t need to know it failed –Never lose an email Design Recommendations
32
Which queue should you use? Tip #4
33
Queue Comparison Service Bus Queues Storage Queues Unlimited message lifetime 7 days expiry Max 64K message size Max 256K message size Max 5GB total storage Max 100TB total storage Duplicate detection Order guarantees Dead letter queue Storage metrics Purge capability Long polling Manual back-off polling
34
Queue comparison Back off polling Queued email Email API pattern DEMO
35
Content and blob storage Tip #5
36
Blob Storage is the standard now –Scales across instances –Replicated –Map domain to storage account –CDN benefits –Security and shared links Storing Content
37
Blob Storage Security Service Public Blob Access create update delete read Service Public Container Access create update delete read list Service Private Container create update delete read list Service Private Container read access for limited time with shared access key shared access policy Browser Client Shared Access Signature (SAS) >1 hour requires authentication header in request (no browser)
38
Blob hierarchies Sharing tools DEMO
39
Store content in blobs in lieu of drives Set metadata explicitly for best results Secure access accordingly –From JavaScript can lease a shared key –No need to embed keys in the JS file Always chunk blobs for best performance Blob Storage Recommendations
40
A few points about data Tip #6
41
Entity Framework 4 and earlier, issues with timeouts with SQL DB –http://blogs.msdn.com/b/appfabriccat/archive/ 2010/12/11/sql-azure-and-entity-framework- connection-fault-handling.aspxhttp://blogs.msdn.com/b/appfabriccat/archive/ 2010/12/11/sql-azure-and-entity-framework- connection-fault-handling.aspx Entity Framework 5+ has better reliency –Should still look at this framework SQL DB / Entity Framework Tip
42
Don’t Drink the Koolaid noSQL Hadoop Big Data
43
noSQL is great, but requires planning –Start relational and figure your model out first –Get an expert involved if you need noSQL BigData is not for everyone –In many cases it is not needed Get an expert, like: Lynn Langit –www.contagiouscuriosity.comwww.contagiouscuriosity.com Don’t Drink the Koolaid
44
Logs – your best friend Tip #7
45
Have configurable logging levels Provide a way to quickly adjust levels Make it dead easy for developers to log Provide an interface-based model for changing environments / tools KNOW where to get your logs! Logging Recommendations
46
Logging Tools Cloud Services Web Sites Azure Diagnostics / ETW ✔ Log4NET ✔ ELMAH ✔ Glimpse ✔ SLAB / ETW
47
Monitoring and alerts – your other best friend Tip #8
48
Monitor from outside –Ping –Scripted web tests Monitor health from inside (agent install) –CPU usage –Memory usage –Disk IO and space Monitoring Recommendations
49
Azure Ping, Azure Watch Stackify NewRelic App Dynamics ($$$) Monitoring Tools
50
Logging, monitoring DEMO
51
Backup, everything Tip #9
52
Daily or before features updates Asynchronous backup to blob storage BACPAC export/import from portal Can use RedGate tools to schedule and manage, or write some code to do it Database Backups
53
Tools make it too easy to delete items and blow away important customer data Backup daily or before feature updates Use asynchronous backup to another storage account Automate with power shell Blob Storage Backups
54
Backup easy DEMO
55
Clean up or pay $$$ ONE LAST TIP
56
Cleanup script DEMO
57
Thank you! @michelebusta michelebusta.com linkedin.com/in/michelebusta Michele Leroux Bustamante http://snapboardalpha.cloudapp.net/michelebusta * MOVING TO snapboard.com/michelebusta NOV13
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.