Saranya Sriram
Developer Evangelist
Microsoft Corporation
India
Microsoft’s Cloud – ReCap


     Azure Services Platform
           ™
Agenda
 Data is King
 Motivation ? Why data outside your premise?
 Microsoft’s Data Storage offerings
    Windows Azure
  ...
Today’s discussion – next 60 minutes




  Windows Azure Storage   SQL Data
  Services
HTTP
                                     Blobs   Tables   Queues




                                      Windows Azure ...
Windows Azure Storage
Storage that is
   Durable
   Scalable (capacity and throughput)
   Highly Available
   Security
   ...
Windows Azure Storage Account
User creates a globally unique storage account
   Received a 256 bit secret key when creatin...
Blobs Storage
• Storage Account
  •    An account can have many Containers
• Container
  •    A container is a set of blob...
Slide Share for Tech Ed India 2009 -
Basic
Table Storage
 Table
    A storage account can create many tables
    Table name is scoped by account
 Data is stored in t...
Windows Azure Storage
A closer look at tables


                          Table        Table           Table      ...


  ...
Tables - Capabilities
     What tables don’t do           What tables can do

       Not relational                    C...
Query a Table
 LINQ
 DataServiceContext context = new
 DataServiceContext(‚http://myaccount.table.core.windows.net‛);

 va...
Slide Share for Tech Ed India 2009 -
Revisited
Queue Storage
   An account can create many queues
       Queue Name is scoped by the account
   A Queue contains messages...
Dequeue and Delete Messages
Producers                   Consumers

  P2                           C1       1. Dequeue(Q, 3...
Dequeue and Delete Messages
Producers                  Consumers

  P2                       1     C1     1. Dequeue(Q, 30...
Slide Share for Tech Ed India 2009 -
Revisited
Windows Azure Data Storage Concepts


               Container                         Blobs
              http://<account...
Slide Share for Tech Ed India 2009 -
Upload onto the Azure Storage & take
REST
Takeaways

  Enables developers to access storage
     Massively scalable, durable, and available
     Anywhere at anytime...
SQL Data
                                                                                            Services

           ...
Data Platform: Device to Cloud
                           RDBMS
                   Protection      Mining     Sync Reporti...
Extending SQL Data Platform to Cloud


                  Business     Reference
   Reporting    Intelligence     Data




...
The New SQL Data Services
 Familiar SQL Server relational model
 Uses existing APIs & tools
 Built for the Cloud with avai...
Accessing SDS
User Database
 connStringBuilder.InitialCatalog = quot;mydatabasequot;;
   // Specify your user database to ...
SQL Client (ADO.net) code snippet
Just change the connection string values:
static void Main(string[] args)
{
       SqlCo...
Example of SQL Compatibility
In Scope for v1 (likely)      Out of Scope for v1 (likely)
  Tables, indexes and views     Di...
Takeaways


 Foundation of the SDS relational platform
    Built using core SQL Server product codebase
 Delivery of rich ...
Azure Services Platform Roadmap

       First CTP                Updated CTPs                Pricing and SLA    Commercial...
Getting Started & Resources
1. Download the SDKs and tools from
   http://www.microsoft.com/azure
2. Get invitation for Wi...
Related Content
Breakout Sessions (session codes and titles)



1. Cloud Track – Introduction to cloud computing and Windo...
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be...
Data In Cloud
Data In Cloud
Upcoming SlideShare
Loading in...5
×

Data In Cloud

663

Published on

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

  • Be the first to like this

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

No notes for slide
  • A very good afternoon Everyone,Its super cool to be here today amidst you & I’m indeed excited for this upcoming session.Well I hope this session, though on the last day of teched & post lunch, will keep you all on your toes and be excited on this as it does for me. Today in the morning, we saw some really interesting sessions – we saw basically an introduction to cloud computing, what is cloud, what is microsoft’s offering in this space. So moving on, on the cloud track, as the title reads we will look at the Data in the cloud
  • So with this, lets start with the very basic and standard slide of Microsoft’s cloud computing stack – Azure Service Platform!As you may recall, (well how many of you attended the previous session? )That we got introduced to this layer cake of services offered in the cloud. We were also able to map the fact that the bottommost layer, Windows Azure, provide operating system capabilities as services (u give foo.exe for it to execute, it figures out how , where to get this job done). Well we saw in detail about the compute capabilities of this operating system designed to run on many many servers(pulling out, pulling down Virtual machines, load balancing, resource allocating, etc). At this same layer, for an Operating system, just as Compute is a key task, storage is another fundamental need!So we have data storage as a service as a part of Windows AzureMoving up, the next layer is the Azure Services Platform layer, this layer we were told provided building block services to take away all the extra plumping, reinventing the wheel during scale etc etc… basically analogy to the Software frameworks that sit over your desktop OS, like SQL Server (manegement studio, Database), like .net framework (providing lot od libraries for identity services), like Sharepoint, CRM etc… these provide developer tools and ease of use!Here, we see a brightly painted “SQL Services” which by now you would have guess it as “Database on the cloud”
  • Importance of data: data is king. Someone once told me that data is like Air, its under covers, can go unnoticed by the numberof cool apps and technology, but it’s the heartbeat and fundamental and existent for all , each and every enterprise, ISV, vendor etc etc…2. What is this session about ? It’s a focus on persistent storage in the cloud! The cloud offering or the logical cloud computing stack can never be complete without addressing data issues. a) What do I mean by that ? Just as for every single enterprise, ISV, an developer, rather every application – a data store is mandatory and usually they have enrich capabilities bundled in the Data management studio like SQL server and its fairly a breeze to query, write sp, triggers and work on the data layer directly with the Database!So I guess, we have enough metaphors and similis! to highlight, re-emphasize the power , need importance of Data3.So net net this session will talk about storing your Data on the cloud! What are formats available – by this I mean (we are so used to RDBMS – relational data storage in rows and columns, or like in an operating system we have C:\\, D:\\ flat data storage, how else do u think data can be stored ? How about keep a bag of 100 boxes, each box has x, y , z number of items! I call this an entity store… how can I represent this data? Well we have all done number of theoretical data structures courses, which give to n, n+1 , user definied data structure or ADT (what we call abstract data types in terms of stacks, queues, hashes etc etc)… will we need this kind of storage on the cloud ?4. Highlighting the essence of Today’s talk : Offloading data outside your premise. Today, it’s a norm to have a gmail, hotmail personal id with all ur photos, emails, digital footprints on the web, and frankly we don’t feel like it a privacy breech, its kind of become the norm. Extending this, eventually in the best interest in distributed computation , access across the globe with least latency, costs involved, technology world is moving towards hardware consolidation, this will directly translates into having capabilities to have your data offloaded to a trusted datastore, have SLA, backup hazzle free, upgrades, and finally tools and developer framework for accessing, and working with the data.
  • Hence, in the next 60 mins, we will go through these two data storage concepts, see how different they are and what is the variety they have to offer.
  • If you would like to host your demo on the Virtual Server, please use the myVPC demo slide, not this slide.
  • If you would like to host your demo on the Virtual Server, please use the myVPC demo slide, not this slide.
  • If you would like to host your demo on the Virtual Server, please use the myVPC demo slide, not this slide.
  • If you would like to host your demo on the Virtual Server, please use the myVPC demo slide, not this slide.
  • Why sds,When,Scenario? Value propOn prem – sds advantagesSecurity of data ?How secure at store, on wire?Sds compromised (sla)Can I connect ipsec, ssl, (live id)Access restrictions – Ease of migration from on premise to cloud ?
  • Data In Cloud

    1. 1. Saranya Sriram Developer Evangelist Microsoft Corporation India
    2. 2. Microsoft’s Cloud – ReCap Azure Services Platform ™
    3. 3. Agenda Data is King Motivation ? Why data outside your premise? Microsoft’s Data Storage offerings Windows Azure SQL Services Programming & Coding for data on cloud OS What we will not learn? Deep Dive into SQL Services Any SQL Services 2008 specifics Architectural considerations to model data in real life
    4. 4. Today’s discussion – next 60 minutes Windows Azure Storage SQL Data Services
    5. 5. HTTP Blobs Tables Queues Windows Azure Storage Application Service Compute Storage Fabric …
    6. 6. Windows Azure Storage Storage that is Durable Scalable (capacity and throughput) Highly Available Security Performance Efficient Pay for what you use Rich Data Abstractions Service communication: queues, locks, … Large user data items: blobs, blocks, … Service state: tables, caches, … Simple and Familiar Programming Interfaces REST Accessible and ADO.NET
    7. 7. Windows Azure Storage Account User creates a globally unique storage account Received a 256 bit secret key when creating account Geo-location & Co-location coming soon Provides security for accessing the store Use secret key to create HMACSHA256 signature for each request Use signature to authenticate request at server Account Blob Table Queue
    8. 8. Blobs Storage • Storage Account • An account can have many Containers • Container • A container is a set of blobs • Sharing policies are set at the container level • Public READ or Private • Associate Metadata with Container • Metadata is <name, value> pairs Account Container Blob • Up to 8KB per container IMG001.JPG • List the blobs in a container pictures IMG002.JPG sally movies MOV1.AVI
    9. 9. Slide Share for Tech Ed India 2009 - Basic
    10. 10. Table Storage 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 Account Table Entity are the unique ID of the entity in the table users PartitionKey – enables scalability RowKey – uniquely identifies the sally entity within the partition photo index
    11. 11. Windows Azure Storage A closer look at tables Table Table Table ... Entity Entity Entity ... Storage Property Property Property Accounts Name Type Value
    12. 12. Tables - Capabilities What tables don’t do What tables can do  Not relational  Cheap  No Referential Integrity  Very Scalable  If these No Joins are important  Flexible  to you, use:Queries Limited  Durable  No Group by What tables contain  No Aggregations Partition key & Row key  No Transactions Timestamp 255 properties for your data & data  No Transactions of size 1MB
    13. 13. Query a Table LINQ DataServiceContext context = new DataServiceContext(‚http://myaccount.table.core.windows.net‛); var customers = from o in context.CreateQuery<Customer>(‚Customer‛) where o.PartitionKey == ‚Lee‛ select o; foreach (Customer customer in customers) { } GET http://myaccount.table.core.windows.net/Customer? $filter= PartitionKey eq ‘Lee’
    14. 14. Slide Share for Tech Ed India 2009 - Revisited
    15. 15. Queue Storage An account can create many queues Queue Name is scoped by the account A Queue contains messages No limit on number of messages stored in a queue A message is stored for at most a week in a queue http://<Account>.queue.core.windows.net/<QueueName> Messages Message size <= 8 KB To store larger data, store data in blob/entity storage, and the blob/entity name in the message
    16. 16. Dequeue and Delete Messages Producers Consumers P2 C1 1. Dequeue(Q, 30 sec)  msg 1 4 3 2 1 C2 P1 2. Dequeue(Q, 30 sec)  msg 2
    17. 17. Dequeue and Delete Messages Producers Consumers P2 1 C1 1. Dequeue(Q, 30 sec)  msg 1 5. C1 crashed 6. msg1 visible 30 seconds after Dequeue 4 3 2 1 2 C2 P1 2. Dequeue(Q, 30 sec)  msg 2 3. C2 consumed msg 2 4. Delete(Q, msg 2) 7. Dequeue(Q, 30 sec)  msg 1
    18. 18. Slide Share for Tech Ed India 2009 - Revisited
    19. 19. Windows Azure Data Storage Concepts Container Blobs http://<account>.blob.core.windows.net/<container> Account Table Entities http://<account>.table.core.windows.net/<table> Queue Messages http://<account>.queue.core.windows.net/<queue>
    20. 20. Slide Share for Tech Ed India 2009 - Upload onto the Azure Storage & take REST
    21. 21. Takeaways Enables developers to access storage Massively scalable, durable, and available Anywhere at anytime access Automatically scale to meet peek traffic demands Only pay for what the service uses Easy to use REST and .NET Interfaces Blobs, tables, and queues
    22. 22. SQL Data Services Others (Future) .NET Services Applications SQL Services Live Services SQL Services Windows Azure Applications Windows Windows Windows Others Server Vista/XP Mobile
    23. 23. Data Platform: Device to Cloud RDBMS Protection Mining Sync Reporting Caching Load Service Analysis Query Integration Search Backup Model & policy based development and management Type In Multi Relational XML File Memory Dim BLOB Place
    24. 24. Extending SQL Data Platform to Cloud Business Reference Reporting Intelligence Data Symmetric Programming Model Data Hub Aggregation Initial services – core RDBMS capabilities as a service (SDS), Data Sync and Data Hub Future Offerings Additional data platform capabilities as a service: BI/DSS, DW New services: Reference Data, Secure Data Hub Enable new uses of data to deliver differentiated business value
    25. 25. The New SQL Data Services Familiar SQL Server relational model Uses existing APIs & tools Built for the Cloud with availability and scale Accessible to all from PHP, Ruby, and Java Focus on combining the best features of SQL Server running at scale with low friction
    26. 26. Accessing SDS User Database connStringBuilder.InitialCatalog = quot;mydatabasequot;; // Specify your user database to connect Master/Server Database connStringBuilder.DataSource = quot;myserver.data.dev.mscds.com“; // Specify the DNS name of my SDS server master db) connStringBuilder.UserID = quot;jeff@myserverquot;; // Specify my user id
    27. 27. SQL Client (ADO.net) code snippet Just change the connection string values: static void Main(string[] args) { SqlConnectionStringBuilder connStringBuilder = new SqlConnectionStringBuilder(); connStringBuilder.DataSource = quot;myserver.data.dev.mscds.com connStringBuilder.InitialCatalog = quot;mydatabasequot;; connStringBuilder.Encrypt = true; connStringBuilder.TrustServerCertificate = true; connStringBuilder.UserID = quot;jeff@myserverquot;; connStringBuilder.Password = quot;****quot;; string createTableSql = @quot;CREATE TABLE [dbo].[tbl_Person] ( [FirstName] NVARCHAR(64) NOT NULL, [LastName] NVARCHAR(64) NOT NULL CONSTRAINT [personName_PK] PRIMARY KEY CLUSTERED ( [FirstName] ASC, [LastName] ASC ) )quot;; using (SqlConnection conn = new SqlConnection(connStringBuilder.ToString())) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = createTableSql; cmd.CommandType = CommandType.Text; cmd.ExecuteNonQuery(); conn.Close(); } } }
    28. 28. Example of SQL Compatibility In Scope for v1 (likely) Out of Scope for v1 (likely) Tables, indexes and views Distributed Transactions Stored Procedures Distributed Query Triggers CLR Constraints Service Broker Table variables, Spatial session temp tables (#t) Physical server or catalog … DDL and views
    29. 29. Takeaways Foundation of the SDS relational platform Built using core SQL Server product codebase Delivery of rich relational database service – PDC ’09 Key capability of the Azure platform Supports broad spectrum of scenarios
    30. 30. Azure Services Platform Roadmap First CTP Updated CTPs Pricing and SLA Commercial Developer CTP for Enable Full trust & Fast CGI confirmation Availability Services SDKs, and Tools Geo-location support SDS Public CTP Windows Azure .NET Services Open CTP .NET Services Live Framework Open CTP SQL Services SDS Invitation-only CTP Fall 2008 Spring 2009 Summer 2009 Fall 2009
    31. 31. Getting Started & Resources 1. Download the SDKs and tools from http://www.microsoft.com/azure 2. Get invitation for Windows Azure and start coding 3. Review the hands-on labs and videos available on the site 3. SSDS blog: http://blogs.msdn.com/ssds 4. Azure Services Training Kit Downloadable hands-on labs, demos, and presentations http://www.azure.com 5. Check Mix09 and PDC 08 sessions
    32. 32. Related Content Breakout Sessions (session codes and titles) 1. Cloud Track – Introduction to cloud computing and Windows Azure 2. Cloud Track – .NET services 3. Cloud Track - Code Camp
    33. 33. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
    1. A particular slide catching your eye?

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

    ×