SlideShare una empresa de 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!

Más contenido relacionado

La actualidad más candente

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 New1CloudRoad.com
 
MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.PLovababu
 
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 Microsoft TechNet - Belgium and Luxembourg
 
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 ServicesMichael Collier
 
Gaming across multiple devices
Gaming across multiple devicesGaming across multiple devices
Gaming across multiple devicesPatric Boscolo
 
Citrix with Microsoft EMS
Citrix with Microsoft EMSCitrix with Microsoft EMS
Citrix with Microsoft EMSMarius Sandbu
 
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 WebLogicBrian Huff
 
VMware vCloud Director
VMware vCloud DirectorVMware vCloud Director
VMware vCloud DirectorErik Bussink
 
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 ComputingMarius Sandbu
 
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 2012Spiffy
 
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 AWSAmazon Web Services
 
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 overviewsolarisyourep
 
Azure dev ops integrations with Jenkins
Azure dev ops integrations with JenkinsAzure dev ops integrations with Jenkins
Azure dev ops integrations with JenkinsDamien Caro
 
Eclipse & die Microsoft cloud
Eclipse & die Microsoft cloudEclipse & die Microsoft cloud
Eclipse & die Microsoft cloudPatric Boscolo
 
JBoss Fuse Service Works
JBoss Fuse Service WorksJBoss Fuse Service Works
JBoss Fuse Service WorksElvis Rocha
 

La actualidad más candente (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
 

Similar a Windows Azure Essentials

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 WorldMichele Leroux Bustamante
 
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 CloudCloudBees
 
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 CloudDavid Pallmann
 
Architecting-for-the-cloud-Best-Practices
Architecting-for-the-cloud-Best-PracticesArchitecting-for-the-cloud-Best-Practices
Architecting-for-the-cloud-Best-PracticesAmazon Web Services
 
Day Of Cloud - Windows Azure Platform
Day Of Cloud - Windows Azure PlatformDay Of Cloud - Windows Azure Platform
Day Of Cloud - Windows Azure PlatformWade Wegner
 
Hostingcon 2010 Cloud Presentation
Hostingcon 2010 Cloud PresentationHostingcon 2010 Cloud Presentation
Hostingcon 2010 Cloud PresentationJason Baker
 
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 - ConceroSpiffy
 
Build intelligent solutions using Azure
Build intelligent solutions using AzureBuild intelligent solutions using Azure
Build intelligent solutions using AzureMostafa
 
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 coveredEdward Burns
 
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 2012CloudBees
 
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 ServiceCloudBees
 
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...Chargebee
 
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 CloudDan Usher
 
Overview of Azure and Cloud Computing
Overview of Azure and Cloud ComputingOverview of Azure and Cloud Computing
Overview of Azure and Cloud ComputingAbhishek Sur
 
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 ColdFusionColdFusionConference
 
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 ServicesPatrick Chanezon
 
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 HeroeG Innovations
 
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 BriefingEd Burns
 

Similar 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
 

Más de Michele Leroux Bustamante

Más 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

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Último (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

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 del editor

  1. Subscription ARegion A