Your SlideShare is downloading. ×
0
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 ...
AppFabric

  Applications
                                      SQL Azure
 Windows Azure




                 Applications...
Application

                                                                Compute                Storage

             ...
Public Internet
                                 IIS7

                                 Web Hosting
               Web R...
Public Internet
                                 Self hosted

                               “Windows
                Wo...
   Open - REST interface
     HTTP or HTTPS
   Authenticated using secret keys
   Can access from outside Azure
   Al...
   Provide access rights to containers and blobs
     Start
     Expiry
     Permission (r, w, d, l)
     Resource (c...
   No limits on number of Queues
   Message:
     Max size 8kb
     Operations:
      ▪ Enqueue
      ▪ Dequeue
      ...
 Queues guarantee a message will be
  processed at least once.
 Allows recovery in the event of errors
     Message com...
   Partition Key for Scale
   Row Key for performance
     Non-RowKey queries result in a partition scan
   Row Key an...
PartitionKey   RowKey           Timestamp   ReleaseDate
            (Category)     (Title)
            Action         Fast...
Film_ByCategory                               Film_ByReleaseDate
PartitionKey   RowKey           ReleaseDate   PartitionKe...
   Example
Partition   RowKey   Title   Date   Approve   Cost     Description   Amount
Key                                           ...
 Motivation:
Ensure that modifications to a master record and its
  item records are performed in a transactional way.

...
   Retry when connections fail
   Expect network latency (e.g. SQL Azure)
   Be stateless
   Design for failure
     ...
   Development Fabric
     Differences from development and live
     Test early and often
   Limited registry and dis...
Transact-SQL Features Supported            Transact-SQL Features Unsupported
   Constants
   Constraints
   Cursors    ...
   Further reading
     http://www.azure.com/
     http://blog.smarx.com/
   Signup for Azure
     http://www.microso...
   http://tinyurl.com/azurebook

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

   IS...
Marcus Tillett
   T:@drmarcustillett




www.dotnetsolutions.co.uk
Developing For The Windows Azure Platform
Developing For The Windows Azure Platform
Developing For The Windows Azure Platform
Developing For The Windows Azure Platform
Developing For The Windows Azure Platform
Developing For The Windows Azure Platform
Developing For The Windows Azure Platform
Developing For The Windows Azure Platform
Developing For The Windows Azure Platform
Developing For The Windows Azure Platform
Upcoming SlideShare
Loading in...5
×

Developing For The Windows Azure Platform

435

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
435
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Developing For The Windows Azure Platform"

  1. 1. Marcus Tillett T:@drmarcustillett www.dotnetsolutions.co.uk
  2. 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. 3. AppFabric Applications SQL Azure Windows Azure Applications Server Desktop Mobile Others
  4. 4. Application Compute Storage Config Fabric AppFabric Applications SQL Azure Windows Azure Applications Server Desktop Mobile Others
  5. 5. Public Internet  IIS7  Web Hosting Web Role  Web Services Load Balancer Storage Services
  6. 6. Public Internet  Self hosted  “Windows Worker Services” Role Load  Infinite Loop Balancer Storage Service
  7. 7.  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
  8. 8.  Provide access rights to containers and blobs  Start  Expiry  Permission (r, w, d, l)  Resource (c, b)
  9. 9.  No limits on number of Queues  Message:  Max size 8kb  Operations: ▪ Enqueue ▪ Dequeue ▪ RemoveMessage
  10. 10.  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
  11. 11.  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
  12. 12. 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
  13. 13. 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
  14. 14.  Example
  15. 15. 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 .... .... .... .... .... .... .... ....
  16. 16.  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.
  17. 17.  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
  18. 18.  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.
  19. 19. 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)
  20. 20.  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
  21. 21.  http://tinyurl.com/azurebook  “Thinking of... Delivering Solutions on the Windows Azure Platform?”  ISBN: 0956155634
  22. 22. Marcus Tillett T:@drmarcustillett www.dotnetsolutions.co.uk
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×