• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
404
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
6
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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