محمد جواد بگدلی
محمد جواد بگدلی
خواندن ۷ دقیقه·۱ سال پیش

مقایسه AWS S3و Azure Blob Storage


مقدمه

انتخاب راه حل مناسب برای ذخیره سازی ابری برای هر کسی که به دنبال ذخیره و مدیریت موثر داده های خود در فضای ابری است ضروری است. در این پست، Amazon S3 و Azure Blob Storage، دو گزینه محبوب ذخیره‌سازی ابری را بررسی می‌کنیم، و ویژگی‌ها، عملکرد، قیمت و موارد استفاده آنها را با هم مقایسه می‌کنیم تا به شما کمک کنیم درباره این خدمات بیشتر بدانید و انتخابی آگاهانه داشته باشید.

این دو مدل فضای ذخیره سازی برای نگهداری اطلاعات بصورت object یا شی ٔ می‌باشد. یعنی شما یک فضا در اختیار دارید که درون آن می‌توانید هر چیزی قرار دهید و این فضا قابل ارتقا و افزایش می‌باشد.

ذخیره سازی اشیا یک رویکرد مدرن برای ذخیره و مدیریت داده ها است که داده ها را به عنوان واحدهای مجزا به نام اشیا در نظر می گیرد. هر شی از خود داده، ابرداده (metadata) و یک شناسه منحصر به فرد (unique identifier) تشکیل شده است. برخلاف سیستم های فایل و ذخیره سازی بلوک (block storage) ، ذخیره سازی شی از سلسله مراتب یا مسیرهای ذخیره سازی ثابت استفاده نمی کند. در عوض، فضای ذخیره‌سازی بسیار مقیاس‌پذیر و توزیع‌شده را در چندین سرور فعال می‌کند و یک فضای آدرس مسطح را فراهم می‌کند که به راحتی می‌تواند به صورت افقی مقیاس‌بندی شود. Amazon S3 و Azure Blob Storage دو سرویس محبوب ذخیره سازی اشیاء مبتنی بر ابر هستند که برای ذخیره داده های بدون ساختار مانند اسناد، تصاویر، فیلم ها و نسخه های پشتیبان طراحی شده اند. آنها به دلیل دوام، مقیاس پذیری و مقرون به صرفه بودن، به طور گسترده برای برنامه های کاربردی در مقیاس وب، توزیع محتوا، دریاچه های داده و تجزیه و تحلیل داده های بزرگ استفاده می شوند.

برای درک بهتر شاید یک مثال (نباید به عنوان معیار قرار گیرد و فقط برای درک بهتر ارائه می‌گردد) با این عنوان مطرح شود که شما در حقیقت بر روی یک ساختار خیلی بزرگ ذخیره ساز یک فولدر در اختیار دارید که عملا هر اطلاعاتی دوست دارید می‌توانید بر روی آن قرار دهید. در ادامه بهتر است به بررسی قابلیت‌های این دو محصول بسیار پر استفاده بپردازیم.



قابلیت‌ها

Amazon S3 (Simple Storage Service)

  • ذخیره سازی مبتنی بر شی: آمازون S3 برای ذخیره و بازیابی هر مقدار داده در قالب اشیا (فایل) از طریق رابط وب سرویس طراحی شده است.
  • دوام: آمازون S3 یازده 9s (99.999999999٪) دوام را برای اشیاء ذخیره شده ارائه می دهد و از حفاظت و قابلیت اطمینان داده ها اطمینان می دهد.
  • نسخه‌سازی: S3 به شما امکان می‌دهد تا هر نسخه از هر شیء موجود در bucket خود را حفظ، بازیابی و بازیابی کنید، و امکان بازیابی آسان از اقدامات ناخواسته کاربر و خرابی برنامه‌ها را فراهم می‌کند.
  • اعلان‌های رویداد: Amazon SNS، Amazon SQS یا AWS Lambda را پیکربندی کنید تا در صورت وقوع رویدادهای مشخص، مانند ایجاد یا حذف شی، اعلان‌ها را دریافت کنید.
  • شتاب انتقال: با استفاده از مکان‌های لبه توزیع‌شده در سراسر جهان Amazon CloudFront، سرعت انتقال داده‌ها را به داخل و خارج از S3 افزایش دهید.
  • کنترل دسترسی: با خط‌مشی‌های bucket S3، فهرست‌های کنترل دسترسی (ACL) و خط‌مشی‌های مدیریت هویت و دسترسی AWS (IAM) مجوزهای گرانول را برای اشیا و bucket ها اعمال کنید.


