SlideShare a Scribd company logo
DEVintersection
           Session AZ07

Windows Azure Essentials
         Michele Leroux Bustamante
         michelebusta@solliance.net
Michele Leroux Bustamante
  Managing Partner
       Solliance (solliance.net)
  CEO and Cofounder
       Snapboard (snapboard.com)

  Microsoft Regional Director
  Microsoft MVP
  Author, Speaker
  Pluralsight courses on the way!
  Blog: michelebusta.com
  michelebusta@solliance.net
  @michelebusta




                                    © DEVintersection. All rights reserved.
                               2        http://www.DEVintersection.com
Just a Few Essential Tips
                           (in < 45 minutes!)

1.    Web Sites or Cloud Services?
2.    Designing for Distributed Scale Out
3.    Sending Email
4.    Mind your Configuration
5.    Which Queue Should You Use?
6.    Drives and Blobs
7.    Logs are Your Best Friend
8.    Monitor from Outside
9.    A Few Points About Data
10.   Enable Social Logins and Simplify Sign Up




                                                    © DEVintersection. All rights reserved.
                                       3                http://www.DEVintersection.com
Web Sites or Cloud Services?
                        Tip #1
Web Sites or Cloud Services?
                    Key Differences
      Web Sites (Reserved)                      Cloud Services

 Many simple scenarios out of           VM & IIS customizations
  the box or made VERY easy              Virtual networking, RDP
 Simple setup of MySQL                  Distributed cache
  database                               Windows services equivalent
 A lot of stuff cloud services          Certificate store
  can do PLUS…
                                         Multiple tiers (internal ep)
 Familiar development and
  deployment model                       Control over VM scale out
 Single file updates

 SIMPLICITY                               CONTROL
                                                             © DEVintersection. All rights reserved.
                                  5                              http://www.DEVintersection.com
Designing for Distributed Scale Out
                               Tip #2
What’s Your Application Architecture?




      Storage
       Queue




       OR


                                  SQL
                  Blob
       SB        Storage
                                  Azure
      Queue
VM Allocation Goals

 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




                                                   © DEVintersection. All rights reserved.
                                      8                http://www.DEVintersection.com
Web Sites and VM Allocation

Web Site         Reserved
Project          Web Site


Web Site         Reserved
                                          VM               $$$
Project          Web Site
                 Subscription A
                Region US West




Web Site         Reserved
Project          Web Site                 VM               $$$
                 Subscription A
                Region East Asia



Web Site         Reserved
Project          Web Site
                 Subscription B
                                          VM               $$$
                Region East Asia



                                         © DEVintersection. All rights reserved.
                                   9         http://www.DEVintersection.com
Cloud Services and VM Allocation

Cloud
Project

          Service Definition

            Service Config



            Role                          VM   $$$
                                        VDir
                          Site
                                        App
                      EntryPoint



                             Endpoint           © DEVintersection. All rights reserved.
                                   10               http://www.DEVintersection.com
Single Role / Site




bustacloud.com
Single Role / Multiple Site




bustacloud.com             api.bustacloud.com
Single Role/ Multiple Site/ Worker




bustacloud.com         api.bustacloud.com
Scaling Out to Multiple Roles




bustacloud.com              api.bustacloud.com
Equivalent on Web Sites?




bustacloud.com           api.bustacloud.com
Web Sites and Reserved Instances




                                   © DEVintersection. All rights reserved.
               16                      http://www.DEVintersection.com
Multiple Site, Single Role Deployments



demo
Sending Email
         Tip #3
Sending Email

 Most applications require some form of email communication
      Email confirmations
      User notifications
      Administrator alerts
      Content delivery




                                                          © DEVintersection. All rights reserved.
                                    20                        http://www.DEVintersection.com
Recommendations for Email

 Local testing
       Can use System.Net.Mail.SmtpClient
       Use Smtp4Dev
 Live testing and production
       Do not use SMTP server in IIS, IP ranges could be blacklisted as SPAM
       Use a third party relay service
       SendGrid gives 25,000 FREE tx/month for Azure applications!
       Sendy, MailChimp, AuthSmtp, Jango
 Architecture
       Prefer using a queue to kick off sends to third parties
       If their service goes down, your users don’t have to know, the email is
        not lost (queued)




                                                                    © DEVintersection. All rights reserved.
                                        21                              http://www.DEVintersection.com
Sending Email from Azure



demo
Mind Your Configuration
                   Tip #4
