Your SlideShare is downloading. ×
Introduction to my Windows Azure Application
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

Introduction to my Windows Azure Application

614
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
614
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
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. Introduction to my Windows Azure Application Wallace B. McClure www.scalabledevelopment.com http://www.aspnetpodcast.com http://www.morewally.com Twitter: @wbm
  • 2. Who the heck am I?
    • “ Beginning AJAX with ASP.NET”
    • “ Beginning ASP.NET 2.0 AJAX”
    • “ Professional ASP.NET 3.5 Service Pack 1”
    • “ Building iPhone Apps for the .NET Developer”
    • MVP – ASP.NET.
    • ASPInsider.
    • ASP.NET Podcast.
    • INETA Speaker’s Bureau.
  • 3. INETA
    • International .NET Association.
    • Approximately 90 NA Speaker’s Bureau Members.
    • Regional Speaker’s Bureau.
    • Webcasts.
  • 4. Disclaimer:
    • Detail look at my application. I’m learning everyday.
    • Overview of additional features that I think are important.
    • Most of the code and code ideas are on my blog or ASP.NET Podcast.
    • My app is changing.
  • 5. (part of) My App
    • Scheduling tweets.
    • Multiple twitter ids per user id.
    • User -> TwitterId -> TwitterEntry.
  • 6. What the heck is CC?
    • Applications that provide some or all of their processing through a service over common http protocols.
    • Some ability to use additional processing as needed.
    • Some ability to process data (events, messages, table data, something) outside of user input.
  • 7. What is Windows Azure?
    • Introduced at the Microsoft PDC (October, 2008).
    • Cloud Services Operating Environment from Microsoft.
    • Scale Out is the key.
    • Web.
    • Data.
    • Internal Processing.
    • Supports:
      • .NET.
      • Java.
      • Ruby.
      • SOAP/REST access.
  • 8. Other offerings
    • Amazon
      • VM based.
      • Scale out to multiple VM Servers.
      • Consumable Web services.
    • Google App Engine
      • Similar to Microsoft Azure.
      • Java/Python languages.
    • VMWare
  • 9. What is Azure Programmatically?
    • Web Role (Web UI).
    • Worker Role (similar to a windows service).
    • Storage.
      • Blobs.
      • Data.
      • Queues. – key to scalability.
  • 10. Web Role Azure Storage Browser Browser Browser Browser Browser Web Role Web Role N L B Worker Role Worker Role Worker Role N L B p1 p2 p3
  • 11. Tools
    • Develop locally.
    • Visual Studio 2008/2010 Project Plugin.
    • Development Storage.
    • Development Fabric.
    • Sql Server Express running locally.
  • 12. Services Provided
    • Web Applications.
    • Storage – File, Blobs, and Tables.
    • Queues.
    • Timed Processing.
  • 13. Features / Languages Supported
    • Server Side.
      • C#.
      • VB.
      • PHP.
    • Web:
      • Client side javascript.
      • AJAX.
      • WCF.
      • Webforms/MVC.
    • Worker Role.
  • 14. APIs
    • REST based.
    • High level library.
    • ASP.NET Providers.
  • 15. Data
    • Azure Storage.
    • Azure Sql.
  • 16. Azure Tables
    • Not a standard database.
    • Class/entity definitions. (key – object)
    • Azure Tables are simple.
    • No relationships.
    • Azure SQL for “more” database services.
    • NoSql type datastore.
    • Designed for billions of records.
  • 17. Azure Sql
    • 1/10 gigs.
    • Ports.
    • Sql Server in the clouds without:
      • FTS.
      • CLR.
      • Bulk Upload.
  • 18. Local vs. Hosted
    • Local uses Sql Server Express.
      • Sql Server Manager.
      • Rows/Columns.
      • Create Tables with the dev tool.
    • Hosted Azure.
      • Create Tables.
      • Objects can have different versions.
  • 19. Azure Storage Class Definitions
    • Classes inherit from TableStorage.
    • DataServices
      • CRUD stuff.
      • LINQ-lite.
      • .ToList<T> seems to be everywhere.
  • 20. Indexing Strategies
    • Not simple.
    • PartitionKey / RowKey.
    • No secondary indexing support at this time. Support has been announced.
    • Partitions – spread out data and processing.
    • Partitions/RowKeys are a good place to put indexes.
  • 21. Changing data schema
    • What is a schema in Azure vs. Sql Server?
      • Not fixed.
      • XML.
    • How do you handle changes?
      • Old objects.
      • Code.
  • 22. How do you handle Relationships?
    • Natural Keys?
    • Surrogate Keys?
    • No foreign key relationships at this time.
  • 23. How do you bulk load data?
    • Apps rarely start with no data.
    • I wrote a custom app.
    • Mike Amundsen resources online.
  • 24. Transactions
    • Partitions and Table must match.
    • 100 CUD operations.
    • 4megs max size.
  • 25. My data strategy
    • User – TwitterID – TwitterEntry.
    • TwitterID - PartitionKey: UserName.
    • TwitterEntry – Partitionkey: UserName / TwitterID.
    • Relationships?!?
      • Surrogate Key?
      • Natural Key?
  • 26. Remote Data
    • REST.
    • WSDL
      • Basic Authentication.
      • WS Auth, under certain circumstances.
      • Painful……………….
  • 27. Examples……..
    • Table Storage.
    • Data
    • TwtMstr.
  • 28. Queueing
    • Queueing is GOOD! – Key to scaling out to multiple worker roles.
    • Queue messages are returned to the queue after 30 seconds of not being deleted.
    • Example (not in my app, yet).
  • 29. What should your app have in it?
    • Globalization / Localization.
    • Services.
    • AJAX.
  • 30. Debugging
    • Local app – Local data.
      • Initial development.
      • Visual Studio.
    • Local app – Hosted data.
      • Visual Studio.
    • Hosted app – Hosted data.
  • 31. Deployment
    • Staging.
    • Production.
  • 32. Gotchas
    • Changes to data schema.
    • Query for a record that does not exist.
    • FullTrust.
    • DateTime.
    • Configuring WCF/Membership.
      • REST (Silverlight support).
      • SOAP/WSDL.
  • 33. Azure Programming Environment
    • ASP.NET 3.5 Service Pack 1.
    • Approximately medium trust.
    • Web based applications.
    • Client applications can integrate by calling SOAP or REST web services.
    • Tools for Visual Studio 2008.
  • 34. Status
    • REST APIs.
    • StorageClient.
    • ASP.NET Providers.
    • Table Data.
  • 35. I want to take an existing app and run it in Azure.
    • You can, within limits.
    • Sql Azure is required.
      • Relatively small db.
      • No CLR.
      • No FTS.
  • 36. What does Azure physically look like?
  • 37. Pricing / Availability
    • November, 2008 – PDC.
    • November, 2009 – PDC.
    • Pricing is rather complex.
      • Traffic.
      • CPU utilization.
  • 38. Additional Sources of Information
    • Azure Training Kit.
    • AZURE Forums on MSDN.
    • http://www.windowsazure.com/
    • http://blogs.msdn.com/
    • http://www.morewally.com/
    • http://www.aspnetpodcast.com/
  • 39. Application
    • @twtmstr.
    • http://www.twtmstr.com/ .
    • Sign up for an account and send me your feedback!
  • 40.
    • http://www.scalabledevelopment.com
      • Training.
      • Mentoring.
      • Business Process Automation.
      • Software Development.
    • Questions/Comments: wallym@scalabledevelopment.com