Azure Blob Storage

  • قابلیت Block blobs: برای پخش و ذخیره اشیاء ابری، مانند اسناد، فایل‌های رسانه و نسخه‌های پشتیبان بهینه شده است.
  • قابلیت Page blobs: طراحی شده برای عملیات خواندن و نوشتن تصادفی، ایده آل برای فایل ها و پایگاه داده هارد دیسک مجازی (VHD).
  • قابلیت Append blobs: برای ثبت اطلاعات مفید است، زیرا اجازه می دهد تا داده های جدید را بدون تغییر محتوای اصلی به blob های موجود اضافه کنید.
  • لایه‌های ذخیره‌سازی: برای بهینه‌سازی هزینه‌ها بر اساس الگوهای دسترسی به داده، ردیف‌های ذخیره‌سازی داغ، خنک و بایگانی (hot, cool, archive storge) را ارائه می‌دهد.
  • عکس‌های فوری: برای تهیه نسخه پشتیبان و نسخه‌برداری آسان، عکس‌های لحظه‌ای از blob data ها ایجاد کنید.
  • کنترل دسترسی: از کنترل دسترسی مبتنی بر نقش Azure (role-based access control RBAC) و امضاهای دسترسی مشترک (shared access signatures SAS) برای مدیریت دسترسی به blob data های خود استفاده کنید.



کارایی

Amazon S3

  • ذخیره سازی S3 با تأخیر کم (معمولاً 100 میلی‌ثانیه) و عملکرد بالا ارائه می‌کند، که برای رسیدگی به حجم‌های کاری داده در مقیاس بزرگ طراحی شده است.
  • از Amazon S3 Select پشتیبانی می کند، که به شما امکان می دهد تنها زیر مجموعه ای از داده ها را از یک شی با استفاده از عبارات ساده SQL (simple SQL expressions) بازیابی کنید و عملکرد عملیات بازیابی داده ها را بهبود می بخشد.
  • S3 Transfer Acceleration با استفاده از مکان‌های لبه توزیع شده در سطح جهانی یا Amazon CloudFront، انتقال داده‌ها را سریع‌تر ممکن می‌سازد.

Azure Blob Storage

  • توان عملیاتی بالا و عملکرد کم تاخیر (معمولاً 10 میلی‌ثانیه برای لایه داغ و 15 میلی‌ثانیه برای لایه سرد) برای بارهای کاری مختلف ارائه می‌کند.
  • یک سطح عملکرد ممتاز را برای blob‌های بلوک ارائه می‌کند، که تأخیر بسیار کم (1 میلی‌ثانیه) و ذخیره‌سازی با توان بالا را ارائه می‌دهد.
  • Azure Data Lake Storage Gen2 امکان تجزیه و تحلیل پیشرفته روی داده‌های ذخیره‌سازی blob را با بهینه‌سازی برای حجم کاری داده‌های بزرگ فراهم می‌کند.



هزینه‌ها

Amazon S3

  • مدل پرداختی با هزینه‌های (Pay-as-you-go) مبتنی بر فضای ذخیره‌سازی (به ازای هر گیگابایت)، درخواست‌ها (به ازای هر 1000 درخواست) و انتقال داده (در هر گیگابایت).
  • گزینه های صرفه جویی اضافی مانند S3 Intelligent-Tiering، S3 One Zone-Infrequent Access و S3 Glacier را برای داده هایی که به ندرت به آنها دسترسی پیدا می کنید، ارائه می دهد.
  • هزینه‌های استفاده از S3 Select و S3 Transfer Acceleration بر اساس میزان داده‌های پردازش و انتقال‌یافته.

