تو دنیای AWS، یکی از بخشهای مهم برای هر Cloud Practitioner موضوع «مهاجرت و انتقال» دادهها و سیستمهاست. تو این فصل، دربارۀ تکنولوژیها و سرویسهایی صحبت میکنیم که کمک میکنن دیتامون رو بهسرعت و با کمترین دردسر به محیط ابری انتقال بدیم. اگه درست و اصولی انجامش بدیم، هم هزینۀ نگهداری زیرساخت کم میشه و هم کسبوکارمون سریعتر و چابکتر پیش میره. حالا قراره یه دید کلی از این سرویسها و روشها بگیریم تا هر وقت احتیاج داشتیم، بتونیم برای انتقال پروژهها و دادههامون ازشون بهترین استفاده رو داشته باشیم.
تصور کنید که حجم زیادی از دادهها، مثلاً بیش از 10 ترابایت یا بیشتر، در دیتاسنتر خودتون ذخیره کردید و قصد دارید این دادهها رو به عنوان بخشی از مهاجرت به فضای ابری، به AWS منتقل کنید. انتقال این حجم از دادهها از طریق اینترنت، ممکنه زمان زیادی ببره یا حتی باعث اختلال تو شبکه بشه، اینجاست که خانواده AWS Snow به کمک ما میاد.
خانواده Snow شامل دستگاههای فیزیکی هست که برای انتقال امن و کارآمد دادهها به AWS طراحی شدن.
این دستگاهها زمانی به کار میان که پهنای باند شبکه شما برای انتقال آنلاین کارآمد نباشه؛ چه به دلیل زیاد بودن حجم داده و چه به خاطر ناپایدار بودن شبکهای که در اون کار میکنید.
اینجا با ابزارهای مهم AWS برای مهاجرت دیتابیسها آشنا میشیم، که دو ابزار اصلی AWS Database Migration Service (DMS) و AWS Schema Conversion Tool (SCT) هستن.
سرویس Database Migration Service، که به اختصار DMS هم گفته میشه، ابزاریه که برای مهاجرت دیتابیسها و بارهای تحلیلی به AWS استفاده میشه. این بارهای کاری میتونن روی سیستمهای on premise (دیتاسنتر محلی)، روی EC2 یا حتی در RDS باشن.
فرض کنید یه دیتابیس Oracle دارین که ممکنه در دیتاسنتر شما یا روی EC2 اجرا بشه. با استفاده از DMS، میتونید این دیتابیس رو به سرویس RDS for Oracle منتقل کنید، که یه دیتابیس کاملا مدیریتشده Oracle در AWS هست. اما اگر بخواید اصلا از Oracle استفاده نکنید و بخواید به یه نوع دیتابیس دیگه مهاجرت کنید، اینجاست که AWS Schema Conversion Tool (SCT) به کمک شما میاد.
سرویس SCT ابزاریه که به شما اجازه میده اسکیمای دیتابیس رو از یه نوع دیتابیس به نوع دیگهای تبدیل کنید.
برای مثال، فرض کنید دیتابیس اصلی شما Oracle هست. با استفاده از SCT، میتونید این دادهها رو به اسکیمای دیگهای مثل AWS Aurora for MySQL منتقل و تبدیل کنید.
در واقع سرویس AWS Transfer Family به ما امکان انتقال فایلها به AWS را میدهد. بیایید با یک مثال شروع کنیم. فرض کنید گروهی از شرکا، مثل مشتریان یا طرفهای خارجی که با شما همکاری میکنند، نیاز دارن فایلهایی رو مستقیماً به AWS شما منتقل کنن و این فایلها رو در فضای ذخیرهسازی AWS شما ذخیره کنن. برای این کار، به یه راهکار انتقال فایل نیاز دارید، و این دقیقاً همون چیزیه که AWS Transfer Family فراهم میکنه.
با استفاده از AWS Transfer Family، میتونید انتقال فایل بین کسبوکارها (B2B) رو با استفاده از پروتکلهای مختلفی انجام بدید، از جمله SFTP، AS2، FTPS و FTP. این فایلها میتونن به AWS منتقل بشن یا از AWS به خارج ارسال بشن و برای ذخیره میتونن از S3 یا EFS استفاده کنن.
برای مثال، تصور کنید توی یه بانک سرمایهگذاری کار میکنید و هر روز از چندین شریک مختلف دادهها و گزارشهایی در مورد فعالیتهای بازار سهام دریافت میکنید. AWS Transfer Family میتونه راهکار ایدهآلی برای مدیریت این انتقال فایلها باشه. در این مثال، شرکا از SFTP PUT استفاده میکنن تا فایلها رو به مقصدی دور ارسال کنن که در واقع همون فضای ذخیرهسازی S3 یا EFS ماست.
مزیت اصلی استفاده از Transfer Family اینه که نیازی نیست شما راهکار انتقال فایل امنی رو به تنهایی بسازید و مدیریت کنید؛ AWS این مسئولیت رو به عهده میگیره. این سرویس به صورت پایدار و مقیاسپذیر ارائه میشه، و میتونید از ابزارهای انتقال فایل موجود مثل WinSCP، FileZilla، CyberDuck، LFTP و OpenSSH هم استفاده کنید.
فرض کنید 500 ترابایت داده دارید که میخواید از طریق شبکه به AWS منتقل کنید. این دادهها ممکنه در دیتاسنتر شما، در سرویسهای ابری دیگه، یا حتی در سرویسهای ذخیرهسازی AWS در حسابها یا مناطق دیگهای ذخیره شده باشن. هدف شما اینه که این دادهها رو به سرویسهای ذخیرهسازی AWS مثل S3، EFS یا FSX انتقال بدید.
سرویس DataSync این کار رو برای شما ساده میکنه و همچنین دادهها رو در حین انتقال از طریق شبکه رمزگذاری میکنه. این سرویس برای انتقال حجمهای بزرگ داده طراحی شده و امکان بازدهی بالا و انتقال خودکار رو فراهم میکنه که به جلوگیری از خطاهای انسانی کمک میکنه. DataSync از NFS یا سیستم فایل شبکه، سیستم فایل اشتراکی SMB مورد استفاده در سرورهای ویندوز، و ذخیرهسازی اشیا پشتیبانی میکنه. پرداخت این سرویس هم فقط بر اساس حجم گیگابایتی که انتقال میدین محاسبه میشه.
برخی از کاربردهای این سرویس شامل موارد زیر هستن:
باید بدونیم AWS اخیراً جزئیاتی از پروژهای که با شرکت Autodesk انجام داده، منتشر کرده. Autodesk، که ارائهدهنده نرمافزارهای طراحی با کامپیوتر هست، با استفاده از AWS DataSync موفق به انتقال 700 ترابایت از نسخههای پشتیبان پایگاه دادههای خودشون بر روی یک لینک شبکه 1.4 گیگابیت بر ثانیه در ساعات کمکار شبانه شدن. این نسخههای پشتیبان برای بایگانی طولانیمدت به S3 و Glacier منتقل شدن و پروژه در 2.5 ماه تکمیل شد.
فرض کنید که مجموعهای از اپلیکیشنها و دیتابیسها دارید که قصد دارید اونها رو به AWS مهاجرت بدید،
اما یه موجودی کامل یا طراحیهای بهروز از زیرساخت فعلیتون ندارید تا به برنامهریزی این مهاجرت کمک کنه.
اینجاست که Application Discovery Service به کار میاد و به شما امکان میده تا سرورها و دیتابیسهای اپلیکیشنیتون رو کشف کنید.
سرویس Application Discovery Service اطلاعات مربوط به تنظیمات فعلی شما رو جمعآوری میکنه و از طریق یه اتصال رمزگذاریشده به AWS ارسال میکنه، و این دادهها در AWS Migration Hub ذخیره میشن، که یه ابزار دیگه AWS برای هماهنگسازی و مدیریت مهاجرت هست.
این سرویس دادههای مختلفی رو جمعآوری میکنه که شامل موارد زیره:
این سرویس دادهها رو از طریق Application Discovery Service Agent جمعآوری میکنه. شما این Agent رو روی ماشینهای مجازی یا سرورهای فیزیکی نصب میکنید و این عامل دادهها رو به Application Discovery Service ارسال میکنه.
اگر از VMware استفاده میکنید، میتونید از جمعآوری بدون عامل (Agentless Collector) هم استفاده کنید،
که فقط برای مهاجرت از VMware کاربرد داره. این Collector بهعنوان یه دستگاه مجازی در VMware vCenter نصب میشه واطلاعات ماشینهای مجازی و میزبانهای مرتبط با محیط vCenter شما رو جمعآوری میکنه.
این دادهها شامل نام میزبانها، آدرسهای IP، آدرسهای MAC، تخصیص منابع دیسک، نسخههای پایگاه داده،طرحهای دیتابیس، و معیارهای مصرف ظرفیت مثل CPU، RAM و I/O دیسک هستن.
سرویس AWS Application Migration Service یک راهکار ساده و خودکار برای مهاجرت اپلیکیشنها به AWS ارائه میده.
فرض کنید تعدادی اپلیکیشن دارید که میخواهید اونها رو به AWS منتقل کنید. Application Migration Service به شما این امکان رو میده که اپلیکیشنها رو از سرورهای فیزیکی، سرورهای مجازی اجرا شده روی VMware یا Microsoft Hyper-V و حتی از دیگر ارائهدهندگان ابری به AWS منتقل کنید. حتی میتونید از این سرویس برای انتقال EC2 instances بین مناطق مختلف AWS یا بین حسابهای AWS هم استفاده کنید.
این سرویس بهطور خودکار سرورهای منبع شما رو از زیرساختهای فیزیکی، مجازی یا ابری تبدیل میکنه تا بتونن بهطور بومی روی AWS اجرا بشن. میتونید از این سرویس برای انجام تستها استفاده کنید تا مطمئن بشید همه چیز بهدرستی کار میکنه قبل از اینکه به محیط جدید منتقل بشید. این روش بهعنوان مهاجرت lift and shift شناخته میشه، چرا که اپلیکیشن بدون هیچ تغییری و دقیقا همونطور که هست، منتقل میشه.
ابتدا AWS replication agent رو روی هر سرور اپلیکیشنی که قصد دارید مهاجرتش بدید نصب میکنید.
سپس این سرویس، بهطور مستمر از سرورهای منبع به سرورهای مقصد در AWS دادهها رو تکرار میکنه و ترافیک همواره رمزگذاری شده تا دادهها امن باقی بمونن.
در طول فرآیند تکرار، میتونید به استفاده معمول از سیستمها ادامه بدید بدون اینکه تأثیری بر عملکرد سیستمها داشته باشه.
هزینهها به این شکل هست که شما برای زیرساختهای AWS که ایجاد میکنید، پرداخت میکنید؛
اما خود سرویس Application Migration، شامل بخش تکرار دادهها، تا 90 روز رایگان هست.
بیشتر کاربران در همین مدت 90 روز، اپلیکیشنهای خودشون رو بهطور کامل تکرار و مهاجرت میدن و از این رو،
میتونن بدون هزینه اضافی از این سرویس بهره ببرن.
سرویس AWS Migration Hub به عنوان یه مرکز متمرکز برای جمعآوری اطلاعات اپلیکیشنها و سرورها عمل میکنه. Migration Hub به شما امکان میده تا فرآیند ارزیابی، برنامهریزی، و پیگیری مهاجرت به AWS رو انجام بدید. همچنین میتونید سرورها رو بهصورت منطقی گروهبندی کنید و مهاجرت اپلیکیشنها و دادهها به AWS رو به طور یکجا مدیریت کنید.
یکی از ویژگیهای عالی Migration Hub اینه که با دیگر سرویسهای مهاجرت AWS یکپارچه شده، از جمله:
سرویس Migration Hub همچنین میتونه توصیههایی درباره مدرنسازی اپلیکیشنها ارائه بده. برای مثال، ممکنه بخواید اپلیکیشنهای Java یا .Net رو به کانتینرهای Docker در Elastic Container Service (ECS) منتقل کنید. علاوه بر این، Migration Hub میتونه تخمینی از هزینه اجرای بار کاری فعلی شما روی EC2 instances در AWS ارائه بده.
خب تو این فصل در مورد مهاجرت و انتقال دادهها و سیستمها به AWS نوشتیم؛ یعنی همون فرایندی که باعث میشه پروژههامون رو با کمترین هزینه و بیشترین سرعت وارد فضای ابری کنیم. امیدوارم مفید بوده باشه.
قسمت اول AWS Certified Cloud Practitioner : آشنایی با مفاهیم ابتدایی AWS Cloud
قسمت دوم AWS Certified Cloud Practitioner : خدمات مبتنی بر Compute
قسمت سوم AWS Certified Cloud Practitioner: فناوری و خدمات ذخیرهسازی مثل S3
قسمت چهارم AWS Certified Cloud Practitioner: خدمات شبکه و Content Delivery
قسمت پنجم AWS Certified Cloud Practitioner : آشنایی با انواع دیتابیس در AWS
قسمت 6: تکنولوژیها و سرویسهای توسعه، پیامرسانی، و دیپلویمنت
قسمت هفتم: تکنولوژی و سرویسهای migration و انتقال داده
و در آخر این آدرس لینکدین و توئیتر من هست خوشحال میشم در ارتباط باشیم.
🪩 Follow Linkedin Hossein Jafari🪩
🕊 Twitter 🕊