SlideShare une entreprise Scribd logo
1  sur  24
Cloud Storage
Azure Blob and Amazon S3
Udaiappa Ramachandran ( Udai )
@nhcloud
Who am I?
• Udaiappa Ramachandran ( Udai )
• Chief Architect, Ektron, Inc.,
• Azure Insider
• New Hampshire Cloud User Group (//www.nashuaug.org )
• Focus on Cloud Computing
• Windows Azure and Amazon Web Services
• //cloudycode.wordpress.com
• @nhcloud
Agenda
• Storage
• Overview
• Azure Blob Storage
• Amazon S3
• Comparing Azure Blob and Amazon S3
• Benchmark comparisons for performance, stability, and scalability
• CDN
• Shared Access Signature
• Best Practice
• Resource
• QA
Storage
Overview
• Evaluation
• Network Storage
• Hosted Storage
• Cloud Based Storage
• Benefits
• Highly Available with Strong Consistency
• Provides access to data in face of failures/partitioning
• Durability
• Replicate data several times within and across data centers
• Scalability
• Need to scale to Exabyte’s and beyond
• Provide a global namespace to access data around the world
• Automatically load balance data to meet peak traffic demands
• Easy setups and low cost
• Pay as you go
• API Accessible, Emulator, Web Portal
Azure Blob 1 of 3
• Blobs
• File with a metadata
• Blob Types
• Block Blob
• Targeted for streaming workloads
• Each blob consists of a sequence of blocks, Each block is identified by a Block ID targeted for streaming
workloads
• Size limit 200GB per blob
• Optimistic concurrency via ETags
• Page Blob
• Targeted for 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
• Drives
• Durable NTFS volumes for Windows Azure applications to use
• Based on Blobs
• Drive access across multiple instance(s) possible thru SMB
Azure Blob 2 of 3
• Storage End Point
• http://<account>.blob.core.windows.net/<container>/<blobname>
• [Account][Container][Blobs][Pages/Blocks]
• Mock Storage Emulator
• Can CDN Enable Account
• Blobs delivered via 24 global CDN nodes
• Can co-locate storage account with compute account
• Explicitly or using affinity groups
• Accounts have two independent 512 bit shared secret keys
• 100 TBs per account
• Geo-Replication
• Storage Analytics
• Logs: Provide trace of executed requests for your storage accounts
• Metrics: Provide summary of key capacity and request statistics for Blobs, Tables, and Queues
• HTTP headers for Blobs
• RESTful and Client API support
Azure Blob 3 of 3
• Associate Metadata With blob
• Standard HTTP metadata/headers
(Cache-Control, Content-Encoding, Content-Type, etc)
• Metadata is <name, value> pairs, up to 8KB per blob
• Either as part of PutBlob or independently
• Blob always accessed by name
• Can include ‘/‘ or other delimiters in name
e.g. /<container>/myblobs/blob.jpg
• Basic Blob Operations
• GetBlob
• DeleteBlob
• CopyBlob
• SnapshotBlob
• LeaseBlob
• ListBLobs
Azure Drive
• 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 an NTFS VHD Page Blob
• Mounts Page Blob over the network as an NTFS drive
• Local cache on instance for read operations
• All flushed and un buffered writes to drive are made durable to the Page Blob
• A Windows Azure Drive is a Page Blob formatted
as a NTFS single volume Virtual Hard Drive (VHD)
• Drives can be up to 1TB
Azure Drive
• 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 Blob UI
• 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
• Operations performed via Drive API not REST Calls
• Operations on Drives
• Create Drive
• Mount / UnMount Drive
• Get Mounted Drives
• Snapshot Drive
Amazon S3 1 of 2
• Simple Storage Service
• Storage Endpoints
• Virtual Hosted Style: http[s]://<bucketname>.s3-website-[us-east-1].amazonaws.com/object
• Path-Style: http[s]://s3.amazonaws.com/<bucketname>/object
• Associate Metadata With blob
• Standard HTTP metadata/headers
(Cache-Control, Content-Encoding, Content-Type, etc)
• Metadata is <name, value> pairs, up to 8KB per blob
• Either as part of PutObject or independently
• Blob always accessed by key
• Can include ‘/‘ or other delimiter in name but folder must end with ‘/’
e.g. /<bucketname>/myblobs/blob.jpg
• 1-5 TB per blob
• Unlimited Size per accounts
• RESTful/API support
• Storage Analytics
• Ability to host static template from blob
• Bittorrent protocol support
Amazon S3 2 of 2
• Choose region to avoid latency
• Elastic Block Store
• Data availability from replication across an Availability Zone
• Data persistence independent of the life of the instance
• The ability to create snapshots and incremental backups
• Upto 1000 IOPS
• Free monitoring
• S3 Operations
• Put
• Get
• Delete
• Copy
• List
Comparing Azure Blob,
Amazon S3
Comparing Azure Blob,
Amazon S3
CDN
CDN
• Types
• Download
• Streaming
• Azure
• <random>.vo.msecnd.net
• custom domain support
• Amazon
• <random>.cloudfront.net
• Custom domain support
• Custom behaviors
• Ability to Bill the end user per download
Shared Access Signature
Signed URL Scenario
Signing the URL
• Azure
• Customizable
• In-built API
• Smooth streaming support
• Format
• st=starttime
• se=expiring time
• sr=blob|container ---resource
• sp=rwd --permission
• sig=signed hash
• Amazon
• Customizable
• Uses the OpenSSL
• RTMP (Adobe's Real-Time Message Protocol) support for video
• Download signing is different than streaming
• Distribution Format
• ?Expires=<expires>&Signature=<signature>&Key-Pair-Id=<keypairid>
• ?Policy=<policy>&Signature=<signature>&Key-Pair-Id=<keypairid>
• Download: http://d111111abcdef8.cloudfront.net/images/image.jpg
• Streaming: videos/mediafile.flv
Best Practices
• Avoid lock-in to specific provider
• Choose the location closest to your customer
• Use only lower cases for container/key name
• Always remove public access from container/bucket. Instead grant
public access to keys if required.
• Avoid unnecessary request (such a call to check if blob exists instead
use the response)
• Use compression for large file if possible
• Enable CDN
Resources
• //microsoft.com/azure
• //blogs.msdn.com/b/windowsazurestorage/archive/2010/12/30/wind
ows-azure-storage-architecture-overview.aspx
• //msdn.microsoft.com/en-us/library/windowsazure/ee395415.aspx
• //blog.smarx.com/posts/smooth-streaming-with-windows-azure-
blobs-and-cdn
• //channel9.msdn.com/shows/Cloud+Cover/Cloud-Cover-Episode-8-
Shared-Access-Signatures/
• //aws.amazon.com/articles
• //docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/
WorkingWithStreamingDistributions.html
• //www.longtailvideo.com/jw-player/wizard%23rtmp
Q & A
Thank you for attending
Boston Azure Usergroup

Contenu connexe

Plus de Udaiappa Ramachandran

RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIRAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIUdaiappa Ramachandran
 
Level up your security using Intune.pptx
Level up your security using Intune.pptxLevel up your security using Intune.pptx
Level up your security using Intune.pptxUdaiappa Ramachandran
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
AI-Plugins-Planners-Persona-SemanticKernel.pptx
AI-Plugins-Planners-Persona-SemanticKernel.pptxAI-Plugins-Planners-Persona-SemanticKernel.pptx
AI-Plugins-Planners-Persona-SemanticKernel.pptxUdaiappa Ramachandran
 
Vector Search using OpenAI in Azure Cognitive Search.pptx
Vector Search using OpenAI in Azure Cognitive Search.pptxVector Search using OpenAI in Azure Cognitive Search.pptx
Vector Search using OpenAI in Azure Cognitive Search.pptxUdaiappa Ramachandran
 
SecureAzureServicesUsingADAuthentication.pptx
SecureAzureServicesUsingADAuthentication.pptxSecureAzureServicesUsingADAuthentication.pptx
SecureAzureServicesUsingADAuthentication.pptxUdaiappa Ramachandran
 
Azure Automation and Update Management
Azure Automation and Update ManagementAzure Automation and Update Management
Azure Automation and Update ManagementUdaiappa Ramachandran
 

Plus de Udaiappa Ramachandran (20)

RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIRAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AI
 
Level up your security using Intune.pptx
Level up your security using Intune.pptxLevel up your security using Intune.pptx
Level up your security using Intune.pptx
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
AI-Plugins-Planners-Persona-SemanticKernel.pptx
AI-Plugins-Planners-Persona-SemanticKernel.pptxAI-Plugins-Planners-Persona-SemanticKernel.pptx
AI-Plugins-Planners-Persona-SemanticKernel.pptx
 
DOTNET8.pptx
DOTNET8.pptxDOTNET8.pptx
DOTNET8.pptx
 
AzureSynapse.pptx
AzureSynapse.pptxAzureSynapse.pptx
AzureSynapse.pptx
 
Vector Search using OpenAI in Azure Cognitive Search.pptx
Vector Search using OpenAI in Azure Cognitive Search.pptxVector Search using OpenAI in Azure Cognitive Search.pptx
Vector Search using OpenAI in Azure Cognitive Search.pptx
 
SecureAzureServicesUsingADAuthentication.pptx
SecureAzureServicesUsingADAuthentication.pptxSecureAzureServicesUsingADAuthentication.pptx
SecureAzureServicesUsingADAuthentication.pptx
 
AzureOpenAI.pptx
AzureOpenAI.pptxAzureOpenAI.pptx
AzureOpenAI.pptx
 
OpenAI-Copilot-ChatGPT.pptx
OpenAI-Copilot-ChatGPT.pptxOpenAI-Copilot-ChatGPT.pptx
OpenAI-Copilot-ChatGPT.pptx
 
DiagnoseAndSolveproblems.pptx
DiagnoseAndSolveproblems.pptxDiagnoseAndSolveproblems.pptx
DiagnoseAndSolveproblems.pptx
 
MAUI.pptx
MAUI.pptxMAUI.pptx
MAUI.pptx
 
CosmosDB.pptx
CosmosDB.pptxCosmosDB.pptx
CosmosDB.pptx
 
.NET7.pptx
.NET7.pptx.NET7.pptx
.NET7.pptx
 
AzureDevOps
AzureDevOpsAzureDevOps
AzureDevOps
 
AzureCostManagementAndBilling
AzureCostManagementAndBillingAzureCostManagementAndBilling
AzureCostManagementAndBilling
 
.NET6.pptx
.NET6.pptx.NET6.pptx
.NET6.pptx
 
Azure Automation and Update Management
Azure Automation and Update ManagementAzure Automation and Update Management
Azure Automation and Update Management
 
Azure staticwebapps
Azure staticwebappsAzure staticwebapps
Azure staticwebapps
 
Azure privatelink
Azure privatelinkAzure privatelink
Azure privatelink
 

Dernier

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 

Dernier (20)

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 

Cloud storage azureblob_s3

  • 1. Cloud Storage Azure Blob and Amazon S3 Udaiappa Ramachandran ( Udai ) @nhcloud
  • 2. Who am I? • Udaiappa Ramachandran ( Udai ) • Chief Architect, Ektron, Inc., • Azure Insider • New Hampshire Cloud User Group (//www.nashuaug.org ) • Focus on Cloud Computing • Windows Azure and Amazon Web Services • //cloudycode.wordpress.com • @nhcloud
  • 3. Agenda • Storage • Overview • Azure Blob Storage • Amazon S3 • Comparing Azure Blob and Amazon S3 • Benchmark comparisons for performance, stability, and scalability • CDN • Shared Access Signature • Best Practice • Resource • QA
  • 5. Overview • Evaluation • Network Storage • Hosted Storage • Cloud Based Storage • Benefits • Highly Available with Strong Consistency • Provides access to data in face of failures/partitioning • Durability • Replicate data several times within and across data centers • Scalability • Need to scale to Exabyte’s and beyond • Provide a global namespace to access data around the world • Automatically load balance data to meet peak traffic demands • Easy setups and low cost • Pay as you go • API Accessible, Emulator, Web Portal
  • 6. Azure Blob 1 of 3 • Blobs • File with a metadata • Blob Types • Block Blob • Targeted for streaming workloads • Each blob consists of a sequence of blocks, Each block is identified by a Block ID targeted for streaming workloads • Size limit 200GB per blob • Optimistic concurrency via ETags • Page Blob • Targeted for 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 • Drives • Durable NTFS volumes for Windows Azure applications to use • Based on Blobs • Drive access across multiple instance(s) possible thru SMB
  • 7. Azure Blob 2 of 3 • Storage End Point • http://<account>.blob.core.windows.net/<container>/<blobname> • [Account][Container][Blobs][Pages/Blocks] • Mock Storage Emulator • Can CDN Enable Account • Blobs delivered via 24 global CDN nodes • Can co-locate storage account with compute account • Explicitly or using affinity groups • Accounts have two independent 512 bit shared secret keys • 100 TBs per account • Geo-Replication • Storage Analytics • Logs: Provide trace of executed requests for your storage accounts • Metrics: Provide summary of key capacity and request statistics for Blobs, Tables, and Queues • HTTP headers for Blobs • RESTful and Client API support
  • 8. Azure Blob 3 of 3 • Associate Metadata With blob • Standard HTTP metadata/headers (Cache-Control, Content-Encoding, Content-Type, etc) • Metadata is <name, value> pairs, up to 8KB per blob • Either as part of PutBlob or independently • Blob always accessed by name • Can include ‘/‘ or other delimiters in name e.g. /<container>/myblobs/blob.jpg • Basic Blob Operations • GetBlob • DeleteBlob • CopyBlob • SnapshotBlob • LeaseBlob • ListBLobs
  • 9. Azure Drive • 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 an NTFS VHD Page Blob • Mounts Page Blob over the network as an NTFS drive • Local cache on instance for read operations • All flushed and un buffered writes to drive are made durable to the Page Blob • A Windows Azure Drive is a Page Blob formatted as a NTFS single volume Virtual Hard Drive (VHD) • Drives can be up to 1TB
  • 10. Azure Drive • 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 Blob UI • 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 • Operations performed via Drive API not REST Calls • Operations on Drives • Create Drive • Mount / UnMount Drive • Get Mounted Drives • Snapshot Drive
  • 11. Amazon S3 1 of 2 • Simple Storage Service • Storage Endpoints • Virtual Hosted Style: http[s]://<bucketname>.s3-website-[us-east-1].amazonaws.com/object • Path-Style: http[s]://s3.amazonaws.com/<bucketname>/object • Associate Metadata With blob • Standard HTTP metadata/headers (Cache-Control, Content-Encoding, Content-Type, etc) • Metadata is <name, value> pairs, up to 8KB per blob • Either as part of PutObject or independently • Blob always accessed by key • Can include ‘/‘ or other delimiter in name but folder must end with ‘/’ e.g. /<bucketname>/myblobs/blob.jpg • 1-5 TB per blob • Unlimited Size per accounts • RESTful/API support • Storage Analytics • Ability to host static template from blob • Bittorrent protocol support
  • 12. Amazon S3 2 of 2 • Choose region to avoid latency • Elastic Block Store • Data availability from replication across an Availability Zone • Data persistence independent of the life of the instance • The ability to create snapshots and incremental backups • Upto 1000 IOPS • Free monitoring • S3 Operations • Put • Get • Delete • Copy • List
  • 15.
  • 16. CDN
  • 17. CDN • Types • Download • Streaming • Azure • <random>.vo.msecnd.net • custom domain support • Amazon • <random>.cloudfront.net • Custom domain support • Custom behaviors • Ability to Bill the end user per download
  • 20. Signing the URL • Azure • Customizable • In-built API • Smooth streaming support • Format • st=starttime • se=expiring time • sr=blob|container ---resource • sp=rwd --permission • sig=signed hash • Amazon • Customizable • Uses the OpenSSL • RTMP (Adobe's Real-Time Message Protocol) support for video • Download signing is different than streaming • Distribution Format • ?Expires=<expires>&Signature=<signature>&Key-Pair-Id=<keypairid> • ?Policy=<policy>&Signature=<signature>&Key-Pair-Id=<keypairid> • Download: http://d111111abcdef8.cloudfront.net/images/image.jpg • Streaming: videos/mediafile.flv
  • 21. Best Practices • Avoid lock-in to specific provider • Choose the location closest to your customer • Use only lower cases for container/key name • Always remove public access from container/bucket. Instead grant public access to keys if required. • Avoid unnecessary request (such a call to check if blob exists instead use the response) • Use compression for large file if possible • Enable CDN
  • 22. Resources • //microsoft.com/azure • //blogs.msdn.com/b/windowsazurestorage/archive/2010/12/30/wind ows-azure-storage-architecture-overview.aspx • //msdn.microsoft.com/en-us/library/windowsazure/ee395415.aspx • //blog.smarx.com/posts/smooth-streaming-with-windows-azure- blobs-and-cdn • //channel9.msdn.com/shows/Cloud+Cover/Cloud-Cover-Episode-8- Shared-Access-Signatures/ • //aws.amazon.com/articles • //docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ WorkingWithStreamingDistributions.html • //www.longtailvideo.com/jw-player/wizard%23rtmp
  • 23. Q & A
  • 24. Thank you for attending Boston Azure Usergroup