Azure Blob Storage

  • مدل پرداختی با هزینه‌های (Pay-as-you-go) مبتنی بر فضای ذخیره‌سازی (به ازای هر گیگابایت)، تراکنش‌ها (به ازای هر 10000 تراکنش) و انتقال داده (در هر گیگابایت).
  • سطوح مختلف ذخیره سازی (گرم، خنک و بایگانی) را با سطوح قیمت گذاری متفاوت بر اساس فرکانس دسترسی و حفظ داده ارائه می دهد.
  • هزینه بازیابی داده ها (به ازای هر گیگابایت) و حذف زودهنگام در ردیف های سرد و بایگانی، بر اساس حداقل مدت زمان ذخیره سازی مورد نیاز.



موارد استفاده

Amazon S3

  • پشتیبان گیری و ذخیره سازی بایگانی: S3 یک راه حل بسیار بادوام و مقرون به صرفه برای ذخیره سازی داده های پشتیبان و بایگانی با کلاس های ذخیره سازی مختلف، مانند S3 Glacier، که برای نگهداری طولانی مدت استفده می‌شود ارائه می دهد.
  • تجزیه و تحلیل داده های بزرگ: S3 با پشتیبانی از معماری data lake و ادغام با سرویس های تجزیه و تحلیل AWS مانند Amazon EMR و Amazon Redshift به عنوان یک راه حل ذخیره سازی مقیاس پذیر برای حجم های کاری تجزیه و تحلیل داده های بزرگ عمل می کند.
  • توزیع محتوا: Amazon S3 با Amazon CloudFront ادغام می شود تا محتوا را در سطح جهانی توزیع کند، تجربه کاربر را بهبود بخشد و تاخیر را کاهش دهد.
  • میزبانی وب سایت استاتیک: S3 می تواند میزبان وب سایت های ثابت باشد و راه حلی ساده و مقرون به صرفه برای استقرار برنامه ها و سایت های وب پایه ارائه می دهد.
  • ذخیره‌سازی دریاچه داده‌ها: S3 با دوام و مقیاس‌پذیری بالا، یک راه‌حل ذخیره‌سازی ایده‌آل برای ساخت دریاچه‌های داده و ذخیره حجم زیادی از داده‌های ساختاریافته و بدون ساختار است.

Azure Blob Storage

  • پشتیبان گیری و ذخیره سازی بایگانی: Azure Blob Storage راه حلی بسیار بادوام و مقرون به صرفه برای ذخیره سازی داده های پشتیبان و بایگانی با سطوح مختلف ذخیره سازی، مانند سرد و بایگانی، برای نگهداری طولانی مدت ارائه می دهد.
  • پخش رسانه و توزیع محتوا: Azure Blob Storage از پخش و توزیع انواع مختلف فایل های رسانه ای پشتیبانی می کند، با یکپارچه سازی با شبکه تحویل محتوای Azure (CDN) برای بهبود تجربه کاربر و کاهش تاخیر.
  • ذخیره سازی دیسک ماشین مجازی: blob page ها برای ذخیره فایل های VHD طراحی شده اند، و Azure Blob Storage را به گزینه ای مناسب برای ذخیره سازی دیسک ماشین مجازی تبدیل می کند.
  • ذخیره سازی data lake و تجزیه و تحلیل داده های بزرگ: Azure Data Lake Storage Gen2 امکان تجزیه و تحلیل پیشرفته بر روی داده های ذخیره سازی blobرا فراهم می کند و یک راه حل ذخیره سازی مقیاس پذیر برای حجم کاری داده های بزرگ ارائه می دهد.



پایان

در این مقاله سعی شده است که این دو موضوع مورد بررسی قرار گیرد. هرچند باید این نکته را در نظر گرفت که عمدتا سازمان‌ها بر اساس استفاده از زیرساخت فضای ابری خود یکی از این دو موارد را انتخاب می‌کنند. اما مشاهده می‌شود که در این دو مورد تقریبا هر دو زیرساخت فضای ابری گزینه‌های مشابه و قابلیت‌های نزدیک به هم را ارائه می‌دهند.

محمد جواد بگدلی متخصص و مدرس در زمینه شبکه‌های کامپیوتری، سرورها و سرویس‌ها. با بیش از پانزده سال سابقه کار در زمینه مدیریت شبکه‌های کامپیوتری.
شاید از این پست‌ها خوشتان بیاید