Your SlideShare is downloading. ×
Developing For The Windows Azure Platform
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Developing For The Windows Azure Platform

423

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
423
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
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

×