Download presentation
Presentation is loading. Please wait.
Published byAriel Tate Modified over 9 years ago
4
Bring your own machines, connectivity, software, etc. Complete control Complete responsibility Static capabilities Upfront capital costs for the infrastructure Renting machines, connectivity, software Less control Fewer responsibilities Lower capital costs More flexible Pay for fixed capacity, even if idle Shared, multi-tenant infrastructure Virtualized & dynamic Scalable & available Abstracted from the infrastructure Higher-level services Pay as you go On-Premises Servers Hosted Servers Cloud Platform
5
Usage Compute Time Average Inactivity Period Compute Time Average Usage Compute Time Compute Time Average Usage
7
Fabric Controller Compute
10
Storage Developer SDK Windows Azure SDK – Local compute environment & Mock Storage – Command line tools – Small Managed API Logging, working storage Microsoft Visual Studio 2008/10 add-in Developer SDK Windows Azure SDK – Local compute environment & Mock Storage – Command line tools – Small Managed API Logging, working storage Microsoft Visual Studio 2008/10 add-in
11
The Portal and Dev Environment
17
Blob Container Account cohowinery images PIC01.JPG PIC02.JPG videos VID1.AVI http://.blob.core.windows.net/ /
18
Blob Storage
19
StorageCredentialsAccountAndKey credentials = new StorageCredentialsAccountAndKey(accountName, key); string baseUri = string.Format("http://{0}.blob.core.windows.net", accountName); CloudBlobClient blobClient = new CloudBlobClient(baseUri, credentials); // Create Container CloudBlobContainer cloudContainer = blobClient.GetContainerReference(containerName); bool hasCreated = cloudContainer.CreateIfNotExist(); // Access Blob in the Container CloudBlob cloudBlob = cloudContainer.GetBlobReference(blobName); //BlobRequestOptions has retry policy, timeout etc. BlobRequestOptions options = new BlobRequestOptions(); //Upload the local file to Blob service cloudBlob.UploadFile(uploadFileName, options); //Download to local file name cloudBlob.DownloadToFile(downloadFileName, options);
25
Windows Azure
26
CloudStorageAccount account = CloudStorageAccount.FromConfigurationSetting("CloudStorageAccount"); //Initialize the local cache for drives mounted by this role instance CloudDrive.InitializeCache(localCacheDir, cacheSizeInMB); //Create a cloud drive (PageBlob) CloudDrive drive = account.CreateCloudDrive(pageBlobUri); drive.Create(1000 /* sizeInMB */); //Mount the network attached drive on the local file system string pathOnLocalFS = drive.Mount(cacheSizeInMB, DriveMountOptions.None); //Use NTFS APIs to Read/Write files to drive … //Snapshot drive while mounted to create backups Uri snapshotUri = drive.Snapshot(); //Unmount the drive drive.Unmount();
29
Entity Table Account cohowinery customers Name =… Email = … Name =… Email = … winephotos Photo ID =… Date =… Photo ID =… Date =…
33
PartitionKey (Category) RowKey (Title) TimestampReleaseDate Action Fast & Furious…2009 Action The Bourne Ultimatum…2007 … ……… Animation Open Season 2…2009 Animation The Ant Bully…2006 PartitionKey (Category) RowKey (Title) TimestampReleaseDate Comedy Office Space…1999 … ……… SciFi X-Men Origins: Wolverine …2009 … ……… War Defiance…2008 PartitionKey (Category) RowKey (Title) TimestampReleaseDate Action Fast & Furious…2009 Action The Bourne Ultimatum…2007 … ……… Animation Open Season 2…2009 Animation The Ant Bully…2006 Comedy Office Space…1999 … ……… SciFi X-Men Origins: Wolverine …2009 … ……… War Defiance…2008
35
[DataServiceKey("PartitionKey", "RowKey")] public class Movie { /// Movie Category is the partition key public string PartitionKey { get; set; } /// Movie Title is the row key public string RowKey { get; set; } public DateTime Timestamp { get; set; } public int ReleaseYear { get; set; } public double Rating { get; set; } public string Language { get; set; } public bool Favorite { get; set; } }
36
string baseUri = string.Format("http://{0}.table.core.windows.net", accountName); CloudTableClient tableClient = new CloudTableClient(baseUri, credentials); // Create Movie Table string tableName = “Movies“; tableClient.CreateTableIfNotExist(tableName); TableServiceContext context = tableClient.GetDataServiceContext(); // Add movie context.AddObject(tableName, new Movie("Action", “White Water Rapids Survival")); context.SaveChangesWithRetries(); // Query movie var q = (from movie in context.CreateQuery (tableName) where movie.PartitionKey == "Action" && movie.Rating > 4.0 select movie).AsTableServiceQuery (); foreach (Movie movieToUpdate in q) { movieToUpdate.Favorite = true; context.UpdateObject(movieToUpdate); } context.SaveChangesWithRetries( ); SaveChangesOptions.Batch
38
Message Queue Account order processing customer ID order ID http://… cohowinery
39
Azure Queue Input Queue (Work Items)
40
Azure Queue Input Queue (Work Items)
41
string baseUri = string.Format("http://{0}.queue.core.windows.net", accountName); CloudQueueClient queueClient = new CloudQueueClient(baseUri, credentials); //Create Queue CloudQueue queue = queueClient.GetQueueReference(queueName); queue.CreateIfNotExist(); //Add Message CloudQueueMessage message = new CloudQueueMessage(“some content"); queue.AddMessage(message); //Get Message message = queue.GetMessage(TimeSpan.FromMinutes(3) /*Invisibility timeout*/); // Process Message within the Invisibility Timeout //Delete Message queue.DeleteMessage(message);
45
Microsoft Confidential45
48
Change the Rules SQL Azure Database TDS Database Others (Future) SQL Azure Database An illustration
53
Microsoft Confidential53
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.