Web Site Configuration

 Web.config as usual (use transforms during publish)
 Portal surfaces some settings
       Application settings, handler mappings, connection strings
Cloud Service Configuration

 Avoid web.config for
       Settings that vary between staging, production
       Settings for test, diagnostics or performance
 Use Configuration Profiles to distinguish settings
       Select a profile during Publish
 Select a web.config transform during Publish
 Portal surfaces settings from service configuration
       Use an indicator for which items should recycle the instance vs. not
Runtime Configuration Changes



demo
Which Queue Should You Use?
                       Tip #5
Service Bus and Storage Queues

Service Bus Queues           Storage Queues
Unlimited message lifetime   Message expires in 7 days
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


Cloud Services                          Cloud
 / Web Sites                           Services
Drives and Blobs
            Tip #6
Where Should You Store Content?

 IaaS VM can have one or more drives associated
       But that is a more traditional hosting model, PaaS is our focus
 Cloud Services can use AzureDrive (still preview)
       This has limitations
       Single VM can mount the drive (others require read access only)
       Snapshot is fast and works very well for read only case
       Likely you need to do multiple write as well
 Blob Storage is the standard now
       Scales across instances
       Replication
       Map storage account to domain
       CDN benefits
       Security and shared links



                                                                    © DEVintersection. All rights reserved.
                                        30                              http://www.DEVintersection.com
Blob Storage Security
                                                                                                      Browser              Client




        Service                         Service                       Service               Service
                                                                                                               read
                                                                                                               access
                                                                                                               for
                                                                                                               limited
                                                                                                               time
                                                                                                               with
                                                                                          shared
                                                                                                               shared
                                                                                          access
                                                                                                               access
                                                                                           policy
                                                                                                               key
list
                     create                                                                                                Shared Access
                     update                        create                        create                                    Signature (SAS)
                     delete                        update                        update
                              read                 delete   read                 delete                                    >1 hour
        read                    list                          list                                                         requires
                                                                                                                           authentication
                                                                                                                           header in request
                                                                                                                           (no browser)
                                        Public
       Public Blob                                                    Private                          Private
                                       Container
         Access                                                      Container                        Container
                                        Access




                                                                                                        © DEVintersection. All rights reserved.
                                                                     31                                     http://www.DEVintersection.com
Blob Storage Recommendations

 Store content in blobs in lieu of drives
       Streaming
       CDN
       Accessible to both cloud services and web sites
 Secure access accordingly
       From JavaScript can lease a shared key
       No need to embed keys in the JS file
 Always chunk blobs for upload (best performance)
 Large file uploads
       No CORS support yet for storage
       Can upload to Web API (for example) in chunks
       Avoid large file configuration issues with IIS (can’t for web sites)




                                                                       © DEVintersection. All rights reserved.
                                         32                                http://www.DEVintersection.com
Logs are Your Best Friend
                     Tip #7
Diagnostics Support

 Cloud Services
      ETW tracing through Azure Diagnostics
      Configure in code (for granular runtime settings) or XML (wadcfg)
           Either way make sure easy for IT to make changes
           Not a developer setting
      Numerous tools for collecting diagnostics logs and trace output
      Supports deep control over logs and performance counters
 Web Sites
      No Azure Diagnostics
      FTP access to basic IIS logs
      log4NET is a popular tool for extended logging
      Limited capabilities today




                                                                  © DEVintersection. All rights reserved.
                                         34                           http://www.DEVintersection.com
Monitoring and Diagnostics



demo
Monitor from Outside
                Tip #8
Monitoring Service



demo
A Few Things About Data
                   Tip #9
SQL Azure and Entity Framework Tip

 To avoid connection timeouts with Entity Framework and SQL Azure you
  MUST do what this link says
 http://blogs.msdn.com/b/appfabriccat/archive/2010/12/11/sql-azure-
  and-entity-framework-connection-fault-handling.aspx




                                                          © DEVintersection. All rights reserved.
                                  39                          http://www.DEVintersection.com
Don’t Drink the NoSQL Koolaid

 Start with relational and figure your model out first
 Get an expert involved if you need noSQL…for example…

 Lynn Langit
 www.contagiouscuriosity.com




                                                          © DEVintersection. All rights reserved.
                                  40                          http://www.DEVintersection.com
Enable Social Logins and
        Simplify Sign-Up
                   Tip #10
Access Control and Mainstream
                                          Identity Providers
    Browser


                   3

                                          Google     FaceBook
