تنها تفاوتی که مهاجرت شما را تعیین میکند
Azure Blob Storage یک API خودش را دارد، با SDKهای خودش، authentication خودش و مفاهیم خودش — containerها بهجای bucketها، blobها بهجای objectها. ذخیرهسازی آبجکت ما به زبان S3 API صحبت میکند، که همان رابطی است که تقریباً هر ابزار دیگری در اکوسیستم از قبل پیادهسازی کرده.
آن همان کار واقعی در یک مهاجرت است، و ارزش دارد صریح باشیم: اگر اپلیکیشن شما از طریق Azure SDK با Blob صحبت میکند، آن لایه را تغییر خواهید داد. اگر از طریق یک compatibility shim با Blob صحبت میکند، یا اگر هنوز در حال انتخاب هستید، شما فقط دارید رابطی را انتخاب میکنید که ابزار بیشتری دورش هست — aws-cli، mc، rclone، boto3، s3cmd و هر ابزار backupای که تا حالا یک هدف S3 رشد داده.
هر چیز دیگر — انتظارات durability، آبجکتهای عمومی یا خصوصی، عادتهای lifecycle — از نظر مفهومی منتقل میشود. API همان تصمیم است.
جایی که داده قرار میگیرد انتخاب خودتان است
Azure از شما میخواهد یک منطقه انتخاب کنید، و بسته به اینکه کدام را انتخاب میکنید، داده ممکن است بیرون از حوزهٔ قضاییای که تیم حقوقی شما به آن اهمیت میدهد قرار گیرد. سؤال اینجا هم یکسان است، و پاسخ هم همینطور: شما کشور یا منطقهای را که دادهتان در آن ذخیره میشود انتخاب میکنید. ما نودهای ذخیرهسازی در ترکیه، اروپا و ایالات متحده اجرا میکنیم، و bucketهای شما جایی که نیازشان دارید قرار میگیرند، نه هر جایی که اولین دیتاسنتر ما اتفاقاً بوده.
آن انتخاب معمولاً توسط دو نیاز متفاوت هدایت میشود، و آنها به جهتهای مخالف میکشند. Compliance داده را در یک حوزهٔ قضایی خاص میخواهد — برای یک شرکت ترکی که به KVKK پاسخ میدهد، «در ترکیه» پاسخی بسیار کوتاهتر از یک پاراگراف دربارهٔ مکانیزمهای انتقال است. تأخیر (latency) داده را نزدیک افرادی که آن را میخوانند میخواهد. لازم نیست هر دو را در لایهٔ ذخیرهسازی حل کنید: آبجکتها را جایی بگذارید که compliance لازم دارد، بعد بگذارید CDN آنهایی را که عمومیاند از نزدیکترین edge به بازدیدکننده سرویس دهد.
اگر یک الزام حوزهٔ قضایی دارید، پیش از شروع آپلود به ما بگویید — گذاشتن یک bucket در منطقهٔ درست در روز اول هیچ هزینهای ندارد، و جابهجایی ترابایتها بعداً رایگان نیست.
یک CDN جلوی bucket، از همان پنل
روی Azure، storage account و پروفایل CDN دو محصول جدا هستند که خودتان به هم سیمکشی میکنید. اینجا bucket و CDN همان یک حساباند: یک هاستنیم را به bucket اشاره میدهید، برای مسیرهایی که لایقشاند قواعد cache تنظیم میکنید، و دقیقاً مثل هر origin دیگری purge میکنید — از پنل، API یا CLI.
این بیشتر از همه برای موارد کسلکننده اهمیت دارد. یک تصویر محصول که تغییر میکند بر اساس مسیر purge میشود. یک پوشهٔ کامل بر اساس prefix purge میشود. cache key همان چیزی است که قانونهای تحویل شما از قبل تعریف کردهاند، پس هیچ مدل ذهنی دومی برای «CDN ذخیرهسازی» وجود ندارد.
قیمتگذاریای که بدون ماشینحساب میتوانید بخوانید
فاکتورهای cloud storage معمولاً تکهتکه میرسند: ذخیرهسازی، بعد egress، بعد عملیات، بعد یک خط جدا برای CDN جلویش. تکهها بهتنهایی کوچکاند و باهم غافلگیرکننده.
اینجا ذخیرهسازی و تحویل از یک pool ماهانهٔ واحد میکشند — ترافیکی که سرویس میدهید و ذخیرهسازیای که نگه میدارید باهم در برابر پلنی که خریدهاید شمرده میشوند، و قیمت به لیر ترکیه روی یک فاکتور ترکی است. ما جدول مقایسهای در برابر نرخهای فعلی Azure منتشر نمیکنیم، چون آن نرخها تغییر میکنند و یک جدول قدیمی روی صفحهٔ یک فروشنده بدتر از هیچی است. فاکتور Azure خودتان را برای این ماه بررسی کنید، بعد به صفحهٔ پلن اینجا نگاه کنید؛ آن مقایسه تنها مقایسهای است که ارزش اعتمادکردن دارد.
Azure چه چیزی دارد که ما نداریم
یک صفحهٔ مقایسهٔ صادقانه باید این بخش را هم داشته باشد.
Azure دهها منطقه در سراسر جهان به شما میدهد و ما نمیدهیم؛ ما ذخیرهسازی در ترکیه، اروپا و ایالات متحده ارائه میکنیم، که اکثر نیازها را پوشش میدهد نه همهشان را. Azure لایههای archive و cool با اقتصاد خودشان دارد؛ ذخیرهسازی ما یک لایه است. Azure درون یک اکوسیستم نشسته که در آن blob storage یک بلوک سازنده برای دهها سرویس دیگر Azure است؛ اگر معماری شما به آنها تکیه دارد، ترککردن یعنی بازکردن چیزی بیش از ذخیرهسازی.
دلیل جابهجایی خاص است نه همگانی: شما S3 API میخواهید، میخواهید حوزهٔ قضایی را انتخاب کنید و برایش یک فاکتور ترکی بگیرید، میخواهید CDN و bucket باهم مدیریت شوند، و به اکوسیستم اطرافش نیاز ندارید. اگر این مورد شما نیست، ماندن روی Azure پاسخ منطقیای است و ما ترجیح میدهیم همین را بگوییم تا اینکه یک مهاجرت به شما بفروشیم.
سؤالات متداول درباره جایگزین Azure Blob
آیا ذخیرهسازی شما از نظر API با Azure Blob سازگار است؟
نه، و هیچ ارائهدهندهٔ سازگار با S3ای هم نیست. Blob یک API مال خودش دارد. مال ما S3 API را پیادهسازی میکند، پس کار مهاجرت در همان لایهای از اپلیکیشن شماست که با ذخیرهسازی صحبت میکند. ابزارهایی که از قبل به زبان S3 صحبت میکنند — aws-cli، rclone، mc، boto3 — بدون تغییر کار میکنند.
چگونه دادههای موجود را منتقل کنم؟
rclone مسیر معمول است: هم به Azure Blob و هم به S3 صحبت میکند، پس یک کار کپی منفرد یک container را به یک bucket منتقل میکند. برای مجموعههای بزرگ، آن را از ماشینی با اتصالپذیری خوب به هر دو سر اجرا کنید و بعداً با یک عبور checksum تأیید کنید.
آیا میتوانم دامنهٔ خودم را روی فایلها نگه دارم؟
بله. یک هاستنیم را از طریق CDN به bucket اشاره دهید و آدرسهای عمومی بهجای یک دامنهٔ ذخیرهسازی متعلق به ارائهدهنده، روی دامنهٔ خودتان با SSL خودکار میمانند.
داده فیزیکاً کجا ذخیره میشود؟
جایی که انتخاب میکنید. ما در ترکیه، اروپا و ایالات متحده ذخیرهسازی داریم، و یک bucket در منطقهای که میخواهید قرار میگیرد. برای یک شرکت ترکی این معمولاً یعنی ترکیه، چون یک سؤال KVKK را بهجای یک توضیح، به یک مکان تبدیل میکند — اما اگر کاربران یا حسابرسهای شما جای دیگری هستند، وقتی حساب را راهاندازی میکنید بگویید.
برای هزینههای egress چه اتفاقی میافتد؟
ترافیکی که سرویس میدهید بهجای رسیدن بهعنوان یک خط egress جدا، در برابر همان pool ماهانهای که بقیهٔ تحویل شما هست شمرده میشود. اگر اکثر آبجکتهای شما عمومی و در edge cache شدهاند، گرفتن از origin یکبار اتفاق میافتد و ترافیک تکراری از edge سرویس داده میشود.