SlideShare uma empresa Scribd logo
1 de 45
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!

Mais conteúdo relacionado

Mais procurados

CTU June 2011 - Microsoft System Center Virtual Machine Manager 2012
CTU June 2011 - Microsoft System Center Virtual Machine Manager 2012CTU June 2011 - Microsoft System Center Virtual Machine Manager 2012
CTU June 2011 - Microsoft System Center Virtual Machine Manager 2012
Spiffy
 
Eclipse & die Microsoft cloud
Eclipse & die Microsoft cloudEclipse & die Microsoft cloud
Eclipse & die Microsoft cloud
Patric Boscolo
 

Mais procurados (20)

VMware vCloud Director 1.5 - What's New
VMware vCloud Director 1.5  - What's NewVMware vCloud Director 1.5  - What's New
VMware vCloud Director 1.5 - What's New
 
VMware
VMwareVMware
VMware
 
MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.
 
Microsoft TechDays 2013 - IT Pro Keynote
Microsoft TechDays 2013 - IT Pro KeynoteMicrosoft TechDays 2013 - IT Pro Keynote
Microsoft TechDays 2013 - IT Pro Keynote
 
Forbidden fruits of Active Directory – Cloning, snapshotting, virtualization
Forbidden fruits of Active Directory  –  Cloning, snapshotting, virtualization Forbidden fruits of Active Directory  –  Cloning, snapshotting, virtualization
Forbidden fruits of Active Directory – Cloning, snapshotting, virtualization
 
Windows Azure for Developers - Building Block Services
Windows Azure for Developers - Building Block ServicesWindows Azure for Developers - Building Block Services
Windows Azure for Developers - Building Block Services
 
Gaming across multiple devices
Gaming across multiple devicesGaming across multiple devices
Gaming across multiple devices
 
Citrix with Microsoft EMS
Citrix with Microsoft EMSCitrix with Microsoft EMS
Citrix with Microsoft EMS
 
The Top 10 Things Oracle UCM Users Need To Know About WebLogic
The Top 10 Things Oracle UCM Users Need To Know About WebLogicThe Top 10 Things Oracle UCM Users Need To Know About WebLogic
The Top 10 Things Oracle UCM Users Need To Know About WebLogic
 
VMware vCloud Director
VMware vCloud DirectorVMware vCloud Director
VMware vCloud Director
 
State of the EUC - 2020 What's new in End-User Computing
State of the EUC - 2020 What's new in End-User ComputingState of the EUC - 2020 What's new in End-User Computing
State of the EUC - 2020 What's new in End-User Computing
 
Azure WAF
Azure WAFAzure WAF
Azure WAF
 
CTU June 2011 - Microsoft System Center Virtual Machine Manager 2012
CTU June 2011 - Microsoft System Center Virtual Machine Manager 2012CTU June 2011 - Microsoft System Center Virtual Machine Manager 2012
CTU June 2011 - Microsoft System Center Virtual Machine Manager 2012
 
Deploy, Scale and Manage your Microsoft Investments with AWS
Deploy, Scale and Manage your Microsoft Investments with AWSDeploy, Scale and Manage your Microsoft Investments with AWS
Deploy, Scale and Manage your Microsoft Investments with AWS
 
Presentation v mware v-cloud director overview
Presentation   v mware v-cloud director overviewPresentation   v mware v-cloud director overview
Presentation v mware v-cloud director overview
 
Azure dev ops integrations with Jenkins
Azure dev ops integrations with JenkinsAzure dev ops integrations with Jenkins
Azure dev ops integrations with Jenkins
 
8 Tools for Troubleshooting Windows 8
8 Tools for Troubleshooting Windows 8 8 Tools for Troubleshooting Windows 8
8 Tools for Troubleshooting Windows 8
 
WSS And Share Point For Developers
WSS And Share Point For DevelopersWSS And Share Point For Developers
WSS And Share Point For Developers
 