1      5       2       4
                                                     Windows
                                          Yahoo!
                                                       Live
                   Access
                   Control


                                                   Azure AD


                               On
                                 On
    Your App                 Premise
                                   On
                              Premise
                               IdP
                                Premise
                                 IdP
                                   IdP
Social Login and User Provisioning



demo
Practically Speaking

 Applications need various combinations of security
       Username/password + social
       Active Directory on premise or in the cloud
       Other potential identity providers
       Combinations of these
 Applications still need a user profile
       Regardless how they are authenticated
       Need to track their various login choices, could be multiple
 Use Access Control for integration with non-social identity providers
  with rich claims (AD, WAAD)
 Use application tools for social login for complete coverage and control




                                                                       © DEVintersection. All rights reserved.
                                        44                                 http://www.DEVintersection.com
References

 Conference resources:
      http://michelebusta.com
 See my snapboards:
      Currently at the alpha site:
       http://snapboardalpha.cloudapp.net/michelebusta
      Will move these to snapboard.com/michelebusta when we go live on the
       main site (SOON watch my blog for announcement)
 Contact me:
      michelebusta@solliance.net
      @michelebusta




                                                              © DEVintersection. All rights reserved.
                                     45                           http://www.DEVintersection.com
Questions?
   Don’t forget to enter your evaluation
    of this session using EventBoard!


                            Thank you!

More Related Content

PPTX
Surviving the Azure Avalanche
PPTX
Global Windows Azure Bootcamp - San Diego
PPTX
BizTalk Server 2013 in Windows Azure IaaS
PPTX
DevOps for Azure
PPTX
Enter The Matrix Securing Azure’s Assets
PDF
MS TechDays 2011 - Cloud Computing with the Windows Azure Platform
PDF
Microsoft PaaS Cloud Windows Azure Platform
PPTX
Java dans Windows Azure Cloud Services, big data avec hd insight et les nouve...
Surviving the Azure Avalanche
Global Windows Azure Bootcamp - San Diego
BizTalk Server 2013 in Windows Azure IaaS
DevOps for Azure
Enter The Matrix Securing Azure’s Assets
MS TechDays 2011 - Cloud Computing with the Windows Azure Platform
Microsoft PaaS Cloud Windows Azure Platform
Java dans Windows Azure Cloud Services, big data avec hd insight et les nouve...

What's hot (19)

PPTX
VMware vCloud Director 1.5 - What's New
PDF
VMware
PPTX
MicroserviceArchitecture in detail over Monolith.
PPTX
Microsoft TechDays 2013 - IT Pro Keynote
PPTX
Forbidden fruits of Active Directory – Cloning, snapshotting, virtualization
PPTX
Windows Azure for Developers - Building Block Services
PPTX
Gaming across multiple devices
PPTX
Citrix with Microsoft EMS
PPT
The Top 10 Things Oracle UCM Users Need To Know About WebLogic
PPTX
VMware vCloud Director
PPTX
State of the EUC - 2020 What's new in End-User Computing
PPTX
Azure WAF
PPTX
CTU June 2011 - Microsoft System Center Virtual Machine Manager 2012
PDF
Presentation v mware v-cloud director overview
PPTX
Azure dev ops integrations with Jenkins
PPTX
8 Tools for Troubleshooting Windows 8
PDF
WSS And Share Point For Developers
PPTX
Eclipse & die Microsoft cloud
PDF
JBoss Fuse Service Works
VMware vCloud Director 1.5 - What's New
VMware
MicroserviceArchitecture in detail over Monolith.
Microsoft TechDays 2013 - IT Pro Keynote
Forbidden fruits of Active Directory – Cloning, snapshotting, virtualization
Windows Azure for Developers - Building Block Services
Gaming across multiple devices
Citrix with Microsoft EMS
The Top 10 Things Oracle UCM Users Need To Know About WebLogic
VMware vCloud Director
State of the EUC - 2020 What's new in End-User Computing
Azure WAF
CTU June 2011 - Microsoft System Center Virtual Machine Manager 2012
Presentation v mware v-cloud director overview
Azure dev ops integrations with Jenkins
8 Tools for Troubleshooting Windows 8
WSS And Share Point For Developers
Eclipse & die Microsoft cloud
JBoss Fuse Service Works
Ad

Similar to Windows Azure Essentials (20)

