SlideShare a Scribd company logo
1 of 32
Download to read offline
Marcus Tillett
   T:@drmarcustillett




www.dotnetsolutions.co.uk
 Dive into the Windows Azure Platform
 DEMO: Migrating an existing on-premise
  application to Azure
 .NET development differences with the
  Windows Azure Platform
AppFabric

  Applications
                                      SQL Azure
 Windows Azure




                 Applications


Server       Desktop        Mobile          Others
Application

                                                                Compute                Storage

                                                       Config                 Fabric




                                   AppFabric


    Applications

                                               SQL Azure
   Windows Azure




                    Applications


Server         Desktop         Mobile             Others
Public Internet
                                 IIS7

                                 Web Hosting
               Web Role          Web Services
 Load
Balancer




           Storage Services
Public Internet
                                 Self hosted

                               “Windows
                Worker          Services”
                 Role
 Load                          Infinite Loop
Balancer




            Storage Service
   Open - REST interface
     HTTP or HTTPS
   Authenticated using secret keys
   Can access from outside Azure
   All data replicated at least 3 times


           Table Storage   Blob Storage   Queue   Drive
   Provide access rights to containers and blobs
     Start
     Expiry
     Permission (r, w, d, l)
     Resource (c, b)
   No limits on number of Queues
   Message:
     Max size 8kb
     Operations:
      ▪ Enqueue
      ▪ Dequeue
      ▪ RemoveMessage
 Queues guarantee a message will be
  processed at least once.
 Allows recovery in the event of errors
     Message come back to life if not Removed
   Approximates First In First Out queue
   Partition Key for Scale
   Row Key for performance
     Non-RowKey queries result in a partition scan
   Row Key and Partition Key as strings
   Data sorted by Row Key within a Partition

   Denormalise the data for performance
   These aren’t SQL tables
PartitionKey   RowKey           Timestamp   ReleaseDate
            (Category)     (Title)
            Action         Fast & Furious   …           2009

            Action         The Bourne       …           2007
                           Ultimatum
            …              …                …           …

            Animation      Open Season 2    …           2009

Fast query by
            Animation      The Ant Bully    …           2006

Partition Key and
            …              …                …           …

Row Key Comedy             Office Space     …           1999

            …              …                …           …

            SciFi          X-Men Origins:   …           2009
                           Wolverine
            …              …                …           …

            War            Defiance         …           2008
Film_ByCategory                               Film_ByReleaseDate
PartitionKey   RowKey           ReleaseDate   PartitionKey    RowKey           Category
(Category)     (Title)                        (ReleaseDate)   (Title)
Action         Fast & Furious   2009          2009            Fast & Furious   Action
Action         The Bourne       2007          2007            The Bourne       Action
               Ultimatum                                      Ultimatum
…              …                …             …               …                …
Animation      Open Season 2    2009          2009            Open Season 2    Animation
Animation      The Ant Bully    2006          2006            The Ant Bully    Animation
…              …                …             …               …                …
Comedy         Office Space     1999          1999            Office Space     Comedy
…              …                …             …               …                …
SciFi          X-Men Origins:   2009          2009            X-Men Origins:   SciFi
               Wolverine                                      Wolverine
   Example
Partition   RowKey   Title   Date   Approve   Cost     Description   Amount
Key                                           Centre

123                  Client  1/6/10 Y         123
                     meeting

123         1                                          Travel        £15.00
123         2                                          Lunch         £10.00
123         3                                          Drinks        £25.00
456                  Training 5/8/10 N        123
                     course

....        ....     ....    ....   ....      ....     ....          ....
 Motivation:
Ensure that modifications to a master record and its
  item records are performed in a transactional way.

Implementation :
Multiple entity types stored in single table with the
 same partition key can utilise the Windows Azure
 Table entity group transaction feature that provides
 batch transactions on entities.

Uses:
When a transactional operation is required.
   Retry when connections fail
   Expect network latency (e.g. SQL Azure)
   Be stateless
   Design for failure
     Don’t rely on local storage
     Allow for restart in inconsistent state
   Be aware of the emerging patterns for Azure
     http://bit.ly/9Wsrk
     Choose you Table partition key carefully
   Development Fabric
     Differences from development and live
     Test early and often
   Limited registry and disk access
   Logging and Diagnostics
   Configuration
     app and web config for runtime static configuration
     Azure configuration for simple strings
     Roll your own for more complex configuration
   Deployment
     Only core .NET assemblies are pre-deployed in Azure. You
      need to deploy any custom libraries yourself.
