آموزش رایگان Cloud+؛ مدیریت و اتصال به منابع ابری به چه صورتی انجام میشود؟
همانگونه که در قسمتهای قبل آموزش رایگان Cloud+اشاره کردیم، منابع ابری خارج از محل سازمان هستند. اکنون این پرسش مطرح میشود که چگونه میتوان به مرکز داده ابری راه دور به روشی قابل اعتماد و ایمن متصل شد. برای یافتن پاسخ این پرسش تا انتها این مقاله همراه فالنیک باشید. برای خرید سرور یا اطلاع از قیمت سرور hp میتوانید با شماره 02154591915 تماس بگیرید و مشاورههای رایگان تخصصی دریافت کنید.
- مدیریت منابع ابری
- رابط مدیریت وبمحور
- رابط خط فرمان، APIها و SDKها
- اتصال به منابع ابری
- آیا دادههای من امن است؟
- آشنایی با مفهوم متعادلسازی بار
- مکانیزم متعادل کننده بار
مدیریت منابع ابری
اولین نکته وجه تمایز مدیریت منابع ابری و نحوه استفاده از آنها است. مدیریت منابع ابری شما شامل آمادهسازی ماشینهای مجازی، استقرار یک برنامه کاربردی یا مشترک شدن در یک سرویس SaaS مانند خدمات ایمیل است. خدمات ابری خود را به یکی از سه روش زیر مدیریت میکنید:
- رابط مدیریت وبمحور
- رابط خط فرمان (CLI)
- واسطهای برنامهنویسی کاربردی (API) و کیتهای توسعه (SDK)
رابط مدیریت وبمحور
هنگام تعامل با ابر، اولیه راهکاری که برای مدیریت منابع ابری ارائهدهنده خدمات ابر در قالب یک داشبورد در اختیارتان قرار میدهد، رابط وب است تا به طور ایمن به رابط مدیریت وب از طریق اینترنت دسترسی داشته باشید. با استفاده از یک رابط وب قادر به انجام کارهای زیر هستید:
IaaS: آمادهسازی ماشینهای مجازی، ساخت ولومهای ذخیرهسازی بلوکی، ایجاد شبکههای مجازی.
PaaS: طراحی و توسعه برنامههای کاربردی نوشته شده به زبانهای رایج مثل پایتون یا استقرار یک برنامه وب از یک مخزن گیت (Git).
SaaS: ارسال و دریافت ایمیل، تعامل و همکاری در ساخت اسناد گروهی.
دقت کنید که وقتی صحبت از جنبههای فنی PaaS و SaaS به میان میآید، همپوشانی قابل توجهی بین مدیریت یک سرویس و استفاده از آن وجود دارد.
رابط خط فرمان، APIها و SDKها
ارائهدهندگان خدمات ابری، یک یا چند رابط خط فرمان ارائه میدهند تا امکان مدیریت منابع ابری به شیوه برنامهنویسی یا اسکریپتنویسی وجود داشته باشد. رابط خط فرمان برای مدیران سیستمی طراحی شده که میخواهند بدون نیاز به ورود به سیستم و کلیک روی یک رابط وب، وظایف معمولی مدیریت را انجام دهند.
رابطهای خط فرمان با استفاده از APIهای ارائهدهنده خدمات ابر کار میکنند. API به شما امکان میدهد منابع ابری خود را به شکل برنامهای مدیریت کنید. برخلاف یک رابط مدیریت وب که در آن کلیک میکنید و تایپ میکنید، نقطه پایانی API یک سرویس وب است که به درخواستهای ساختاری خاص گوش میدهد.نقاط پایانی API ارائهدهنده ابر معمولا به پورتهای باز متصل به اینترنت متصل هستند که با استفاده از پروتکل لایه انتقال ایمن (TLS) رمزگذاری میشوند و به نوعی احراز هویت نیاز دارند.
ارائهدهندگان ابر کیتهای توسعه نرمافزاری (SDK)، در اختیار توسعهدهندگان برنامههای یکپارچه با ابر، قرار میدهند. مزیت کیتهای توسعه نرمافزاری این است که سعی میکنند جزئیات مربوط به برقراری ارتباط با نقاط پایانی API را انتزاعی کنند تا توسعهدهندگان بتوانند روی نوشتن برنامه خود تمرکز کنند.
اتصال به منابع ابری
نحوه اتصال شما به منابع ابری به نحوه تنظیم آنها بستگی دارد. منابع ابری که ایجاد میکنید لزوما به طور پیشفرض از طریق اینترنت قابل دسترسی نیستند. در حالت کلی، سه راه دسترسی به منابع ابری به شرح زیر است:
- اینترنت
- اتصال از طریق شبکه خصوصی مجازی
- اتصالات خصوصی اختصاصی (Dedicated private connections)
اینترنت
اگر برنامهای میزبانی میکنید که باید در هر زمان و مکانی در دسترس باشد، باید به طور دائم به اینترنت متصل باشد. در این حالت، منبع یا همان برنامه کاربردی یک آدرس IP اینترنتی قابل مسیریابی عمومی دارد. در بیشتر موارد، چنین نرمافزارهایی یک برنامه وب هستند، اما همیشه اینگونه نیست. اگرچه دسترسی در هر مکان و زمانی میتواند یک مزیت بزرگ باشد، اما به خاطر داشته باشید که ترافیک عبوری از اینترنت با تاخیر زیاد همراه است و به شدت غیرقابل پیشبینی است.
دسترسی از طریق شبکه خصوصی مجازی
شبکه خصوصی مجازی همانطور که در شکل زیر نشان داده شده است، امکان اتصال ایمن و رمزگذاری شده از طریق یک شبکه غیر امن (مانند اینترنت) را فراهم میکند.
شبکه خصوصی مجازی میان دو گره کلاینت و سرویس ابری قرار میگیرد. شبکههای خصوصی مجازی مناسب برنامههایی هستند که قرار است اطلاعات مهمی را از طریق شبکههای مختلف انتقال دهند. سازمانها اغلب از شبکه خصوصی مجازی برای اتصال منابع ابری به دفاتر و مراکز داده استفاده میکنند.
اتصالات خصوصی اختصاصی (Dedicated Private Connections)
ارائهدهندگان خدمات ابری به جای اینترنت از طریق خطوط اجارهای خصوصی با مراکز داده خود ارتباط برقرار میکنند. این اتصالات پهنای باند اختصاصی و تأخیر قابل پیشبینی دارند که در نقطه مقابل دسترسی از طریق اینترنت یا شبکه خصوصی مجازی هستند. اتصالات خصوصی اختصاصی متکی به اینترنت نیستند و رمزگذاری داخلی ارائه نمیدهند. اتصالات اختصاصی معمولا دسترسی به اینترنت را فراهم نمیکنند. برای این کار، به یک اتصال اینترنتی جداگانه نیاز دارید.
آیا دادههای من امن است؟ / تکثیر و همگامسازی
همانندسازی، انتقال و همگامسازی دادهها بین منابع محاسباتی یا ذخیرهسازی و معمولا بین چند منطقه یا مراکز داده است و به روشی که در شکل زیر مشاهده میکنید، انجام میشود.
برای کاربردهایی مثل بازیابی پس از فاجعه و امنیت دادهها، بهتر است کپیهای قابل اطمینانی از دادهها ایجاد شود. به طور سنتی، نسخههای پشتیبان راه دور دادهها با استفاده از برنامههای پشتیبانگیری ابرمحور آماده میشوند. با مجازیسازی سرورها در فضای ابری، میتوانید به راحتی از ماشینهای مجازی یک کپی کامل تهیه کنید و در ادامه، نمونههای کامل سرور را با همه برنامهها، بستههای خدماتی و محتوایی که دارند، در یک مرکز راه دور دیگر کپی کنید.
برنامههایی مانند پایگاه داده دارای فرآیندهای تکثیر داخلی هستند که بر نیازهای شما به منابع ابری تاثیرگذار هستند. بسیاری از ارائههای خدمات ابری گزینههایی در ارتباط با تکثیر دادهها به عنوان یک ویژگی داخلی یا به عنوان یک گزینه قابل شارژ در اختیار مصرفکنندگان قرار میدهند. در اینجا مفهومی به نام تکثیر همزمان (Synchronous replication) وجود دارد که اشاره به کپی دادهها در زمان واقعی از سیستم ذخیرهسازی اولیه به یک مرکز راه دور دارد. این فرآیند در شکل زیر نشان داده شده است.
تکثیر همزمان به شما امکان میدهد دادههای فعلی را در یک مرکز داده ثانویه کپی کنید تا اگر مرکز داده اولیه از دسترس خارج شد یا اطلاعات آن از دست رفت، با یک تأخیر کوتاه زمانی دادهها در دسترس قرار بگیرد. سیستمهای پایگاه داده رابطهای گزینه تکثیر همزمان را با ویژگی automatic failover و همراه با دسترسپذیری بالا ارائه میدهند.
رویکرد دیگر تکثیر غیر همزمان است. در تکثیر غیر همزمان دادهها ابتدا در استوریج ذخیرهسازی اولیه یا یک منبع ذخیرهسازی ابرمحور نوشته میشوند، همانطور که در شکل زیر نشان داده شده است. در ادامه، پس از کامل شدن ذخیرهسازی دادهها، با یک تأخیر از قبل محاسبه شده اطلاعات به مکان راه دوری کپی میشوند.
از کاربردهای رایج تکثیر غیر همزمان باید به تهیه اسنپشاتهای برنامهریزی شده از ولومهای ذخیرهسازی ماشین مجازی و ذخیره اسنپشاتها به شکل آفلاین اشاره کرد. ممکن است اسنپشاتها با هدف ذخیرهسازی در یک منبع ابری نیز آماده میشوند. هر زمان نیاز به بازیابی ماشین مجازی داشتید، میتوانید اینکار را از طریق اسنپشاتها انجام دهید.
نمونه دیگری از تکثیر غیر همزمان، ساخت نسخههای فقط خواندنی پایگاه دادهها است. هنگامی که یک سازمان به گزارشهای متمرکز و پیچیدهای در ارتباط با پایگاه داده نیاز دارد، این فرآیند بر سرعت و عملکرد پایگاه داده تاثیر منفی میگذارد و عملکرد فعالیتهای تجاری به واسطه این فرآیند با افت شدید روبرو شود. برای حل این مشکل میتوانید دادهها و گزارشها را به شکل غیر همزمان ایجاد کنید.
تکثیر غیرهمزمان میتواند گزینه مقرون به صرفهتری نسبت به تکثیر همزمان باشد. ارائهدهندگان ابر اغلب برای انتقال دادهها بین مناطق یا نواحی دسترسپذیری (availability zones) هزینه جداگانهای از مصرفکنندگان دریافت میکنند. تکثیر غیر همزمان به شکل بلادرنگ انجام نمیشود و دادههای کمتری در فرآیند انتقال ارسال میشوند. نواحی دسترسپذیری از مفاهیم مفصل و پر از جزییات فنی رایانش ابری است که سعی خواهیم کرد در مقالات آتی به آن اشارهای داشته باشیم.
آشنایی با مفهوم متعادلسازی بار (Load Balancers)
اتصال سست (Loose coupling) که برخی منابع آن را جداسازی (decoupling) مینامند، یک اصل طراحی است که در آن مولفههای برنامه به گونهای شکسته میشوند که بتوانند روی سرورهای مختلف اجرا شوند. اینکار با هدف دستیابی به اصل دسترسپذیری و مقیاسپذیری بالا انجام میشود.
بیشتر برنامههای کاربردی وبمحور مبتنی بر پایگاه داده اقدام به جداسازی مولفه وب از پایگاه داده میکنند تا بتوان آنها را روی سرورهای جداگانه اجرا کرد. معماری فوق اجازه میدهد تا وب سرورها به بالاترین سطح از مقیاسبندی و دسترسپذیری دست پیدا کنند.
اتصال سست، چالشهایی نیز به وجود میآورد. اگر چند وب سرور وجود داشته باشد که کاربران بتوانند به آنها متصل شوند، چگونه ترافیک را باید بین آنها توزیع کرد؟ اگر یکی از سرورها خراب شود چه اتفاقی خواهد افتاد؟ پاسخ در تکنیکی است که متعادلسازی بار نام دارد. یک متعادلکننده بار اتصالات کاربران را دریافت و آنها را روی سرورهای وب توزیع میکند. این فرآیند به شکل چرخشی و منظم انجام میشود. هنگامی که یک متعادل کننده روی وب سرورها قرار میگیرد، کاربران به جای آدرس آیپی یکی از وب سرورها، به آدرس آیپی متعادلکننده بار متصل میشوند.
عملکرد دیگر متعادلکننده بار خاتمه دادن به یک ارتباط SSL/TLS، فشردهسازی و پیگیری وضعیت یک نشست است. متعادلکنندههای بار میتوانند در ارتباط با مقیاسبندی خودکار و بررسی وضعیت سرور مورد استفاده قرار گیرند و اگر یک وب سرور غیرقابل دسترس شد، متعادلکننده بار خرابی را تشخیص داده و فرآیند جایگزینی یا بازیابی خودکار را آغاز کند. عملکرد مکانیزم متعادلکننده بار در شکل زیر نشان داده شده است. مشاهده میکنید، این امکان وجود دارد تا بدون زحمت به افزونگی و مقیاسپذیری دست پیدا کرد.
مکانیزم متعادل کننده بار
متعادلکننده بار اتصالات کاربران را دریافت و اتصالات را روی سرورهای وب توزیع میکند.
آزمایش ابر (Cloud Testing)
با ادامه دوره آموزش cloud+، اطلاعاتی بیشتری در ارتباط با آزمایشها و اعتبارسنجیهایی به دست خواهیم آورد که برای اطمینان از معتبر بودن تغییرات و عملیات در حال انجام مورد استفاده قرار میگیرند. مکانیزمهای اعتبارسنجی مختلفی در دسترس کارشناسان زیرساخت ابری قرار دارد و آزمون آسیبپذیری و تست نفوذ که ماهیت امنیتی یکی از آنهاست. آزمون بارگذاری (Load) نیز با هدف حصول اطمینان از این مسئله که برنامه کاربردی در یک محیط پر ترافیک آنگونه که انتظار میرود کار میکند یا خیر، مورد استفاده قرار میگیرد.
تست آسیبپذیری (Vulnerability Testing)
تست آسیبپذیری برای یافتن اشیایی در استقرار ابری که مستعدد آسیبپذیری، سوء استفاده یا تهدید امنیتی بالقوه هستند، استفاده میشود. کارشناسان زیرساخت از نرمافزاری که اسکنر آسیبپذیری نام دارد، استفاده میکنند. اسکنر آسیبپذیری برنامهای است که پایگاه دادهای از اکسپلویتهای شناخته شده دارد و از آنها برای ارزیابی استقرار ابری استفاده میکند تا ببیند آیا استقرار ابری شما ممکن است به آسیبپذیریها یا حفرههای امنیتی آلوده باشد یا خیر.
اسکنر نقاط ضعف در استقرار ابر را شناسایی و گزارش میدهد. اگر نسخهای قدیمی از یک سیستم مدیریت محتوا (CMS) را اجرا میکنید که به راحتی هک میشود، یک اسکن آسیبپذیری میتواند قبل از اینکه قربانی شوید، به شما هشدار دهد.
تست نفوذ (Penetration Testing)
تست نفوذ، فرآیند تلاش برای بهرهبرداری از آسیبپذیریهایی است که در زیرساخت شما وجود دارد. به طور معمول، تست نفوذ به شکل خارجی انجام میشود تا توانایی دسترسی هکرها به سیستمهای ابری از طریق اینترنت را ارزیابی کند. ارائهدهندگان ابر قوانین سختگیرانهای برای نحوه و زمان انجام تست نفوذ دارند که معمولا به مجوز قبلی و هماهنگی با ارائهدهنده نیاز دارند. از تستهای نفوذ معروف باید به شناسایی نامهای کاربری و رمزهای عبور پیشفرض یا قابل حدس زدن و جستوجوی پورتهای باز پروتکل کنترل انتقال/پروتکل دادهگرام کاربر (TCP/UDP) اشاره کرد.
تست عملکرد (Performance Testing)
تست عملکرد گاهی اوقات تست بار (load testing) نامیده میشود. در آزمایش فوق، تقاضا یا باری روی برنامه یا سیستم محاسباتی قرار میگیرد و پاسخ دریافتی اندازهگیری میشود. با انجام تست بار، میتوانید تعیین کنید که برنامههای کاربردی و استقرار ابری شما چگونه میتوانند در زمان افزایش بار و ترافیک سنگین خدمترسانی کنند. تست بار به شما کمک میکند تا رفتار سیستم را در هر دو شرایط عادی و اوج بار بررسی کنید. همه سیستمها زمانی که تحت بارهای سنگین قرار دارند از کار میافتند. با انجام آزمایشها میتوانید هر گونه مشکل در طراحی خود را شناسایی و اصلاح کنید.
تست رگرسیون (Regression Testing)
بهروزرسانی مکرر نرمافزار بخشی از چشمانداز فناوری اطلاعات است. وقتی نرمافزار را به نسخه جدید ارتقا میدهید، همیشه این احتمال وجود دارد که بازده قبلی آن افت پیدا کرده یا خراب شود. این پدیده رگرسیون نامیده میشود. تست رگرسیون برای شناسایی این مشکلات طراحی شده تا بتوانید تصمیم بگیرید که آیا بهروزرسانی انجام دهید یا خیر.
در گذشته، سازمانها بهروزرسانیهای نرمافزاری را به تعویق میانداختند، زیرا هر بهروزرسانی باعث میشد تا عملکرد سرویسها یا برنامههای کاربردی با مشکل روبرو شوند و خدمترسانی برای چند ساعت یا چند روز مختل شود. این مدل مشکلات امروزه کمتر وجود ندارند، انجام آزمایش رگرسیون در یک محیط آزمایشی کنترلشده قبل از عرضه بهروزرسانیهای اصلی، آزمایش مهمی است که نباید از آن غافل شوید.
تست عملکردی (Functional Testing)
تست عملکردی، کارایی نرمافزار بر مبنای مجموعهای از ویژگیها، پارامترها و شرایط خاص را بررسی میکند. به طوری که نرمافزار در رویارویی با این پارامترها باید چه واکنشی از خود نشان دهد. تست عملکرد بررسی میکند آیا نرمافزار قادر به انجام کاری است که شما انتظار دارید انجام دهد یا خیر.
تست قابلیت استفاده (Usability Testing)
تست قابلیت استفاده در نظر میگیرد که استفاده از یک سیستم برای کاربران نهایی چقدر آسان یا دشوار است. یک نرمافزار ممکن است تمام تستهای دیگر را پشت سر بگذارد، اما مصرفکنندگان کار با نرمافزار را پیچیده، گیجکننده یا خستهکننده بدانند. چنین نقصهایی معمولا نقص فنی در کد یا معماری یک سیستم نیستند، بلکه نقص در رابط کاربری یا فرآیندی هستند که کاربر باید دنبال کند. تست قابلیت استفاده برای تشخیص زودهنگام چنین نقصهایی طراحی شده است. تست قابلیت استفاده شامل تلاش برای ساده کردن تعامل کاربر با برنامه است. تست قابلیت استفاده، به یک معنا، نسخه ذهنیتری از تست عملکردی است. تست عملکردی برای آزمایش اینکه آیا نرمافزار عملکرد مشخصی ارائه میدهد یا خیر طراحی شده است. تست قابلیت استفاده آزمایش میکند که آیا کاربر میتواند از نرمافزار استفاده کند یا خیر.