PPTX
Pricing and Revenue Projection in a Cloud-Centric World
PPT
How can Liferay Developers, Deployers move to the Cloud
PPTX
Windows Azure
PPTX
When worlds Collide: HTML5 Meets the Cloud
PPT
Day Of Cloud - Windows Azure Platform
PPT
Hostingcon 2010 Cloud Presentation
PPTX
CTU June 2011 - Hybrid Cloud Management with Microsoft System Center - Concero
PPTX
Build intelligent solutions using Azure
PDF
Wars I’ve Seen From Java EE to Spring and more, Azure has you covered
PPTX
Successful PaaS and CI in the Cloud - EclipseCon 2012
PPTX
Getting Started Developing with Platform as a Service
PDF
Powering Test Environments with Amazon EKS using Serverless Tool | AWS Commun...
PPTX
Move to azure
PPTX
SharePoint Intersections - SP11 - SharePoint and IaaS - The OnPrem in the Cloud
PPTX
Overview of Azure and Cloud Computing
PDF
Azure Interview Questions and Answers PDF By ScholarHat
PPTX
Load Balancing, Failover and Scalability with ColdFusion
PPTX
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
PPTX
How to become a Citrix Performance Hero
PPTX
2020-02-10 Java on Azure Solution Briefing
Pricing and Revenue Projection in a Cloud-Centric World
How can Liferay Developers, Deployers move to the Cloud
Windows Azure
When worlds Collide: HTML5 Meets the Cloud
Day Of Cloud - Windows Azure Platform
Hostingcon 2010 Cloud Presentation
CTU June 2011 - Hybrid Cloud Management with Microsoft System Center - Concero
Build intelligent solutions using Azure
Wars I’ve Seen From Java EE to Spring and more, Azure has you covered
Successful PaaS and CI in the Cloud - EclipseCon 2012
Getting Started Developing with Platform as a Service
Powering Test Environments with Amazon EKS using Serverless Tool | AWS Commun...
Move to azure
SharePoint Intersections - SP11 - SharePoint and IaaS - The OnPrem in the Cloud
Overview of Azure and Cloud Computing
Azure Interview Questions and Answers PDF By ScholarHat
Load Balancing, Failover and Scalability with ColdFusion
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
How to become a Citrix Performance Hero
2020-02-10 Java on Azure Solution Briefing
Ad

More from Michele Leroux Bustamante (16)

PPTX
You are not excused! How to avoid security blind spots on the way to production
PPTX
Security Tips for Enterprise Azure Solutions
PPTX
So Many Docker Platforms...so little time
PPTX
Surviving Microservices - v2
PPTX
.NET Developer Days - Launching Patterns for Containers
PPTX
.NET Developer Days - So many Docker platforms, so little time...
PPTX
Design Practices for a Secure Azure Solution
PPTX
The Ultimate Logging Architecture - You KNOW you want it!
PPTX
The Power of Social Login
PPTX
Unleash Your Inner Startup (Sweden, Dev Sum)
PPTX
Deep thoughts from the real world of azure
PPTX
PPTX
Security Avalanche
PPTX
End to End Security with MVC and Web API
PPT
Windows Azure Essentials V3
PPTX
Channel Your Inner Startup and Go For It!
You are not excused! How to avoid security blind spots on the way to production
Security Tips for Enterprise Azure Solutions
So Many Docker Platforms...so little time
Surviving Microservices - v2
.NET Developer Days - Launching Patterns for Containers
.NET Developer Days - So many Docker platforms, so little time...
Design Practices for a Secure Azure Solution
The Ultimate Logging Architecture - You KNOW you want it!
The Power of Social Login
Unleash Your Inner Startup (Sweden, Dev Sum)
Deep thoughts from the real world of azure
Security Avalanche
End to End Security with MVC and Web API
Windows Azure Essentials V3
Channel Your Inner Startup and Go For It!

Recently uploaded (20)

PPTX
sap open course for s4hana steps from ECC to s4
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Spectroscopy.pptx food analysis technology
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Electronic commerce courselecture one. Pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
KodekX | Application Modernization Development
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Machine learning based COVID-19 study performance prediction
DOCX
The AUB Centre for AI in Media Proposal.docx
PPT
Teaching material agriculture food technology
sap open course for s4hana steps from ECC to s4
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Spectroscopy.pptx food analysis technology
Diabetes mellitus diagnosis method based random forest with bat algorithm
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Electronic commerce courselecture one. Pdf
MIND Revenue Release Quarter 2 2025 Press Release
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Understanding_Digital_Forensics_Presentation.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Encapsulation_ Review paper, used for researhc scholars
KodekX | Application Modernization Development
“AI and Expert System Decision Support & Business Intelligence Systems”
Spectral efficient network and resource selection model in 5G networks
Building Integrated photovoltaic BIPV_UPV.pdf
Machine learning based COVID-19 study performance prediction
The AUB Centre for AI in Media Proposal.docx
Teaching material agriculture food technology

