350 likes | 499 Views
Austin code camp 2010 asp.net apps with azure table storage. PRESENTED BY CHANDER SHEKHAR DHALL csdhall@ChanderDhall.com www.welcometoyoga.com www.ChanderDhall.com Twitter @ csdhall. www.welcometoyoga.com. wARNING. THIS PRESENTATION IS ON A MAC . Counts. Worked on Azure ?.
E N D
Austin code camp 2010asp.net apps with azure table storage PRESENTED BY CHANDER SHEKHAR DHALL csdhall@ChanderDhall.com www.welcometoyoga.com www.ChanderDhall.com Twitter @csdhall
wARNING • THIS PRESENTATION IS ON A MAC
Counts • Worked on Azure?
Counts • Specifically Azure Table Storage?
Counts • Planning to use Azure?
Counts • Working for Start-Up?
Counts • Attended PDC?
Counts • Attending Tech-ED?
Counts • Anyone Recording?
azure • Windows Azure is the foundation of Microsoft’s Cloud Platform • It is an “Operating System in the Cloud” and provides Essential Services for the cloud • Virtualized Computation • Scalable Storage • Automatic Management • Developer SDK
Azure Roles • An Azure application is implemented with a Web and/or a Worker role. • Developer defines what the role does. • Azure takes care of the rest. • Each VM assigner to a role.
Stateless • Azure Web Roles must be designer to be stateless • Request from the same user may reach different web role instances. • Store state in Azure storage or client side.
Windows Azure data storage • Azure allow data to be stored in: • Blobs (large items of user data) • Tables(simple tables, caches) • Queues(service communicationz) • Massive scale, availability and durability. • Everything is accessible via RESTful services.
Fundamental data abstractions • Blobs – Provide a simple interface for storing named files along with metadata for the file • Tables – Provide structured storage; A Table is a set of entities, which contain a set of properties • Queues – Provide reliable storage and delivery of messages for an application
Windows azure tables • Provides Structured Storage • Massively Scalable Tables • Billions of entities (rows) and TBs of data • Can use thousands of servers as traffic grows • Highly Available • Can always access your data • Durable • Data is replicated several times • Familiar and Easy to use API • ADO.NET Data Services – .NET 3.5 SP1 • .NET classes and LINQ • REST – with any platform or language
Agenda • Data model • Demo – creating Tables • Demo – creating Blobs • Demo – creating Queues • Basic CRUD using .NET and REST • Best Practices • Demo – A better Approach
Data model • Table • A Storage Account can create many tables • Table name is scoped by Account • Data is stored in Tables • A Table is a set of Entities (rows) • An Entity is a set of Properties (columns) • Entity • Two “key” properties that together are the unique ID of the entity • PartitionKey – enables scalability • RowKey – uniquely identifies the entity within the partition
partition Table Partition – all entities in table with same partition key value Application controls granularity of partition
partition Table Partition – all entities in table with same partition key value Application controls granularity of partition
Partiton guidelines • Performance • Use a PartitionKey that is common in your queries • Entities with same partition key value are clustered • Scalability • We monitor partition traffic • Automatically load balance partitions • Each partition can potentially be served by a different storage node • Scale to meet the traffic needs of your application • More partitions – makes it easier to balance load
DEMO TALK IS CHEAP. SHOW ME THE CODE - LINUS TORVALDS
entities and properties • Each Entity can have up to 255 properties • Every Entity has fixed key properties • Partition key • Row key • No fixed schema for rest of properties • 2 entities in the same table can have different properties • Properties stored as <Name, TypedValue> pairs • Each entity has a system maintained version
Automated service management • Our responsibilities • Develop and model the service. • Deploy the service to the cloud. • Configure the settings and constraints. • Azure’s responsibilities • Run the service. • Maintain the service’s health. • Configure the settings and constraints.
Property types • Partition key and Row key • String (up to 64KB) • Other properties • String (up to 64KB) • Binary (up to 64KB) • Bool • DateTime • GUID • Int • Int64 • Double
References (bing it out) • Azure Team Blog. • Channel 9 webcast/RSS. • For beginners – Azure platform toolkits • White papers on Azure Storage. • Twitter @csdhall