ذخیرهسازی S3 چیست؟
دادهها طلای دوران جدید هستند، اما تنها در صورتی که بدانیم چگونه آن را ذخیره کنیم، به آن دسترسی داشته باشیم و آن را مقیاسبندی کنیم. اینجاست که ذخیرهسازی S3 وارد عمل میشود. آمازون S3 به عنوان یک راهحل آبجکت استوریج (object storage) با مقیاسپذیری بالا ساخته و به سرعت به ستون فقرات برنامههای مدرن تبدیل شد. با دوام، سطوح ذخیرهسازی انعطافپذیر، ادغام روان API و توانایی مدیریت همه چیز از آموزش هوش مصنوعی گرفته تا وبسایتهای استاتیک، استاندارد را برای ذخیرهسازی ابری بالا برد.
بیایید بررسی کنیم که ذخیرهسازی S3 چیست، چرا بسیاری از تیمها به آن تکیه میکنند و جایگاه آن کجاست. اگر در ذخیرهسازی ابری تازهکار هستید یا فقط در حال یادگیری هستید، چیزهای زیادی برای باز کردن وجود دارد. پس بیایید به آن بپردازیم!
ذخیرهسازی S3 چیست؟
آمازون S3 (برگرفته از Simple Storage Service) ذخیرهسازی ابری در مقیاس صنعتی است. این سیستم برای مدیریت همه چیز، از بکاپگیریهای شخصی گرفته تا دریاچههای داده چند پتابایتی، ساخته شده است.
هنگامی که در سال ۲۰۰۶ راهاندازی شد، S3 فقط ذخیرهسازی در ابر را ارائه نمیداد. این سیستم نحوه عملکرد ذخیرهسازی را از نو تعریف کرد. به عنوان اولین سرویس AWS، به سرعت به پایه و اساس زیرساخت ابری مدرن تبدیل شد.
برخلاف فایل سیستمهای سنتی، Amazon S3 از یک namespace مسطح استفاده میکند. دادهها را به صورت اشیاء ذخیره نموده که هر کدام با متادیتا و یک کلید منحصر به فرد در داخل یک سطل (bucket) پیچیده شدهاند. اگرچه میتواند مانند پوشهها به نظر برسد، اما یک مخزن key-value با کارایی بالا است که برای مقیاسپذیری گسترده و دسترسی سریع ساخته شده است.
چرا مهم است؟ این مدل همه چیز را از بازیابی لحظهای تا دریاچههای داده چند پتابایتی، بدون سربار فایل سیستمهای قدیمی، پشتیبانی میکند.
نحوه کار
ذخیرهسازی S3 برای انعطافپذیری در مقیاس مهندسی شده است. لحظهای که یک شئی را آپلود میکنید، S3 بیصدا آن را در چندین منطقه دسترسی کپی میکند که هر کدام از نظر فیزیکی جدا هستند. به همین دلیل است که S3 دوام 11 nines را ارائه میدهد. سختافزار از کار میافتد. مناطق از کار میافتند. دادههای شما باقی میمانند.
معنی 11 nines چیست؟
11 nines یا یازده 9 به معنای پایداری است و به احتمال ۹۹.۹۹۹۹۹۹۹۹۹۹٪ اشاره دارد که دادههای شما از بین نمیروند. با 11 nines ، میتوانید ۱۰ میلیون شئی را ذخیره کنید و از نظر آماری فقط یکی را در هر ۱۰۰۰۰ سال از دست میدهید. این سیستم طوری مهندسی شده است که تقریبا هرگز از کار نمیافتد.
از نظر طراحی، تمام تعاملات مبتنی بر API است. چه در حال انتقال پتابایتها باشید و چه یک فایل لاگ، این کار از طریق REST endpoints ، SDKهای AWS یا رابط خط فرمان (CLI) انجام میشود.
و S3 فقط آنجا نمیماند. رویدادها را فعال میکند. یک فایل را آپلود کنید؟ میتواند یک تابع Lambda را اجرا کند. یک شئی را حذف کنید؟ یک فرآیند پاییندستی را راهاندازی کنید. اتوماسیون در زمان واقعی در آن گنجانده شده است.
کلاسهای ذخیرهسازی S3
AWS شش کلاس ذخیرهسازی ارائه میدهد و هر کدام برای الگوهای دسترسی مختلف و ملاحظات هزینهای تنظیم شدهاند.
در این بخش یک مرور سریع آورده شده است:
- S3 Standard – مرجع برای دادههایی که مدام به آنها دسترسی دارید. سریع، با دسترسی بالا و ایدهآل برای محتوای فعال مانند وبسایتها، برنامهها و streaming assets
- S3 Standard-IA (دسترسی نادر) – برای فایلهایی که به سرعت به آنها نیاز دارید اما زیاد به آنها دست نمیزنید، مانند گزارشهای ماهانه یا اسنپ شات پشتیبان. سرعتی مشابه Standard دارد، اما فضای ذخیرهسازی ارزانتر و هزینههای بازیابی بالاتری دارد.
- S3 Intelligent-Tiering – برای حجم کاری غیرقابل پیشبینی. دادهها را به طور خودکار بین لایههای مکرر و نادر بدون افت عملکرد جابجا میکند. برای دادههایی با الگوهای دسترسی متغیر عالی است.
- S3 One Zone-IA – مانند Standard-IA، اما در یک منطقه دسترسی واحد ذخیره میشود. ارزانتر، اما با افزونگی کمتر. بهترین گزینه برای نسخههای قابل ایجاد مجدد یا ثانویه.
- S3 Glacier – بایگانی طولانی مدت با زمان بازیابی از چند دقیقه تا چند ساعت. ایدهآل برای بایگانیهای انطباق و دادههایی که به ندرت به آنها نیاز دارید.
- S3 Glacier Deep Archive – ارزانترین گزینه، ساخته شده برای ذخیرهسازی سرد(cold storage). بازیابی میتواند تا ۱۲ ساعت طول بکشد. از آن برای دادههایی استفاده کنید که ممکن است روزی به آنها نیاز داشته باشید اما احتمالا نیازی به آنها نخواهید داشت.
چرا از Amazon S3 استفاده کنیم؟
امروزه بیش از صد تریلیون شئی در S3 ذخیره میشوند و دلیل خوبی هم دارد، این سرویس به نقطه مطلوب بین مقیاس، عملکرد و هزینه میرسد. در ادامه خواهید فهمید که چرا S3 انتخاب پیشفرض برای ذخیرهسازی ابری است.
قیمتگذاری مقیاسپذیر و چند مرحلهای
سختافزار حجیم و موارد اضافی غیرضروری را کنار بگذارید. S3 با دادههای شما مقیاسپذیر میشود، نه با بودجه شما. از ۱۰ ترابایت تا ۱۰۰ پتابایت، مدل pay-as-you-go به این معنی است که شما فقط برای آنچه استفاده میکنید، هزینه میکنید.
اگر به دسترسی سریع نیاز دارید، Standard را انتخاب کنید. آیا دادههای سرد دارید؟ IA و One Zone-IA شما را پوشش میدهند. آیا برای مدت طولانی بایگانی میکنید؟ Glacier Deep Archive آن را با حداقل ۰.۰۰۰۹۹ دلار برای هر گیگابایت ارائه میدهد.
ساخته شده برای عملکرد در مقیاس
Amazon S3 به گونهای طراحی شده است که به راحتی حجم کاری سنگین را مدیریت کند. اگر به درستی تنظیم شود، میتواند میلیونها درخواست در ثانیه را مدیریت کند. این سرویس به عنوان پایه و اساس همه چیز، از تجزیه و تحلیلهای بلادرنگ در مقیاس بزرگ گرفته تا سرویسهای پخش جریانی، عمل میکند.
آپلودهای چند قسمتی و خواندن موازی، جریان داده شما را تقویت میکنند، در حالی که S3 Select به شما امکان میدهد دقیقا آنچه را که نیاز دارید از فایلهای عظیم استخراج کنید. نیازی به دانلود کامل نیست.
به سرعت جهانی (global) نیاز دارید؟ آن را با Amazon CloudFront جفت کنید تا محتوا را در نزدیکی کاربران خود ذخیره کنید و عملکرد را در سراسر جهان سریع نگه دارید. جای تعجب نیست که Netflix برای پخش محتوا به بیش از ۱۰۰ میلیون کاربر در سراسر جهان به S3 متکی است.
امنیت در سطح سازمانی، بدون هیچ گونه مصالحه
آمازون S3 دادههای شما را تقویت میکند. همه چیز در حالت سکون با کلیدهای مدیریتشده توسط AES-256 یا AWS KMS رمزگذاری شده و در حین انتقال از طریق TLS محافظت میشود. شما کنترل دسترسی دقیقی با سیاستهای IAM، ACLهای سطلی، مسدود کردن دسترسی عمومی و حتی حذف چند عاملی برای کنترل اشتباهات و نقضها دریافت میکنید.
اگر حتی میخواهید بیشتر پیش بروید، گزارشهای دسترسی S3 میتوانند به شما در نظارت و بهینهسازی نحوه استفاده از دادهها کمک کنند تا تصویری واضح از اینکه چه کسی به چه چیزی و چه زمانی دسترسی داشته است، به شما ارائه دهند.
به دنبال انطباق هستید؟ S3 شما را پوشش میدهد. میتوانید از HIPAA و PCI-DSS گرفته تا SOC 2 و GDPR روی آن حساب کنید. به علاوه، به طور یکپارچه با ابزارهای سنگین AWS مانند GuardDuty برای تشخیص تهدید در زمان واقعی، CloudTrail برای حسابرسی کامل و Config برای ردیابی انطباق ادغام میشود.
این فقط امنیت نیست. این سرویس در سطح سازمانی است و مورد اعتماد ۹۰٪ از شرکتهای Fortune 100 میباشد.
دسترسی جهانی
بهترین نکته در مورد Amazon S3 این است که میتوانید از هر منطقه AWS به آن دسترسی داشته باشید. هیچ نگرانی در مورد زیرساخت ندارید. هیچ آرایه RAID برای نظارت، هیچ دیسکی برای جایگزینی و هیچ مشکل مقیاسبندی وجود ندارد.
به لطف Amazon CloudFront و تکثیر بین منطقهای، دادههای شما همیشه برای کاربرانتان در دسترس است. توزیع رسانه، پشتیبانگیری و داراییهای استاتیک در سراسر جهان ساده شده است.
ادغام یکپارچه در سراسر AWS
Amazon S3 ستون فقرات اکوسیستم AWS است. با ادغام عمیق در بیش از ۲۰۰ سرویس AWS، به یک مرکز مرکزی برای همه چیز، از تجزیه و تحلیل گرفته تا اتوماسیون، تبدیل میشود.
اجرای پرسوجوها با Athena. راهاندازی خطوط لوله یادگیری ماشین در SageMaker. راهاندازی توابع Lambda. کاتالوگ با Glue. تجزیه و تحلیل در مقیاس در Redshift. چه در حال ذخیره گزارشها برای CloudTrail باشید و چه در حال گرفتن عکسهای فوری برای EC2، همه چیز کاملاً با S3 هماهنگ میشود.
موارد استفاده از ذخیرهسازی S3
S3 میتواند تقریبا هر کاری را که به آن محول کنید، انجام دهد. چه بخواهید از دادههای خود بکاپ تهیه کنید، چه مدلهای هوش مصنوعی را آموزش دهید یا برنامهها را در مقیاس بزرگ اجرا کنید، S3 موتور ذخیرهسازی است که backend را هدایت میکند.
بیایید نگاهی به نحوه استفاده صنایع و بارهای کاری مختلف از آن در دنیای واقعی بیندازیم:
بکاپگیری و بایگانی دادهها
وقتی صحبت از ذخیرهسازی بلندمدت میشود، S3 برای نگهداری، انطباق و مقیاس گسترده ساخته شده است. سرویسهایی مانند S3 Glacier و S3 Glacier Deep Archive ذخیرهسازی بسیار کمهزینهای ارائه میدهند که آنها را برای پشتیبانگیریهایی که ممکن است هرگز لمس نشوند اما هرگز نباید از بین بروند، ایدهآل میکند.
سیاستهای چرخه عمر به طور خودکار دادهها را بر اساس فرکانس دسترسی بین کلاسهای ذخیرهسازی جابجا میکنند، بنابراین تیمها مجبور نیستند میزان استفاده را به طور جزئی مدیریت کنند. S3 Object Lock تغییرناپذیری در سطح انطباق را اضافه میکند و آن را به یک راهحل کاربردی برای صنایع تحت نظارت تبدیل میکند.
مثال: NASDAQ روزانه بیش از 70 میلیارد رکورد را با استفاده از S3 بایگانی میکند و هزینههای بایگانی را 60٪ کاهش میدهد و در عین حال کاملا با مقررات SEC مطابقت دارد.
کلان داده و تجزیه و تحلیل
S3 موتور محرک تجزیه و تحلیل در مقیاس سازمانی است. چه با دادههای ساختاریافته، نیمه ساختاریافته یا بدون ساختار کار کنید، S3 میتواند همه آنها را مدیریت کند.
اکنون، با ابزارهایی مانند Amazon Athena، میتوانید پرسوجوهای SQL را مستقیم روی دادههای خود در S3 اجرا کنید. بدون بارگذاری پایگاه داده، بدون انتظار.
به پردازش سنگین یا گردشهای کاری ETL نیاز دارید؟ S3 با AWS Glue، EMR و Redshift نیز به خوبی کار میکند. به علاوه، اگر با چالشهای مصرف در مقیاس بزرگ مواجه هستید، ایجاد یک لایه مصرف بدون وضعیت با S3 و SQS میتواند مقیاسپذیری زیادی را بدون دردسرهای معمول ایجاد کند.
فقط از GE Aviation بپرسید. آنها هر هفته با استفاده از S3 بیش از 20 میلیارد رویداد حسگر را بررسی میکنند. این امر منجر به کاهش 25 درصدی زمان از کار افتادن هواپیما توسط تعمیر و نگهداری پیشبینیکننده شد.
میزبانی برنامههای کاربردی و وبسایتهای استاتیک
سرورهای وب را فراموش کنید. S3 میتواند وبسایتهای استاتیک را بدون زیرساخت بکاند میزبانی کند و وقتی با CloudFront جفت میشود، محتوای جهانی را با سرعت فوقالعادهای ارائه میدهد. این پلتفرم از دامنههای سفارشی، گواهینامههای SSL و مسیریابی هوشمند پشتیبانی میکند، در حالی که ۹۹.۹۹٪ در دسترس بودن را ارائه میدهد.
Airbnb از این پشته برای ارائه داراییها به میلیونها کاربر استفاده کرد و زمان بارگذاری داراییهای جهانی را حتی در زمان اوج ترافیک سنگین تا ۵۰٪ کاهش داد.
ذخیرهسازی و توزیع رسانه
اگر با فایلهای ویدیویی، صوتی یا تصویری حجیم کار میکنید، S3 برای شما عالی است. این پلتفرم با ادغام داخلی برای ابزارهای AWS مانند MediaConvert برای تبدیل کد، Transcribe برای تبدیل گفتار به متن و Rekognition برای تجزیه و تحلیل بصری قدرتمند، توان عملیاتی و مقیاس فوقالعادهای را ارائه میدهد.
به عنوان مثال، PBS را در نظر بگیرید. آنها بیش از ۱۰۰۰۰۰ ساعت محتوای HD را به S3 منتقل کردند، زمان تحویل را ۳۰٪ کاهش دادند، هزینههای ذخیرهسازی اولیه را ۴۰٪ کاهش دادند و همچنان بدون هیچ زحمتی از میلیونها بیننده به طور همزمان پشتیبانی کردند.
یادگیری ماشین و هوش مصنوعی
S3 به طور خاص برای حجم کاری هوش مصنوعی که نیاز به مجموعه دادههای عظیم و قابل دسترس دارند، ساخته شده است. دانشمندان داده میتوانند مجموعههای آموزشی را مستقیم به SageMaker تغذیه کنند یا خطوط لوله یادگیری ماشین سفارشی را با استفاده از نمونههای GPU EC2، با S3 به عنوان مرکز ذخیرهسازی مرکزی، راهاندازی کنند.
هر شیء را میتوان نسخهبندی، رمزگذاری و از طریق برنامهنویسی به آن دسترسی داشت. فرمول ۱ برای مدیریت ترابایتها از دادههای تلهمتری بلادرنگ به S3 متکی است و مدلهای یادگیری ماشین را که دقت استراتژی مسابقه را تا ۳۰٪ افزایش دادهاند، تقویت میکند.
تحویل نرمافزار و DevOps
S3 یک مخزن با دسترسی بالا برای استقرار داراییها، گزارشها و کانتینرها و همچنین ساخت مصنوعات است. این مخزن به صورت بومی با سرویسهایی مانند AWS CodePipeline، CodeBuild و CodeDeploy ادغام میشود و گردشهای کاری CI/CD کاملا خودکار را امکانپذیر میسازد.
اکسپدیا از S3 برای هماهنگی استقرارها در بیش از 300 میکروسرویس استفاده میکند، زمان انتشار را 50٪ کاهش میدهد و حوادث بازگشت به عقب را 35٪ کاهش میدهد.
چالشها و محدودیتهای ذخیرهسازی S3
S3 قدرتمند است، اما دارای لبههای تیزی است. نادیده گرفتن آنها به معنای واقعی کلمه برای شما هزینه خواهد داشت.
اول از همه: هزینههای بازیابی دادهها. مطمئنا، Glacier و Deep Archive ارزان به نظر میرسند، تا زمانی که بخواهید دادههای خود را برگردانید. این زمانی است که متر شروع به کار میکند. زمان بازیابی از چند دقیقه تا چند ساعت متغیر است و هر ردیف قیمتگذاری خاص خود را دارد.
به خروج توجه داشته باشید. پس از ردیف رایگان، انتقال دادهها از S3 به اینترنت 0.09 دلار برای هر گیگابایت هزینه دارد که به سرعت افزایش مییابد. این یک قاتل خاموش بودجه است.
سپس، تاخیر وجود دارد. S3 برای توان عملیاتی ساخته شده است، نه سرعت لحظهای. برای اکثر برنامهها، چند میلیثانیه اینجا و آنجا مهم نیست. اما اگر در تاخیر برایتان اهمیت دارد (داشبوردهای زنده یا معاملات الگوریتمی)، حتی یک میلیثانیه میتواند مانند برخورد با یک دستانداز در سرعت ۸۰ مایل در ساعت باشد.
در مورد پیچیدگی هزینه چطور؟ قیمتگذاری S3 تا زمانی که ساده به نظر نرسد، ساده به نظر میرسد. شما برای ذخیرهسازی، درخواستها، انتقال چرخه عمر و انتقال دادهها هزینه دریافت میکنید. و اگر میلیونها فایل کوچک یا افزایش ناگهانی در تماسهای API داشته باشید، هزینههای شما میتواند به سرعت سر به فلک بکشد. اگر چند پیکربندی اشتباه داشته باشید، صورتحساب شما مانند یک دفترچه تلفن خواهد بود.
S3 همچنین سیستم فایل معمولی شما نیست. بدون ساختار پوشه، بدون انطباق با POSIX و بدون قفل فایل. میتوانید پوشهها را با استفاده از پیشوندها شبیهسازی کنید، اما هنوز فقط یک فروشگاه شیء مسطح است. برنامههایی که برای سیستمهای فایل درون سازمانی ساخته شدهاند، به راهحل نیاز دارند.
و بله، وابستگی به فروشنده واقعی است. رابط برنامهنویسی کاربردی S3 اکنون استاندارد ذخیرهسازی ابری است که تا زمانی که سعی در ترک آن نکنید، عالی است. مهاجرت مجموعه دادههای بزرگ به ارائهدهنده دیگر، حتی ارائهدهندهای با نقاط پایانی سازگار با S3 مانند Wasabi یا MinIO همیشه یکپارچه نیست. هرچه ادغامهای شما عمیقتر شود، خروج پیچیدهتر میشود.
سرور اختصاصی ایران سخت افزاری است که تمام قدرت پردازشی، حافظه، پهنای باند و دیسک آن ماشین متعلق به کاربر است.
خرید سرور اختصاصی با قابلیت نصب مجازی ساز Proxmox یا ESXI به دلخواه کاربر به صورت رایگان
بهترین شیوهها و نکات بهینهسازی
S3 قدرتمند است، اما پیکربندی نوآورانه آن را به یک دستگاه با کارایی بالا و مقرونبهصرفه تبدیل میکند. در اینجا هفت شیوه برتر که تغییر ایجاد میکنند، آورده شده است:
1. از کلاس ذخیرهسازی مناسب استفاده کنید: فقط به استاندارد S3 اکتفا نکنید. برای بارهای کاری غیرقابل پیشبینی از Intelligent-Tiering استفاده کنید. این روش به طور خودکار دادههای سرد را به لایههای ارزانتر منتقل میکند. Glacier و Deep Archive برای ذخیرهسازی طولانیمدت با هزینه کمتر از 1 دلار در هر ترابایت در ماه ایدهآل هستند.
2. سیاستهای چرخه عمر را تنظیم کنید: سطلهای خود را کوچک نگه دارید. انتقال به کلاسهای کمهزینهتر را خودکار کنید یا دادههای قدیمی را با قوانین چرخه عمر حذف کنید. این سادهترین راه برای کاهش هزینههای ذخیرهسازی بدون هیچ زحمتی است.
۳. بهینهسازی آپلودهای بزرگ: از آپلودهای چند قسمتی برای فایلهای بالای ۱۰۰ مگابایت استفاده کنید. این کار سرعت را افزایش میدهد، در صورت قطع شدن امکان بازیابی را فراهم میکند و با مجموعه دادههای بزرگ به خوبی کار میکند. شتاب انتقال S3 را برای افزایش سرعت آپلود بین منطقهای با استفاده از شبکه جهانی لبه AWS اضافه کنید.
۴. قفل کردن امنیت: همه چیز را رمزگذاری کنید. SSE-S3 یا SSE-KMS باید پیشفرض شما باشند. نقشهای IAM سختگیرانه، سیاستهای سطل داده و دسترسی عمومی را به طور پیشفرض مسدود کنید. برای بارهای کاری حساس، از MFA Delete برای محافظت در برابر حذفهای تصادفی یا غیرمجاز استفاده کنید.
۵. نظارت و هشدار: لنز ذخیرهسازی S3 را روشن کنید و هشدارهای CloudWatch را تنظیم کنید. تعداد اشیاء، الگوهای دسترسی و ناهنجاریهای هزینه را قبل از تبدیل شدن به فاجعههای صورتحساب پیگیری کنید. بینش بهترین دفاع شماست.
۶. از نسخهبندی سوءاستفاده نکنید: نسخهبندی به بازیابی فایلهای رونویسی شده یا حذف شده کمک میکند، اما یک طرح پشتیبان نیست. آن را با MFA Delete ترکیب کنید یا از Object Lock برای محافظت در سطح نظارتی با اجرای WORM استفاده کنید.
۷. خودکارسازی: S3 وقتی بدون دخالت دست میدرخشد. از اعلانهای رویداد برای فعال کردن توابع AWS Lambda، خودکارسازی گردشهای کاری یا شروع کارهای پردازشی استفاده کنید. با فضای ذخیرهسازی خود مانند یک زیرساخت رفتار کنید، نه یک لیست کارهای دستی.
نتیجهگیری
Amazon S3 چیزی بیش از هر فضای ذخیرهسازی دیگری است. این فضای ذخیرهسازی ستون فقرات فضای ابری مدرن است. S3 بکاپگیری، دریاچههای داده، حجم کار هوش مصنوعی، سایتهای استاتیک و تحویل محتوای جهانی را پشتیبانی میکند. با ۱۱ نه برابر دوام و مقیاس تقریبا نامحدود، برای مدیریت هر چیزی ساخته شده است.
اما قدرت خام نیاز به مدیریت هوشمندانه دارد. بدون کلاسهای ذخیرهسازی بهینه، قوانین چرخه عمر خودکار و کنترلهای دسترسی دقیق، عملکرد را از دست میدهید و پول را از دست میدهید.