Windows Azure Essentials

  • 1. DEVintersection Session AZ07 Windows Azure Essentials Michele Leroux Bustamante michelebusta@solliance.net
  • 2. Michele Leroux Bustamante Managing Partner Solliance (solliance.net) CEO and Cofounder Snapboard (snapboard.com) Microsoft Regional Director Microsoft MVP Author, Speaker Pluralsight courses on the way! Blog: michelebusta.com michelebusta@solliance.net @michelebusta © DEVintersection. All rights reserved. 2 http://www.DEVintersection.com
  • 3. Just a Few Essential Tips (in < 45 minutes!) 1. Web Sites or Cloud Services? 2. Designing for Distributed Scale Out 3. Sending Email 4. Mind your Configuration 5. Which Queue Should You Use? 6. Drives and Blobs 7. Logs are Your Best Friend 8. Monitor from Outside 9. A Few Points About Data 10. Enable Social Logins and Simplify Sign Up © DEVintersection. All rights reserved. 3 http://www.DEVintersection.com
  • 4. Web Sites or Cloud Services? Tip #1
  • 5. Web Sites or Cloud Services? Key Differences Web Sites (Reserved) Cloud Services  Many simple scenarios out of  VM & IIS customizations the box or made VERY easy  Virtual networking, RDP  Simple setup of MySQL  Distributed cache database  Windows services equivalent  A lot of stuff cloud services  Certificate store can do PLUS…  Multiple tiers (internal ep)  Familiar development and deployment model  Control over VM scale out  Single file updates SIMPLICITY CONTROL © DEVintersection. All rights reserved. 5 http://www.DEVintersection.com
  • 6. Designing for Distributed Scale Out Tip #2
  • 7. What’s Your Application Architecture? Storage Queue OR SQL Blob SB Storage Azure Queue
  • 8. VM Allocation Goals  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 © DEVintersection. All rights reserved. 8 http://www.DEVintersection.com
  • 9. Web Sites and VM Allocation Web Site Reserved Project Web Site Web Site Reserved VM $$$ Project Web Site Subscription A Region US West Web Site Reserved Project Web Site VM $$$ Subscription A Region East Asia Web Site Reserved Project Web Site Subscription B VM $$$ Region East Asia © DEVintersection. All rights reserved. 9 http://www.DEVintersection.com
  • 10. Cloud Services and VM Allocation Cloud Project Service Definition Service Config Role VM $$$ VDir Site App EntryPoint Endpoint © DEVintersection. All rights reserved. 10 http://www.DEVintersection.com
  • 11. Single Role / Site bustacloud.com
  • 12. Single Role / Multiple Site bustacloud.com api.bustacloud.com
  • 13. Single Role/ Multiple Site/ Worker bustacloud.com api.bustacloud.com
  • 14. Scaling Out to Multiple Roles bustacloud.com api.bustacloud.com
  • 15. Equivalent on Web Sites? bustacloud.com api.bustacloud.com
  • 16. Web Sites and Reserved Instances © DEVintersection. All rights reserved. 16 http://www.DEVintersection.com
  • 17. Multiple Site, Single Role Deployments demo
  • 18. Sending Email Tip #3
  • 19. Sending Email  Most applications require some form of email communication  Email confirmations  User notifications  Administrator alerts  Content delivery © DEVintersection. All rights reserved. 20 http://www.DEVintersection.com
  • 20. Recommendations for Email  Local testing  Can use System.Net.Mail.SmtpClient  Use Smtp4Dev  Live testing and production  Do not use SMTP server in IIS, IP ranges could be blacklisted as SPAM  Use a third party relay service  SendGrid gives 25,000 FREE tx/month for Azure applications!  Sendy, MailChimp, AuthSmtp, Jango  Architecture  Prefer using a queue to kick off sends to third parties  If their service goes down, your users don’t have to know, the email is not lost (queued) © DEVintersection. All rights reserved. 21 http://www.DEVintersection.com
  • 21. Sending Email from Azure demo
  • 23. Web Site Configuration  Web.config as usual (use transforms during publish)  Portal surfaces some settings  Application settings, handler mappings, connection strings
  • 24. Cloud Service Configuration  Avoid web.config for  Settings that vary between staging, production  Settings for test, diagnostics or performance  Use Configuration Profiles to distinguish settings  Select a profile during Publish  Select a web.config transform during Publish  Portal surfaces settings from service configuration  Use an indicator for which items should recycle the instance vs. not
  • 26. Which Queue Should You Use? Tip #5
  • 27. Service Bus and Storage Queues Service Bus Queues Storage Queues Unlimited message lifetime Message expires in 7 days 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 Cloud Services Cloud / Web Sites Services
  • 29. Where Should You Store Content?  IaaS VM can have one or more drives associated  But that is a more traditional hosting model, PaaS is our focus  Cloud Services can use AzureDrive (still preview)  This has limitations  Single VM can mount the drive (others require read access only)  Snapshot is fast and works very well for read only case  Likely you need to do multiple write as well  Blob Storage is the standard now  Scales across instances  Replication  Map storage account to domain  CDN benefits  Security and shared links © DEVintersection. All rights reserved. 30 http://www.DEVintersection.com
  • 30. Blob Storage Security Browser Client Service Service Service Service read access for limited time with shared shared access access policy key list create Shared Access update create create Signature (SAS) delete update update read delete read delete >1 hour read list list requires authentication header in request (no browser) Public Public Blob Private Private Container Access Container Container Access © DEVintersection. All rights reserved. 31 http://www.DEVintersection.com
  • 31. Blob Storage Recommendations  Store content in blobs in lieu of drives  Streaming  CDN  Accessible to both cloud services and web sites  Secure access accordingly  From JavaScript can lease a shared key  No need to embed keys in the JS file  Always chunk blobs for upload (best performance)  Large file uploads  No CORS support yet for storage  Can upload to Web API (for example) in chunks  Avoid large file configuration issues with IIS (can’t for web sites) © DEVintersection. All rights reserved. 32 http://www.DEVintersection.com
  • 32. Logs are Your Best Friend Tip #7
  • 33. Diagnostics Support  Cloud Services  ETW tracing through Azure Diagnostics  Configure in code (for granular runtime settings) or XML (wadcfg)  Either way make sure easy for IT to make changes  Not a developer setting  Numerous tools for collecting diagnostics logs and trace output  Supports deep control over logs and performance counters  Web Sites  No Azure Diagnostics  FTP access to basic IIS logs  log4NET is a popular tool for extended logging  Limited capabilities today © DEVintersection. All rights reserved. 34 http://www.DEVintersection.com
  • 37. A Few Things About Data Tip #9
  • 38. SQL Azure and Entity Framework Tip  To avoid connection timeouts with Entity Framework and SQL Azure you MUST do what this link says  http://blogs.msdn.com/b/appfabriccat/archive/2010/12/11/sql-azure- and-entity-framework-connection-fault-handling.aspx © DEVintersection. All rights reserved. 39 http://www.DEVintersection.com
  • 39. Don’t Drink the NoSQL Koolaid  Start with relational and figure your model out first  Get an expert involved if you need noSQL…for example…  Lynn Langit  www.contagiouscuriosity.com © DEVintersection. All rights reserved. 40 http://www.DEVintersection.com
  • 40. Enable Social Logins and Simplify Sign-Up Tip #10
  • 41. Access Control and Mainstream Identity Providers Browser 3 Google FaceBook 1 5 2 4 Windows Yahoo! Live Access Control Azure AD On On Your App Premise On Premise IdP Premise IdP IdP
  • 42. Social Login and User Provisioning demo
  • 43. Practically Speaking  Applications need various combinations of security  Username/password + social  Active Directory on premise or in the cloud  Other potential identity providers  Combinations of these  Applications still need a user profile  Regardless how they are authenticated  Need to track their various login choices, could be multiple  Use Access Control for integration with non-social identity providers with rich claims (AD, WAAD)  Use application tools for social login for complete coverage and control © DEVintersection. All rights reserved. 44 http://www.DEVintersection.com
  • 44. References  Conference resources:  http://michelebusta.com  See my snapboards:  Currently at the alpha site: http://snapboardalpha.cloudapp.net/michelebusta  Will move these to snapboard.com/michelebusta when we go live on the main site (SOON watch my blog for announcement)  Contact me:  michelebusta@solliance.net  @michelebusta © DEVintersection. All rights reserved. 45 http://www.DEVintersection.com
  • 45. Questions? Don’t forget to enter your evaluation of this session using EventBoard! Thank you!

Editor's Notes

  • #10: Subscription ARegion A