Windows Azure Custom Software Development Mobile Middleware Windows Azure Storage Dipl.-Ing. Damir Dobric Lead Architect daenet

Slides:



Advertisements
Similar presentations
There are some differences between Cloud and Dev Storage. A good approach for developers: To test pre-deployment,
Advertisements

Windows Azure Storage Deep Dive
Windows Azure Storage Name Title Organization.
Microsoft Dynamics AX Technical Conference 2013
Mark Simms Principal Program Manager Windows Azure Customer Advisory Team.
Page 1 Queue Storage Jeff Chu | Page 2 Agenda Queue Storage Overview Programming Queue Storage Queue Storage tips Lab Time.
Azure Services Platform Piotr Zierhoffer. Agenda Cloud? What is Azure? Environment Basic glossary Architecture Element description Deployment.
12 → Wed Umbraco User Group Kristofer Liljeblad Windows Azure Kristofer Liljeblad, Microsoft Developer Evangelist
70-270, MCSE/MCSA Guide to Installing and Managing Microsoft Windows XP Professional and Windows Server 2003 Chapter Nine Managing File System Access.
Protecting your online and on premises assets "Cloud Style" Mike Martin Architect / Microsoft Azure MVP.
Virtual techdays INDIA │ november 2010 Windows Azure Storage – Deep Dive Gaurav Mantri │ Founder, Cerebrata Software.
Cloud Computing Systems Lin Gu Hong Kong University of Science and Technology Sept. 21, 2011 Windows Azure—Overview.
Windows Azure Storage Services Saranya Sriram, Technology Evangelist, Microsoft, India.
WINDOWS AZURE STORAGE 11 de Mayo, 2011 Gisela Torres – Windows Azure MVP Aventia-Renacimiento Twitter:
Windows Azure SQL Database and Storage Name Title Organization.
Training Workshop Windows Azure Platform. Presentation Outline (hidden slide): Technical Level: 300 Intended Audience: Developers Objectives (what do.
Components of Windows Azure - more detail. Windows Azure Components Windows Azure PaaS ApplicationsWindows Azure Service Model Runtimes.NET 3.5/4, ASP.NET,
Introduction To Windows Azure Cloud
Windows Azure featureISO 27001SSAE 16 SOC 1 Type 2 EU Model Clauses HIPAA BAA Web Sites Virtual Machines Cloud Services Storage (Tables,
Windows Azure Conference 2014 Azure Infrastructure services foundation.
Azure in a Day Training Azure Blobs Module 1: Azure Blobs Overview Module 2: Blob Accounts – DEMO: Setting up a Blob Account – DEMO: Mapping a custom.
Building Connected Windows 8 Apps with Windows Azure Web Sites Name Title Organization.
MSDN Event. WINDOWS AZURE STORAGE Windows Azure Storage Storage in the Cloud –Scalable, durable, and available –Anywhere at anytime access –Only pay.
The Blue Book pages 19 onwards
Larisa kocsis priya ragupathy
Austin code camp 2010 asp.net apps with azure table storage PRESENTED BY CHANDER SHEKHAR DHALL
Windows Azure Storage – Essential Cloud Storage Services Denver Cloud Computing User Group
Bring your own machines, connectivity, software, etc. Complete control Complete responsibility Static capabilities Upfront capital costs for the infrastructure.
Jimmy Narang 1. A service in the cloud has to: Be able to handle arbitrary node failures Be available all the time Be able to scale up or down on demand.
Azure in a Day Training Azure Queues Module 1: Azure Queues Overview Module 2: Enqueuing a Message – DEMO: Creating Queues – DEMO: Enqueuing a Message.
Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure.
Overview of Cloud Computing Sven Rosvall ACCU
Windows Azure Storage Name Title Microsoft Corporation.
WINDOWS AZURE PLATFORM ROADMAP Eric Nelson Slide 1.
T.N.C.Venkata Rangan CEO, Vishwak Solutions Your Data on Cloud.
Building Applications with Windows Azure Storage Brad Calder Director/Architect Microsoft Corporation.
Virtual techdays INDIA │ august 2010 Building & Migrating Web applications using Windows Azure storage Ramaprasanna Chellamuthu │ Developer Evangelist;
Windows Azure Storage Anton Boyko. US Europe Asia Can choose geo-location to host storage account:
Windows Azure Storage: How It Works, Best Practices, and Future Directions Jai Haridas Development Manager Microsoft Corporation AZR306.
 Brad Calder Director/Architect Microsoft Corporation ES04.
Windows Azure Storage Anton Boyko.NET developer.
North America Europe Asia Pacific Data centers.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
Windows Azure Fundamentals Services Storage. Table of contents Overview Cloud service basics Managing cloud services Cloud storage basics Table storage.
Azure in a Day Training: Windows Azure Module 1: Windows Azure Overview Module 2: Development Environment / Portal – DEMO: Signing up for Windows Azure.
Technology Drill Down: Windows Azure Platform Eric Nelson | ISV Application Architect | Microsoft UK |
(re)-Architecting cloud applications on the windows Azure platform CLAEYS Kurt Technology Solution Professional Microsoft EMEA.
Azure Storage services TB per storage account500 TB Max 8 KB IOPS per persistent disk (Basic Tier)300 2 Max 8 KB IOPS per persistent.
Windows Azure Custom Software Development Mobile Middleware Windows Azure Introduction Dipl.-Ing. Damir Dobric Lead Architect daenet
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
Windows Azure Custom Software Development Mobile Middleware Windows Azure Storage Dipl.-Ing. Damir Dobric Lead Architect daenet
Windows Azure Custom Software Development Mobile Middleware Service Bus Remoting Dipl.-Ing. Damir Dobric Lead Architect daenet
Making a Difference with Azure Storage Solutions Dudu Sinai.
BlobContainerAccount sally pictures IMG001.JPG IMG002.JPG movies MOV1.AVI.
Nivo 300 Windows Azure Storage Bojan Vrhovnik Microsoft
Course: Cluster, grid and cloud computing systems Course author: Prof
Windows Azure Storage Name Title Organization.
Business Continuity & Disaster Recovery
Design considerations for storing data in the Cloud
Using BLOB Storage In this module- What is BLOB storage?
Utilization of Azure CDN for the large file distribution
Hello Farmington! 4:30-5:30, then dinner.
Business Continuity & Disaster Recovery
IaaS Part II Stefan Geiger Gerry
03 | Data Storage Bruno Terkaly | Technical Evangelist
Windows Azure Cloud.
Saranya Sriram Developer Evangelist | Microsoft
Building Scalable and Reliable Applications with Windows Azure
Microsoft Virtual Academy
Lecture 4: File-System Interface
Presentation transcript:

Windows Azure Custom Software Development Mobile Middleware Windows Azure Storage Dipl.-Ing. Damir Dobric Lead Architect daenet Microsoft vTSP – Germany Technology Advisor in Business Platform Division – Microsoft Corp. Microsoft Most Valuable Professional

Windows Azure Custom Software Development Mobile Middleware BLOB STORAGE Simple named files along with metadata for the file. Durable NTFS volumes (drives) QUEUE STORAGE Reliable storage and delivery of messages for an application TABLE STORAGE Structured storage. Table is a set of entities Entity is a set of properties

Windows Azure Custom Software Development Mobile Middleware Blob Storage Concepts Blob ContainerAccount contoso images PIC01.JPG videos VID1.AVI / Pages / Blocks Block/Page PIC02.JPG

Windows Azure Custom Software Development Mobile Middleware Blob Details Main Web Service Operations – PutBlob – GetBlob – DeleteBlob – CopyBlob – SnapshotBlob – LeaseBlob Associate Metadata with Blob – Standard HTTP metadata/headers (Cache-Control, Content-Encoding, Content-Type, etc) – Metadata is pairs, up to 8KB per blob – Either as part of PutBlob or independently Blob always accessed by name – Can include ‘/‘ or other delimeter in name e.g. / /myblobs/blob.jpg

Windows Azure Custom Software Development Mobile Middleware Blob Containers Multiple Containers per Account – Special $root container Blob Container – A container holds a set of blobs – Set access policies at the container level – Associate Metadata with Container – List the blobs in a container Including Blob Metadata and MD5 NO search/query. i.e. no WHERE MetadataValue = ? Blobs Throughput – Effectively in Partition of 1 – Target of 60MB/s per Blob

Windows Azure Custom Software Development Mobile Middleware GET Bikes Canoes Tents GET Bikes Canoes Tents Enumerating Blobs GET Blob operation takes parameters – Prefix – Delimiter – Include= (snapshots, metadata etc…) GET Tents/PalaceTent.wmv Tents/ShedTent.wmv GET Tents/PalaceTent.wmv Tents/ShedTent.wmv

Windows Azure Custom Software Development Mobile Middleware Pagination Large lists of Blobs can be paginated – Either set maxresults or; – Exceed default value for maxresults (5000) &marker=MarkerValue Canoes/Hybrid.jpg &marker=MarkerValue Canoes/Hybrid.jpg Canoes/Whitewater.jpg Canoes/Flatwater.jpg MarkerValue Canoes/Whitewater.jpg Canoes/Flatwater.jpg MarkerValue

Windows Azure Custom Software Development Mobile Middleware Demo

Windows Azure Custom Software Development Mobile Middleware STORAGE

Windows Azure Custom Software Development Mobile Middleware Two Types of Blobs Under the Hood Block Blob – Targeted at streaming workloads – Each blob consists of a sequence of blocks Each block is identified by a Block ID – Size limit 200GB per blob – Optimistic Concurrency via ETags Page Blob – Targeted at random read/write workloads – Each blob consists of an array of pages Each page is identified by its offset from the start of the blob – Size limit 1TB per blob – Optimistic or Pessimistic (locking) concurrency via Leases Sample: windows-azure-page-blobs-and-how-to-efficiently-upload-and-download-page- blobs.aspx windows-azure-page-blobs-and-how-to-efficiently-upload-and-download-page- blobs.aspx

Windows Azure Custom Software Development Mobile Middleware Uploading a Block Blob 10 GB Movie Windows Azure Storage Block Id 1 Block Id 2 Block Id 3 Block Id N blobName = “TheBlob.wmv”; PutBlock(blobName, blockId1, block1Bits); PutBlock(blobName, blockId2, block2Bits); ………… PutBlock(blobName, blockIdN, blockNBits); PutBlockList(blobName, blockId1,…,blockIdN); blobName = “TheBlob.wmv”; PutBlock(blobName, blockId1, block1Bits); PutBlock(blobName, blockId2, block2Bits); ………… PutBlock(blobName, blockIdN, blockNBits); PutBlockList(blobName, blockId1,…,blockIdN); TheBlob.wmv

Windows Azure Custom Software Development Mobile Middleware Page Blobs 0 10 GB 10 GB Address Space

Windows Azure Custom Software Development Mobile Middleware Shared Access Signatures Fine grain access rights to blobs and containers Sign URL with storage key – permit elevated rights Revocation – Use short time periods and re-issue – Use container level policy that can be deleted Two broad approaches – Ad-hoc – Policy based

Windows Azure Custom Software Development Mobile Middleware Ad Hoc Signatures Create Short Dated Shared Access Signature – Signedresource Blob or Container – AccessPolicy Start, Expiry and Permissions – Signature HMAC-SHA256 of above fields Use case – Single use URLs – E.g. Provide URL to Silverlight client to upload to container sr=c&st= T08:20Z&se= T08:30Z&sp=w &sig= dD80ihBh5jfNpymO5Hg1IdiJIEvHcJpCMiCMnN%2fRnbI%3d

Windows Azure Custom Software Development Mobile Middleware Policy Based Signatures Create Container Level Policy – Specify StartTime, ExpiryTime, Permissions Create Shared Access Signature URL – Signedresource Blob or Container – Signedidentifier Optional pointer to container policy – Signature HMAC-SHA256 of above fields Use case – Providing revocable permissions to certain users/groups – To revoke: Delete or update container policy sr=c&si=MyUploadPolicyForUserID12345 &sig=dD80ihBh5jfNpymO5Hg1IdiJIEvHcJpCMiCMnN%2fRnbI%3d

Windows Azure Custom Software Development Mobile Middleware Content Delivery Network (CDN) Scenario – Frequently accessed blobs – Accessed from around the world Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content delivery 20 locations globally (US, Europe, Asia, Australia and South America), and growing Same experience for users no matter how far they are from the geo-location where the storage account is hosted Blob service URL vs CDN URL: – Windows Azure Blob URL: – Windows Azure CDN URL: – Custom Domain Name for CDN: Cost – US located CDN nodes 15c/GB + 1c/10,000 txn – Rest of World 20c/GB + 1c/10,000 txn – Traffic from Storage node to edge node at standard rates

Windows Azure Custom Software Development Mobile Middleware STORAGE DRIVE

Windows Azure Custom Software Development Mobile Middleware Windows Azure Drives Durable NTFS volume for Windows Azure Instances – Use existing NTFS APIs to access a network attached durable drive – Use System.IO from.NET Benefits – Move existing apps using NTFS more easily to the cloud – Durability and survival of data on instance recycle A Windows Azure Drive is a NTFS VHD Page Blob – Mounts Page Blob over the network as an NTFS drive – Local cache on instance for read operations – All flushed and unbuffered writes to drive are made durable to the Page Blob

Windows Azure Custom Software Development Mobile Middleware Windows Azure Drive Capabilities A Windows Azure Drive is a Page Blob formatted as a NTFS single volume Virtual Hard Drive (VHD) – Drives can be up to 1TB A Page Blob can be mounted: – On one instance at a time for read/write – Using read-only snapshots to multiple instances at once An instance can dynamically mount up to 16 drives Remote Access via standard BlobUI – Can’t remotely mount drive. – Can upload the VHD to a Page Blob using the blob interface, and then mount it as a Drive – Can download the VHD to a local file and mount locally

Windows Azure Custom Software Development Mobile Middleware Drive Details Operations performed via Drive API not REST Calls Operations on Drives – CreateDrive Creates a new NTFS formatted VHD in Blob storage – MountDrive/UnmountDrive Mounts a drive into Instance at new drive letter Unmounts a drive freeing drive letter – Get Mounted Drives List mounted drives; underlying blob and drive letter – Snapshot Drive Create snapshot copy of the drive

Windows Azure Custom Software Development Mobile Middleware How Windows Azure Drives Works Drive is a formatted page blob stored in blob service Mount obtains a blob lease Mount specifies amount of local storage for cache NTFS flushed/unbuffered writes commit to blob store before returning to app NTFS reads can be served from local cache or from blob store (cache miss) Windows Azure Blob Service Application Lease Drive X:

Windows Azure Custom Software Development Mobile Middleware Cloud Drive Client Library Sample 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 = a(pageBlobUri); //Mount the network attached drive on the local file system string pathOnLocalFS = drive.Mount(20B/* sizeInMB */, 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();

Windows Azure Custom Software Development Mobile Middleware Failover with Drives Must issue NTFS Flush command to persist data – Use System.IO.Stream.Flush() Read/Write Drives protected with leases – 1 Minute lease expiry – Maintained by Windows Azure OS Driver – Unmount on RoleEntryPoint.OnStop On failure – Lease will timeout after 1 minute – Re-mount drive on new instance White Paper

Windows Azure Custom Software Development Mobile Middleware Demo CREATEMOUNT UNMOUNTSNAPSHOT

Windows Azure Custom Software Development Mobile Middleware STORAGE QUEUES

Windows Azure Custom Software Development Mobile Middleware Loosely Coupled Workflow with Queues Enables workflow between roles – Load work in a queue Producer can forget about message once it is in queue – Many workers consume the queue – For extreme throughput (>500 tps) Use multiple queues Read messages in batches Multiple work items per message Queue Input Queue (Work Items)

Windows Azure Custom Software Development Mobile Middleware Queue Storage Concepts Message Queue Account order processing customer ID order ID adventureworks

Windows Azure Custom Software Development Mobile Middleware Queue Details Simple asynchronous dispatch queue – No limit to queue length subject to storage limit – 8kb per message – ListQueues - List queues in account Queue operations – CreateQueue – DeleteQueue – Get/Set Metadata – Clear Messages Message operations – PutMessage– Reads message and hides for time period – GetMessages – Reads one or more messages and hides them – PeekMessages – Reads one or more messages w/o hiding them – DeleteMessage – Permanently deletes messages from queue

Windows Azure Custom Software Development Mobile Middleware Queue’s Reliable Delivery Guarantee delivery/processing of messages (two-step consumption) – Worker Dequeues message and it is marked as Invisible for a specified “Invisibility Time” – Worker SHOULD/MUST delete message when finished processing – If Worker role crashes, message becomes visible for another Worker to process – There are queues in Service Bus!! Differences WinAzure Queues vs. ServiceBus Queue