Transact-SQL Features Supported            Transact-SQL Features Unsupported
   Constants
   Constraints
   Cursors                                   Common Language Runtime (CLR)
   Index management and rebuilding           Database file placement
    indexes                                   Database mirroring
   Local temporary tables                    Distributed queries
   Reserved keywords                         Distributed transactions
   Stored procedures                         Filegroup management
   Statistics management                     Global temporary tables
   Transactions                              SQL Server configuration options
   Triggers                                  SQL Server Service Broker
   Tables, joins, and table variables        System tables
   User-defined functions                    Trace Flags
   Views, including sys.synonyms view
   Spatial data and indexes (June 2010)
   Further reading
     http://www.azure.com/
     http://blog.smarx.com/
   Signup for Azure
     http://www.microsoft.com/windowsazure/offers/
      (Credit card required)
     Ensure that you complete delete a deployment –
      otherwise you will be charged!
   Join your local user group
     UK (http://ukazurenet.com)
   Buy a book
   http://tinyurl.com/azurebook

   “Thinking of... Delivering
    Solutions on the Windows
    Azure Platform?”

   ISBN: 0956155634
Marcus Tillett
   T:@drmarcustillett




www.dotnetsolutions.co.uk
Developing For The Windows Azure Platform

More Related Content

What's hot

Azure, Cloud Computing & Services
Azure, Cloud Computing & ServicesAzure, Cloud Computing & Services
Azure, Cloud Computing & ServicesAlan Dean
 
Microsoft Azure, door Rob Brommer op de 4DotNet Developers Day
Microsoft Azure, door Rob Brommer op de 4DotNet Developers DayMicrosoft Azure, door Rob Brommer op de 4DotNet Developers Day
Microsoft Azure, door Rob Brommer op de 4DotNet Developers DayHanneke Dotnet
 
BrazilJS Perf Doctor Talk
BrazilJS Perf Doctor TalkBrazilJS Perf Doctor Talk
BrazilJS Perf Doctor TalkJosh Holmes
 
Oracle on Azure at Windows Azure Conference 2014
Oracle on Azure at Windows Azure Conference 2014Oracle on Azure at Windows Azure Conference 2014
Oracle on Azure at Windows Azure Conference 2014PARIKSHIT SAVJANI
 
AWS Workshop 101
AWS Workshop 101AWS Workshop 101
AWS Workshop 101lynn80827
 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repositorynobby
 
Microsoft Azure: Opção de Nuvem para Todo o Desenvolvedor
Microsoft Azure: Opção de Nuvem para Todo o DesenvolvedorMicrosoft Azure: Opção de Nuvem para Todo o Desenvolvedor
Microsoft Azure: Opção de Nuvem para Todo o DesenvolvedorOsvaldo Daibert
 
Windows Azure Diagnostics
Windows Azure DiagnosticsWindows Azure Diagnostics
Windows Azure DiagnosticsNeil Mackenzie
 
Introduction to Windows Azure
Introduction to Windows AzureIntroduction to Windows Azure
Introduction to Windows AzureRavi Ranjan Karn
 
How to backup Oracle Database to Dropbox, Windows Azure, Amazon S3, and local...
How to backup Oracle Database to Dropbox, Windows Azure, Amazon S3, and local...How to backup Oracle Database to Dropbox, Windows Azure, Amazon S3, and local...
How to backup Oracle Database to Dropbox, Windows Azure, Amazon S3, and local...Adeline Wong
 
Azure Cloud Dev Camp - Introduction
Azure Cloud Dev Camp - IntroductionAzure Cloud Dev Camp - Introduction
Azure Cloud Dev Camp - Introductiongiventocode
 
Introduction to Windows Azure Data Services
Introduction to Windows Azure Data ServicesIntroduction to Windows Azure Data Services
Introduction to Windows Azure Data ServicesRobert Greiner
 
Windows Azure Camps - Oktober 2012
Windows Azure Camps - Oktober 2012Windows Azure Camps - Oktober 2012
Windows Azure Camps - Oktober 2012Einar Ingebrigtsen
 
Windows Server 2012 r2
Windows Server 2012 r2Windows Server 2012 r2
Windows Server 2012 r2Khalid Hussain
 
Windows Azure Virtual Machines
Windows Azure Virtual MachinesWindows Azure Virtual Machines
Windows Azure Virtual MachinesClint Edmonson
 

What's hot (20)

Azure, Cloud Computing & Services
Azure, Cloud Computing & ServicesAzure, Cloud Computing & Services
Azure, Cloud Computing & Services
 
Microsoft Azure, door Rob Brommer op de 4DotNet Developers Day
Microsoft Azure, door Rob Brommer op de 4DotNet Developers DayMicrosoft Azure, door Rob Brommer op de 4DotNet Developers Day
Microsoft Azure, door Rob Brommer op de 4DotNet Developers Day
 
SQL Azure
SQL AzureSQL Azure
SQL Azure
 
BrazilJS Perf Doctor Talk
BrazilJS Perf Doctor TalkBrazilJS Perf Doctor Talk
BrazilJS Perf Doctor Talk
 
Oracle on Azure at Windows Azure Conference 2014
Oracle on Azure at Windows Azure Conference 2014Oracle on Azure at Windows Azure Conference 2014
Oracle on Azure at Windows Azure Conference 2014
 
AWS Workshop 101
AWS Workshop 101AWS Workshop 101
AWS Workshop 101
 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repository
 
Microsoft Azure: Opção de Nuvem para Todo o Desenvolvedor
Microsoft Azure: Opção de Nuvem para Todo o DesenvolvedorMicrosoft Azure: Opção de Nuvem para Todo o Desenvolvedor
Microsoft Azure: Opção de Nuvem para Todo o Desenvolvedor
 
Windows Azure Diagnostics
Windows Azure DiagnosticsWindows Azure Diagnostics
Windows Azure Diagnostics
 
Azure IaaS
Azure IaaSAzure IaaS
Azure IaaS
 
Introduction to Windows Azure
Introduction to Windows AzureIntroduction to Windows Azure
Introduction to Windows Azure
 
How to backup Oracle Database to Dropbox, Windows Azure, Amazon S3, and local...
How to backup Oracle Database to Dropbox, Windows Azure, Amazon S3, and local...How to backup Oracle Database to Dropbox, Windows Azure, Amazon S3, and local...
How to backup Oracle Database to Dropbox, Windows Azure, Amazon S3, and local...
 
Windows azure table storage – deep dive
Windows azure table storage – deep diveWindows azure table storage – deep dive
Windows azure table storage – deep dive
 
SQL Azure Overview
SQL Azure OverviewSQL Azure Overview
SQL Azure Overview
 
Azure Cloud Dev Camp - Introduction
Azure Cloud Dev Camp - IntroductionAzure Cloud Dev Camp - Introduction
Azure Cloud Dev Camp - Introduction
 
Introduction to Windows Azure Data Services
Introduction to Windows Azure Data ServicesIntroduction to Windows Azure Data Services
Introduction to Windows Azure Data Services
 
Azure storage
Azure storageAzure storage
Azure storage
 
Windows Azure Camps - Oktober 2012
Windows Azure Camps - Oktober 2012Windows Azure Camps - Oktober 2012
Windows Azure Camps - Oktober 2012
 
Windows Server 2012 r2
Windows Server 2012 r2Windows Server 2012 r2
Windows Server 2012 r2
 
Windows Azure Virtual Machines
Windows Azure Virtual MachinesWindows Azure Virtual Machines
Windows Azure Virtual Machines
 

Similar to Developing For The Windows Azure Platform

Introduction to SQL Server Cloud Storage Azure
Introduction to SQL Server Cloud Storage AzureIntroduction to SQL Server Cloud Storage Azure
Introduction to SQL Server Cloud Storage AzureEduardo Castro
 
Nosql storage in windows azure
Nosql storage in windows azureNosql storage in windows azure
Nosql storage in windows azureGal Kogman
 
Introduction to the SQL and Windows Azure Platform
Introduction to the SQL and Windows Azure PlatformIntroduction to the SQL and Windows Azure Platform
Introduction to the SQL and Windows Azure PlatformEduardo Castro
 
Tablas y almacenamiento en windows azure
Tablas y almacenamiento en windows azureTablas y almacenamiento en windows azure
Tablas y almacenamiento en windows azureEduardo Castro
 
Triangle OpenStack Meetup
Triangle OpenStack MeetupTriangle OpenStack Meetup
Triangle OpenStack Meetupmestery
 
The beauty of Azure
The beauty of AzureThe beauty of Azure
The beauty of AzureJames Jan
 
[Harvard CS264] 08a - Cloud Computing, Amazon EC2, MIT StarCluster (Justin Ri...
[Harvard CS264] 08a - Cloud Computing, Amazon EC2, MIT StarCluster (Justin Ri...[Harvard CS264] 08a - Cloud Computing, Amazon EC2, MIT StarCluster (Justin Ri...
[Harvard CS264] 08a - Cloud Computing, Amazon EC2, MIT StarCluster (Justin Ri...npinto
 
Cs264 intro-to-cloud-computing
Cs264 intro-to-cloud-computingCs264 intro-to-cloud-computing
Cs264 intro-to-cloud-computingkartiko edhi
 
Usman Shakeel - Cloud Rendering at Scale :: AWS Rendering Seminar
Usman Shakeel - Cloud Rendering at Scale :: AWS Rendering SeminarUsman Shakeel - Cloud Rendering at Scale :: AWS Rendering Seminar
Usman Shakeel - Cloud Rendering at Scale :: AWS Rendering SeminarAmazon Web Services Korea
 
Games + Amazon = Love - Presentation quo vadis 2011
Games + Amazon = Love - Presentation quo vadis 2011Games + Amazon = Love - Presentation quo vadis 2011
Games + Amazon = Love - Presentation quo vadis 2011Thomas Lobinger
 
Catan world and Churchill
Catan world and ChurchillCatan world and Churchill
Catan world and ChurchillGrant Goodale
 
Understanding the Windows Azure platform - june
Understanding the Windows Azure platform  - juneUnderstanding the Windows Azure platform  - june
Understanding the Windows Azure platform - juneDavidGristwood
 
VaMoS 2021 - Deep Software Variability: Towards Handling Cross-Layer Configur...
VaMoS 2021 - Deep Software Variability: Towards Handling Cross-Layer Configur...VaMoS 2021 - Deep Software Variability: Towards Handling Cross-Layer Configur...
VaMoS 2021 - Deep Software Variability: Towards Handling Cross-Layer Configur...Luc Lesoil
 
ITCamp 2011 - Mihai Nadas - Windows Azure interop
ITCamp 2011 - Mihai Nadas - Windows Azure interopITCamp 2011 - Mihai Nadas - Windows Azure interop
ITCamp 2011 - Mihai Nadas - Windows Azure interopITCamp
 
Killzone's Servers: Flexible Architecture and Component-Based Design (MBL305)...
Killzone's Servers: Flexible Architecture and Component-Based Design (MBL305)...Killzone's Servers: Flexible Architecture and Component-Based Design (MBL305)...
Killzone's Servers: Flexible Architecture and Component-Based Design (MBL305)...Amazon Web Services
 
Windows Azure Interoperability
Windows Azure InteroperabilityWindows Azure Interoperability
Windows Azure InteroperabilityMihai Dan Nadas
 
0xdroid -- community-developed Android distribution by 0xlab
0xdroid -- community-developed Android distribution by 0xlab0xdroid -- community-developed Android distribution by 0xlab
0xdroid -- community-developed Android distribution by 0xlabNational Cheng Kung University
 

Similar to Developing For The Windows Azure Platform (20)

Introduction to SQL Server Cloud Storage Azure
Introduction to SQL Server Cloud Storage AzureIntroduction to SQL Server Cloud Storage Azure
Introduction to SQL Server Cloud Storage Azure
 
Nosql storage in windows azure
Nosql storage in windows azureNosql storage in windows azure
Nosql storage in windows azure
 
Introduction to the SQL and Windows Azure Platform
Introduction to the SQL and Windows Azure PlatformIntroduction to the SQL and Windows Azure Platform
Introduction to the SQL and Windows Azure Platform
 
Tablas y almacenamiento en windows azure
Tablas y almacenamiento en windows azureTablas y almacenamiento en windows azure
Tablas y almacenamiento en windows azure
 
Vagrant at LA Ruby
Vagrant at LA RubyVagrant at LA Ruby
Vagrant at LA Ruby
 
Triangle OpenStack Meetup
Triangle OpenStack MeetupTriangle OpenStack Meetup
Triangle OpenStack Meetup
 
The beauty of Azure
The beauty of AzureThe beauty of Azure
The beauty of Azure
 
[Harvard CS264] 08a - Cloud Computing, Amazon EC2, MIT StarCluster (Justin Ri...
[Harvard CS264] 08a - Cloud Computing, Amazon EC2, MIT StarCluster (Justin Ri...[Harvard CS264] 08a - Cloud Computing, Amazon EC2, MIT StarCluster (Justin Ri...
[Harvard CS264] 08a - Cloud Computing, Amazon EC2, MIT StarCluster (Justin Ri...
 
Cs264 intro-to-cloud-computing
Cs264 intro-to-cloud-computingCs264 intro-to-cloud-computing
Cs264 intro-to-cloud-computing
 
Usman Shakeel - Cloud Rendering at Scale :: AWS Rendering Seminar
Usman Shakeel - Cloud Rendering at Scale :: AWS Rendering SeminarUsman Shakeel - Cloud Rendering at Scale :: AWS Rendering Seminar
Usman Shakeel - Cloud Rendering at Scale :: AWS Rendering Seminar
 
Games + Amazon = Love - Presentation quo vadis 2011
Games + Amazon = Love - Presentation quo vadis 2011Games + Amazon = Love - Presentation quo vadis 2011
Games + Amazon = Love - Presentation quo vadis 2011
 
Catan world and Churchill
Catan world and ChurchillCatan world and Churchill
Catan world and Churchill
 
Understanding the Windows Azure platform - june
Understanding the Windows Azure platform  - juneUnderstanding the Windows Azure platform  - june
Understanding the Windows Azure platform - june
 
VaMoS 2021 - Deep Software Variability: Towards Handling Cross-Layer Configur...
VaMoS 2021 - Deep Software Variability: Towards Handling Cross-Layer Configur...VaMoS 2021 - Deep Software Variability: Towards Handling Cross-Layer Configur...
VaMoS 2021 - Deep Software Variability: Towards Handling Cross-Layer Configur...
 
ITCamp 2011 - Mihai Nadas - Windows Azure interop
ITCamp 2011 - Mihai Nadas - Windows Azure interopITCamp 2011 - Mihai Nadas - Windows Azure interop
ITCamp 2011 - Mihai Nadas - Windows Azure interop
 
Tnt 2020-jf-james
Tnt 2020-jf-jamesTnt 2020-jf-james
Tnt 2020-jf-james
 
Android Optimization: Myth and Reality
Android Optimization: Myth and RealityAndroid Optimization: Myth and Reality
Android Optimization: Myth and Reality
 
Killzone's Servers: Flexible Architecture and Component-Based Design (MBL305)...
Killzone's Servers: Flexible Architecture and Component-Based Design (MBL305)...Killzone's Servers: Flexible Architecture and Component-Based Design (MBL305)...
Killzone's Servers: Flexible Architecture and Component-Based Design (MBL305)...
 
Windows Azure Interoperability
Windows Azure InteroperabilityWindows Azure Interoperability
Windows Azure Interoperability
 
0xdroid -- community-developed Android distribution by 0xlab
0xdroid -- community-developed Android distribution by 0xlab0xdroid -- community-developed Android distribution by 0xlab
0xdroid -- community-developed Android distribution by 0xlab
 

Recently uploaded

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
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
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Recently uploaded (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
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
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

Developing For The Windows Azure Platform

  • 1. Marcus Tillett T:@drmarcustillett www.dotnetsolutions.co.uk
  • 2.  Dive into the Windows Azure Platform  DEMO: Migrating an existing on-premise application to Azure  .NET development differences with the Windows Azure Platform
  • 3.
  • 4. AppFabric Applications SQL Azure Windows Azure Applications Server Desktop Mobile Others
  • 5. Application Compute Storage Config Fabric AppFabric Applications SQL Azure Windows Azure Applications Server Desktop Mobile Others
  • 6.
  • 7. Public Internet  IIS7  Web Hosting Web Role  Web Services Load Balancer Storage Services
  • 8. Public Internet  Self hosted  “Windows Worker Services” Role Load  Infinite Loop Balancer Storage Service
  • 9.
  • 10. Open - REST interface  HTTP or HTTPS  Authenticated using secret keys  Can access from outside Azure  All data replicated at least 3 times Table Storage Blob Storage Queue Drive
  • 11.
  • 12. Provide access rights to containers and blobs  Start  Expiry  Permission (r, w, d, l)  Resource (c, b)
  • 13. No limits on number of Queues  Message:  Max size 8kb  Operations: ▪ Enqueue ▪ Dequeue ▪ RemoveMessage
  • 14.
  • 15.  Queues guarantee a message will be processed at least once.  Allows recovery in the event of errors  Message come back to life if not Removed  Approximates First In First Out queue
  • 16.
  • 17. Partition Key for Scale  Row Key for performance  Non-RowKey queries result in a partition scan  Row Key and Partition Key as strings  Data sorted by Row Key within a Partition  Denormalise the data for performance  These aren’t SQL tables
  • 18. PartitionKey RowKey Timestamp ReleaseDate (Category) (Title) Action Fast & Furious … 2009 Action The Bourne … 2007 Ultimatum … … … … Animation Open Season 2 … 2009 Fast query by Animation The Ant Bully … 2006 Partition Key and … … … … Row Key Comedy Office Space … 1999 … … … … SciFi X-Men Origins: … 2009 Wolverine … … … … War Defiance … 2008
  • 19. Film_ByCategory Film_ByReleaseDate PartitionKey RowKey ReleaseDate PartitionKey RowKey Category (Category) (Title) (ReleaseDate) (Title) Action Fast & Furious 2009 2009 Fast & Furious Action Action The Bourne 2007 2007 The Bourne Action Ultimatum Ultimatum … … … … … … Animation Open Season 2 2009 2009 Open Season 2 Animation Animation The Ant Bully 2006 2006 The Ant Bully Animation … … … … … … Comedy Office Space 1999 1999 Office Space Comedy … … … … … … SciFi X-Men Origins: 2009 2009 X-Men Origins: SciFi Wolverine Wolverine
  • 20. Example
  • 21.
  • 22. Partition RowKey Title Date Approve Cost Description Amount Key Centre 123 Client 1/6/10 Y 123 meeting 123 1 Travel £15.00 123 2 Lunch £10.00 123 3 Drinks £25.00 456 Training 5/8/10 N 123 course .... .... .... .... .... .... .... ....
  • 23.  Motivation: Ensure that modifications to a master record and its item records are performed in a transactional way. Implementation : Multiple entity types stored in single table with the same partition key can utilise the Windows Azure Table entity group transaction feature that provides batch transactions on entities. Uses: When a transactional operation is required.
  • 24.
  • 25.
  • 26. Retry when connections fail  Expect network latency (e.g. SQL Azure)  Be stateless  Design for failure  Don’t rely on local storage  Allow for restart in inconsistent state  Be aware of the emerging patterns for Azure  http://bit.ly/9Wsrk  Choose you Table partition key carefully
  • 27. Development Fabric  Differences from development and live  Test early and often  Limited registry and disk access  Logging and Diagnostics  Configuration  app and web config for runtime static configuration  Azure configuration for simple strings  Roll your own for more complex configuration  Deployment  Only core .NET assemblies are pre-deployed in Azure. You need to deploy any custom libraries yourself.
  • 28. Transact-SQL Features Supported Transact-SQL Features Unsupported  Constants  Constraints  Cursors  Common Language Runtime (CLR)  Index management and rebuilding  Database file placement indexes  Database mirroring  Local temporary tables  Distributed queries  Reserved keywords  Distributed transactions  Stored procedures  Filegroup management  Statistics management  Global temporary tables  Transactions  SQL Server configuration options  Triggers  SQL Server Service Broker  Tables, joins, and table variables  System tables  User-defined functions  Trace Flags  Views, including sys.synonyms view  Spatial data and indexes (June 2010)
  • 29. Further reading  http://www.azure.com/  http://blog.smarx.com/  Signup for Azure  http://www.microsoft.com/windowsazure/offers/ (Credit card required)  Ensure that you complete delete a deployment – otherwise you will be charged!  Join your local user group  UK (http://ukazurenet.com)  Buy a book
  • 30. http://tinyurl.com/azurebook  “Thinking of... Delivering Solutions on the Windows Azure Platform?”  ISBN: 0956155634
  • 31. Marcus Tillett T:@drmarcustillett www.dotnetsolutions.co.uk