Eclipse & die Microsoft cloud
Eclipse & die Microsoft cloudEclipse & die Microsoft cloud
Eclipse & die Microsoft cloud
 
JBoss Fuse Service Works
JBoss Fuse Service WorksJBoss Fuse Service Works
JBoss Fuse Service Works
 

Semelhante a Windows Azure Essentials

How can Liferay Developers, Deployers move to the Cloud
How can Liferay Developers, Deployers move to the CloudHow can Liferay Developers, Deployers move to the Cloud
How can Liferay Developers, Deployers move to the Cloud
CloudBees
 
CTU June 2011 - Hybrid Cloud Management with Microsoft System Center - Concero
CTU June 2011 - Hybrid Cloud Management with Microsoft System Center - ConceroCTU June 2011 - Hybrid Cloud Management with Microsoft System Center - Concero
CTU June 2011 - Hybrid Cloud Management with Microsoft System Center - Concero
Spiffy
 
SharePoint Intersections - SP11 - SharePoint and IaaS - The OnPrem in the Cloud
SharePoint Intersections - SP11 - SharePoint and IaaS - The OnPrem in the CloudSharePoint Intersections - SP11 - SharePoint and IaaS - The OnPrem in the Cloud
SharePoint Intersections - SP11 - SharePoint and IaaS - The OnPrem in the Cloud
Dan Usher
 
Overview of Azure and Cloud Computing
Overview of Azure and Cloud ComputingOverview of Azure and Cloud Computing
Overview of Azure and Cloud Computing
Abhishek Sur
 
How to become a Citrix Performance Hero
How to become a Citrix Performance HeroHow to become a Citrix Performance Hero
How to become a Citrix Performance Hero
eG Innovations
 

Semelhante a Windows Azure Essentials (20)

Pricing and Revenue Projection in a Cloud-Centric World
Pricing and Revenue Projection in a Cloud-Centric WorldPricing and Revenue Projection in a Cloud-Centric World
Pricing and Revenue Projection in a Cloud-Centric World
 
How can Liferay Developers, Deployers move to the Cloud
How can Liferay Developers, Deployers move to the CloudHow can Liferay Developers, Deployers move to the Cloud
How can Liferay Developers, Deployers move to the Cloud
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
 
When worlds Collide: HTML5 Meets the Cloud
When worlds Collide: HTML5 Meets the CloudWhen worlds Collide: HTML5 Meets the Cloud
When worlds Collide: HTML5 Meets the Cloud
 
Architecting-for-the-cloud-Best-Practices
Architecting-for-the-cloud-Best-PracticesArchitecting-for-the-cloud-Best-Practices
Architecting-for-the-cloud-Best-Practices
 
Day Of Cloud - Windows Azure Platform
Day Of Cloud - Windows Azure PlatformDay Of Cloud - Windows Azure Platform
Day Of Cloud - Windows Azure Platform
 
Hostingcon 2010 Cloud Presentation
Hostingcon 2010 Cloud PresentationHostingcon 2010 Cloud Presentation
Hostingcon 2010 Cloud Presentation
 
CTU June 2011 - Hybrid Cloud Management with Microsoft System Center - Concero
CTU June 2011 - Hybrid Cloud Management with Microsoft System Center - ConceroCTU June 2011 - Hybrid Cloud Management with Microsoft System Center - Concero
CTU June 2011 - Hybrid Cloud Management with Microsoft System Center - Concero
 
Build intelligent solutions using Azure
Build intelligent solutions using AzureBuild intelligent solutions using Azure
Build intelligent solutions using Azure
 
Wars I’ve Seen From Java EE to Spring and more, Azure has you covered
Wars I’ve SeenFrom Java EE to Spring and more, Azure has you coveredWars I’ve SeenFrom Java EE to Spring and more, Azure has you covered
Wars I’ve Seen From Java EE to Spring and more, Azure has you covered
 
