Azure Blob Storage vs. File Storage
Microsoft bietet mehrere Optionen zum Speichern von Daten in der Cloud. Jede Option hat ihren eigenen Zweck, um unterschiedliche Geschäftsanforderungen zu erfüllen. Eine der wichtigsten Funktionen, die Microsoft Azure bietet, ist die Möglichkeit, bei Bedarf auf andere Speicheroptionen zu migrieren.
Im Azure-Speicherkonto sind verschiedene Optionen für die Speicherung von Benutzerdaten verfügbar.
- Blob-Storage
- File-Storage
- Table-Storage
- Queue-Storage
- Disk
In diesem Blog wird versucht, zwischen Azure Blob-Storage und File-Storage zu unterscheiden, die im Azure Storage Account verfügbar sind.
- Einführung
- Blob Storage
- File Storage
- When to Use
- Blob Storage
- Dateispeicher
- Kostenloser Download dieses Blogs als PDF-Dokument zum Offline-Lesen.
- Echtzeit-Szenario
- Hochladen großer Dateien
- Überwachungsoptionen für Blob-Storage und File-Storage
- Azure Portal
- Serverless360 (Off the Shelf Product)
- Skalierbarkeit
- Sicherheit
- Disaster Recovery
- Preisgestaltung
- Datenspeicherpreise
- Preise für Operationen und Datentransfer
- Wrap Up
- Autor: Nadeem Ahamed
Einführung
Blob Storage
Azure Blob Storage ist eine Objektspeicherlösung für die Cloud. Mit Blob Storage können Sie eine große Menge unstrukturierter Daten speichern. Die unstrukturierten Daten müssen kein bestimmtes Datenmodell aufweisen.
File Storage
Azure Files bietet vollständig verwaltete Dateifreigaben in der Cloud, die über den Industriestandard SMB zugänglich sind. Azure File Shares können gleichzeitig von Cloud- oder On-Premises-Implementierungen von Windows, Linux und macOS gemountet werden. Sie können auf Windows-Servern mit Azure File Sync zwischengespeichert werden, um einen schnelleren Zugriff zu ermöglichen.
When to Use
Blob Storage
Azure Blob Storage wurde für bestimmte Anforderungen entwickelt. Wenn Sie in Ihrem Unternehmen unstrukturierte Daten wie Audio, Video, Bilder usw. speichern müssen, sollten Sie sich für diese Option entscheiden. Die Objekte, die in Blob gespeichert werden, haben nicht unbedingt eine Erweiterung.
Die folgenden Punkte beschreiben die Anwendungsszenarien:
- Bilder oder Dokumente direkt in einem Browser bereitstellen
- Dateien für verteilten Zugriff speichern
- Video- und Audiostreaming
- Schreiben in Protokolldateien
- Daten für Backup, Wiederherstellung, Disaster Recovery und Archivierung
- Speichern von Daten zur Analyse durch einen lokalen oder in Azure gehosteten Dienst
Dateispeicher
Dateispeicher kann verwendet werden, wenn Ihr Geschäftszweck hauptsächlich mit Standard-Dateierweiterungen wie *.docx, *.png und *.bak zu tun hat, dann sollten Sie sich für diese Speicheroption entscheiden.
Die folgenden Punkte beschreiben die Anwendungsszenarien:
- Ersatz oder Ergänzung von lokalen File-Servern
- „Lift and shift“-Anwendungen
- Vereinfachung der Cloud-Entwicklung
Kostenloser Download dieses Blogs als PDF-Dokument zum Offline-Lesen.
Echtzeit-Szenario
Betrachten Sie ein Szenario in einer Entwicklungsumgebung, in der jeder Entwickler Zugriff auf IDE und Tools benötigt, ohne das Internet zum Herunterladen zu nutzen. In dieser Situation würde Azure Blob Storage den Bedarf decken, mit dem Sie nur die Entwicklungstools speichern und dann dem Team einen Link zum Zugriff auf den Blob-Speicherplatz geben können.
Für die Implementierung eines Dateiservers in Ihrem Unternehmen sollten Sie die Option Azure Files wählen. Ein Dateiserver wird verwendet, um Dateien abteilungsübergreifend in Ihrer Organisation freizugeben. Wenn es um die gemeinsame Nutzung von Dateien geht, sollten die Endbenutzer nicht auf die Kopien der Datei von ihrem URI zugreifen können, sondern sie müssen lokal auf den Computern zugeordnet werden. In diesem Fall ist Azure File Storage genau das Richtige für Sie.
Hochladen großer Dateien
Der übliche Ansatz für das Hochladen großer Dateien ist das Aufteilen in kleine Stücke. Das Aufteilen ist nicht nur die Funktion zum Hochladen von Dateien, sondern die Chunks müssen nach dem Hochladen zu einer Datei zusammengeführt werden.
Welche Option wäre für die obige Aufgabe am besten geeignet? Azure Blob oder File Storage?
Die Antwort ist Azure Blob Storage. Obwohl es in diesem Szenario um Dateien geht, ist Azure Blob Storage aufgrund seiner Standardfunktionen eine gute Wahl.
Azure Blob Storage enthält drei Arten von Blobs: Block, Page und Append. Ein Block ist eine einzelne Einheit in einem Blob. Ein Blob kann viele Blöcke enthalten, aber nicht mehr als 50.000 Blöcke pro Blob. Das bedeutet, dass Sie einen Blob in 50.000 Blöcke aufteilen können, um ihn in den Azure Blobs-Speicher hochzuladen. Die Mindestgröße eines Blocks beträgt 64 KB und die Höchstgröße 100 MB. Wenn Sie sich die .NET-Bibliothek ansehen, ist eines der Objekte BlockBlob, das Teil der CloudBlockBlob-Klasse ist. Diese Klasse bietet viele Möglichkeiten, mit einem BlockBlob zu arbeiten.
Zum Beispiel ermöglicht die Eigenschaft StreamWriteSizeInBytes das Festlegen einer BlockBlob-Größe, die gut geeignet ist, um instabile Netzwerkgeschwindigkeiten zu bewältigen. Jeder Block Blob hat auch Metadaten, die Sie individuell steuern können. Wenn Sie z. B. sicherstellen möchten, dass alle Block-Blobs erfolgreich an einen bestimmten Blob übergeben werden, können Sie Content-MD5 verwenden.
Azure File Storage verfügt nicht über diese Out-of-the-Box-Funktion. Wenn Sie eine Datei aufteilen müssen, müssen Sie eine indirekte Methode wie die FileStream-Klasse finden oder Drittanbieter verwenden.
Überwachungsoptionen für Blob-Storage und File-Storage
Azure Portal
Nachdem Sie das gewünschte Speicherkonto für die Option „Diagnose“ im Abschnitt „Überwachung“ konfiguriert haben, können Sie die Art der zu überwachenden Metrikdaten und die Aufbewahrungsrichtlinie für die Daten festlegen.
Ein Standardsatz von Metriken wird in Diagrammen auf dem Storage Account Blade sowie auf den einzelnen Service Blades (Blobs und Dateien) angezeigt. Sobald Sie die Metriken für einen Service aktiviert haben, kann es bis zu einer Stunde dauern, bis die Daten in den Diagrammen erscheinen. Sie können in jedem Metrikdiagramm die Option Bearbeiten wählen, um zu konfigurieren, welche Metriken im Diagramm angezeigt werden sollen.
Serverless360 (Off the Shelf Product)
Es ist möglich, sowohl Storage Blobs als auch Storage Files in einem Status- oder Threshold-Monitor zu überwachen. Der Statusmonitor erzeugt zu bestimmten Tageszeiten einen Bericht, der den Zustand der Entitäten im Vergleich zu den gewünschten Werten darstellt. Threshold Monitor generiert einen Bericht, wenn bestimmte Eigenschaften die gewünschten Werte für einen bestimmten Zeitraum überschreiten. Im Gegensatz zu Azure Portal überwacht Serverless360 die Blobs und Dateien in erster Linie anhand ihrer Eigenschaften und nicht anhand ihrer Metriken.
Entitätstyp | Eigenschaften, die überwacht werden können |
---|---|
Storage Blob | Leasingstatus, Blob-Anzahl, Blob-Größe (Bytes), Block-Blob-Anzahl, Block-Blob-Größe (Bytes), Page-Blob-Anzahl, Page Blob Size (Bytes), Append Blob Count, Append Blob Size (Bytes) |
Storage File | Usage (Bytes) |
Die folgende Abbildung zeigt die Blob-Konfiguration im Status Monitor der Serverless360-Anwendung.
Nachfolgend werden die Fehlerdetails angezeigt, die generiert werden, wenn der Fehler über den gewünschten Zeitraum anhält.
Skalierbarkeit
Es ist wichtig, die Kontingente und Grenzen von Azure Storage zu kennen, um die richtige Option zu wählen. Die höchste Darstellungsebene für die Kapazität in Azure Blob Storage ist Containers, während für Dateien Shares gilt.
Azure Blobs Ressource | Ziel |
---|---|
Max. Größe eines einzelnen Blob-Containers | 500 TB |
Max. Anzahl von Blöcken in einem Block Blob oder Append Blob | 50,000 Blöcke |
Max. Größe eines Blocks in einem Block Blob | 100 MB |
Max. Größe eines Blocks Blob | 50.000 X 100 MB (ca. 4,75 TB) |
Max. Größe eines Blocks in einem Append Blob | 4 MB |
Max. Größe eines Append Blob | 50.000 x 4 MB (ca. 195 GB) |
Max. Größe eines Page-Blob | 8 TB |
Max. Anzahl der gespeicherten Zugriffsrichtlinien pro Blob-Container | 5 |
Azure Dateien Ressource | Ziel |
---|---|
Max Größe einer Dateifreigabe | 5 TB |
Max. Größe einer Datei in einer Dateifreigabe | 1 TB |
Max. Anzahl von Dateien in einer Dateifreigabe | Keine Begrenzung |
Max IOPS pro Freigabe | 1000 IOPS |
Max. Anzahl gespeicherter Zugriffsrichtlinien pro Dateifreigabe | 5 |
Maximale Anfragenrate pro Speicherkonto | 20,000 Anfragen pro Sekunde für Dateien beliebiger Größe |
Zieldurchsatz für eine einzelne Dateifreigabe | bis zu 60 MB pro Sekunde |
Maximal geöffnete Handles pro Datei | 2000 offene Handles |
Maximale Anzahl von Freigabe-Snapshots | 200 Freigabe-Snapshots |
Sicherheit
Azure Storage Blob und Files Storage Service Verschlüsselung, da sie unter Azure Storage Account Level fallen. Wenn die Anwendung einen neuen Blob/eine neue Datei schreibt/liest, werden sie mit einem 256-Bit-AES-Algorithmus (Advanced Encryption Standard) verschlüsselt. Beim Aufruf über die REST-API werden sowohl Azure Blobs als auch Azure Files unterstützt, indem Secure Required Transfer aktiviert wird.
Beide Azure Blobs und Azure Files benötigen eine Shared Access Signature (SAS), um delegierten Zugriff auf Blobs und Files zu erhalten. Zusätzlich zur Autorisierung werden beide mit Azure AD und Shared Access Token unterstützt.
Azure Blobs ermöglichen eine Verschlüsselung durch die BlobEncryptionPolicy-Klasse mit Azure Key Vault. Azure Files nutzen die eingebaute Verschlüsselung im SMB 3.0 Protokoll. Außerdem unterstützen sowohl Azure Blobs als auch Azure Files die CORS-Regel (Cross-Origin Resource Sharing). CORS ermöglicht es Ihnen, die Whitelist für HTTP-Header-Anfragen zu beschreiben.
Was die Netzwerksicherheit betrifft, haben Sie mehr Kontrolle über den eingehenden Netzwerkverkehr zu Azure Blobs und Azure Files. Sie erlaubt nur einem bestimmten IP-Bereich und virtuellen Netzwerken den Zugriff darauf.
Disaster Recovery
Datensicherung ist für jedes Unternehmen wichtig, da die Daten als das Blut der Organisation angesehen werden. Leider verfügen Azure Recovery und Backup nicht über eine Automatisierung, um Daten direkt aus Blob und File Storage zu sichern. Um damit umzugehen, können Sie die Daten auf Ihre lokale Infrastruktur herunterladen oder ein neues Speicherkonto in einer anderen Region erstellen, um Ihre Daten zu speichern.
Azure Blobs: Verwenden Sie „Blob kopieren“, um Ihren Blob asynchron auf das Zielspeicherkonto zu kopieren.
Azure-Dateien: Verwenden Sie Datei kopieren, um die Dateifreigabe asynchron auf das Zielspeicherkonto zu kopieren.
Preisgestaltung
Die hier beschriebene Preisgestaltung basiert auf der Microsoft-Dokumentation
Datenspeicherpreise
Nachfolgend finden Sie die Preise für die Speicherung von Daten in Azure File und Blob Storage
Blob Storage | PREMIUM | HOT | COOL | ARCHIVE |
---|---|---|---|---|
Erste 50 Terabyte (TB) / Monat | $0.18 pro GB | $0.022 pro GB | $0.01 pro GB | $0.00099 pro GB |
Nächste 450 TB / Monat | $0.18 pro GB | $0.0212 pro GB | $0.01 pro GB | $0.00099 pro GB |
Über 500 TB / Monat | $0.18 pro GB | $0.0203 pro GB | $0.01 pro GB | $0.00099 pro GB |
Filespeicher | STANDARD |
---|---|
GB/Monat | $0.06 pro verbrauchtem GB |
Snapshots GB/Monat | $0.06 pro genutztem GB |
Preise für Operationen und Datentransfer
Nachfolgend die Preise für Operationen und Datentransfer in Azure File und Blob Storage
Blob Storage | PREMIUM | HOT | COOL | ARCHIVE |
---|---|---|---|---|
Schreiboperationen (pro 10,000)1 | $0.021 | $0.05 | $0.10 | $0.11 |
Listen und Erstellen von Containeroperationen (pro 10.000)2 | $0.06 | $0.05 | $0.05 | $0.05 |
Lesevorgänge (pro 10.000)3 Archivieren mit hoher Priorität (pro 10.000)5 |
$0,0017 | $0,004 | $0,01 | $5.50 $30 |
Alle anderen Vorgänge (pro 10.000), außer Löschen, das kostenlos ist | $0.0017 | $0.004 | $0.004 | $0.004 |
Datenabruf (pro GB)4 Archivabruf mit hoher Priorität (pro GB)5 |
Frei | Frei | $0.01 | $0.022 $0.06 |
Daten schreiben (pro GB)4 | Frei | Frei | $0.0025 | Frei |
Datenspeicher | STANDARD |
---|---|
Setzen, Erstellen von Containeroperationen (pro 10.000) | $0.015 |
Listenoperationen (pro 10.000) | $0.015 |
Alle anderen Operationen außer Löschen, das kostenlos ist (pro 10.000) | $0.0015 |
Geo-Replikations-Datentransfer (pro GiB) | N/A |
Wrap Up
In der Revolution der digitalen Transformation werden Anwendungen modernisiert und es braucht groß angelegte Muster nicht nur in der Anwendungsschicht, sondern auch in der Datenschicht, die ich nicht glaube, dass Azure Files passen kann. Azure Files wäre immer noch gut, wenn Ihre Anwendung für ein bestimmtes Publikum bestimmt ist.
Vielleicht gibt es individuelle Aspekte, die berücksichtigt werden müssen, bevor man die beste Option zwischen Azure Blob Storage und Files findet. In Anbetracht der gemeinsamen Funktionalitäten würde ich Azure Blob Storage gegenüber Files bevorzugen.
Autor: Nadeem Ahamed
Nadeem ist ein Technical Product Marketer für Serverless360. Er bloggt leidenschaftlich gerne über Spitzentechnologien. Er glaubt, dass Blogs der beste Weg sind, um Wissen mit der Community zu teilen, und seine Leidenschaft für das Schreiben wird bis zum letzten Tag seines Lebens nicht enden. Er glaubt immer an die Phrase „Looks so Good on the Outside, It’ll Make You Feel Good Inside“ Alle Beiträge von Nadeem Ahamed
ansehen