Successful PaaS and CI in the Cloud - EclipseCon 2012
Successful PaaS and CI in the Cloud - EclipseCon 2012Successful PaaS and CI in the Cloud - EclipseCon 2012
Successful PaaS and CI in the Cloud - EclipseCon 2012
 
Getting Started Developing with Platform as a Service
Getting Started Developing with Platform as a ServiceGetting Started Developing with Platform as a Service
Getting Started Developing with Platform as a Service
 
Powering Test Environments with Amazon EKS using Serverless Tool | AWS Commun...
Powering Test Environments with Amazon EKS using Serverless Tool | AWS Commun...Powering Test Environments with Amazon EKS using Serverless Tool | AWS Commun...
Powering Test Environments with Amazon EKS using Serverless Tool | AWS Commun...
 
Move to azure
Move to azureMove to azure
Move to azure
 
SharePoint Intersections - SP11 - SharePoint and IaaS - The OnPrem in the Cloud
SharePoint Intersections - SP11 - SharePoint and IaaS - The OnPrem in the CloudSharePoint Intersections - SP11 - SharePoint and IaaS - The OnPrem in the Cloud
SharePoint Intersections - SP11 - SharePoint and IaaS - The OnPrem in the Cloud
 
Overview of Azure and Cloud Computing
Overview of Azure and Cloud ComputingOverview of Azure and Cloud Computing
Overview of Azure and Cloud Computing
 
Load Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusionLoad Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusion
 
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesGIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
 
How to become a Citrix Performance Hero
How to become a Citrix Performance HeroHow to become a Citrix Performance Hero
How to become a Citrix Performance Hero
 
2020-02-10 Java on Azure Solution Briefing
2020-02-10 Java on Azure Solution Briefing2020-02-10 Java on Azure Solution Briefing
2020-02-10 Java on Azure Solution Briefing
 

Mais de Michele Leroux Bustamante

Mais de Michele Leroux Bustamante (14)

So Many Docker Platforms...so little time
So Many Docker Platforms...so little timeSo Many Docker Platforms...so little time
So Many Docker Platforms...so little time
 
Surviving Microservices - v2
Surviving Microservices - v2Surviving Microservices - v2
Surviving Microservices - v2
 
.NET Developer Days - Launching Patterns for Containers
.NET Developer Days - Launching Patterns for Containers.NET Developer Days - Launching Patterns for Containers
.NET Developer Days - Launching Patterns for Containers
 
.NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time....NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time...
 
Design Practices for a Secure Azure Solution
Design Practices for a Secure Azure SolutionDesign Practices for a Secure Azure Solution
Design Practices for a Secure Azure Solution
 
The Ultimate Logging Architecture - You KNOW you want it!
The Ultimate Logging Architecture - You KNOW you want it!The Ultimate Logging Architecture - You KNOW you want it!
The Ultimate Logging Architecture - You KNOW you want it!
 
The Power of Social Login
The Power of Social LoginThe Power of Social Login
The Power of Social Login
 
Unleash Your Inner Startup (Sweden, Dev Sum)
Unleash Your Inner Startup (Sweden, Dev Sum)Unleash Your Inner Startup (Sweden, Dev Sum)
Unleash Your Inner Startup (Sweden, Dev Sum)
 
Deep thoughts from the real world of azure
Deep thoughts from the real world of azureDeep thoughts from the real world of azure
Deep thoughts from the real world of azure
 
Social Login
Social LoginSocial Login
Social Login
 
Security Avalanche
Security AvalancheSecurity Avalanche
Security Avalanche
 
End to End Security with MVC and Web API
End to End Security with MVC and Web APIEnd to End Security with MVC and Web API
End to End Security with MVC and Web API
 
Windows Azure Essentials V3
Windows Azure Essentials V3Windows Azure Essentials V3
Windows Azure Essentials V3
 
Channel Your Inner Startup and Go For It!
Channel Your Inner Startup and Go For It!Channel Your Inner Startup and Go For It!
Channel Your Inner Startup and Go For It!
 

Último

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 

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!

Notas do Editor

  1. Subscription ARegion A