در قسمت اول این مقاله به بررسی و مقایسهی برخی از جوانب پیادهسازی Containerها برروی VMها و Bare Metal همچون امنیت، ناکارآمدی محدودهی حفاظتی Containerها، عواقب پیکربندی اشتباه برروی یک هاست فیزیکی، استفادهی بهینه از Trendهای پیشرفته و … پرداختیم. در قسمت دوم این مقاله نیز به ابعاد دیگری از پیادهسازی Containerها از جمله دسترسپذیری، مدیریت منابع، ماندگاری دادهها، عملکرد و مقیاسپذیری پرداخته شد. در قسمت سوم به بررسی دیگر ابعاد پیادهسازی کانتینرها مانند ابعاد شبکه، مدیریت زیرساخت و عملیاتهای IT و اجرای Containerها برروی VMها در یک VMware SDDC خواهیم پرداخت.
بررسی شبکه جهت پیاده سازی کانتینرها
در حیطهی شبکه، Containerها بر سه سطح از جداسازی متکی هستند:
- شبکهی زیرین (Underlay)
- شبکهی رویی (Overlay)
- Service Mesh
شبکهی زیرین، ماشینها را (فیزیکی یا مجازی) با استفاده از یک رویکرد مبتنی بر سختافزار قدیمی و یا ترکیبی از نرمافزار و سختافزار، به هم متصل میکند. شبکهی رویی در بالای شبکهی زیرین بنا میشود تا پیکربندی شبکه از قبیل آدرسهای IP و پورتها را برای چرخهی عمر کانتینرها و هاستها ارائه دهد. Service Mesh در بالای آدرسهای IP و پورتها حرکت میکند تا برروی اتصال سرویسها برای برنامههای کاربردی Containerizeشده متمرکز باشد.
در این موقعیت چطور میتوان بهصورت امن و مؤثر، تعداد زیادی از Container Hostهای Bare-Metal را که سیستمعامل لینوکس دارند، به یکدیگر متصل کرد؟ درصورتی که کاربر از شبکهی لایه دو استفاده کند، همهچیز را به شبکهی بالاتر واگذار میکند و باید برنامههای کاربردی Containerizeشده را بهصورت مجموعه هاستهای فیزیکی دستهبندی کند و این امر به این دلیل است که Containerها به تنهایی حیطههای امنیتی ناکارآمدی هستند.
اما اگر شبکه مربوط به Container ایزولهسازی نشده و به چرخهی عمر آن وصل نباشد، یک برنامهی کاربردی مهاجم میتواند اتصال به تمام هاستهای فیزیکی محیط را بهدست آورد. برای اطمینان حاصلنمودن از امنیت شبکه، محیط نیازمند ایزولهسازی شبکه سطح سختافزاری با VLANها، فایروالهای East-West یا دیگر ترفندها خواهد بود؛ همهی این اقدامات نیازمند مدیریت دستیِ وقتگیر هستند که به چرخهی عمر برنامههای کاربردی Containerizeشده متصل نیستند. هنگامیکه چرخهی عمر تغییر میکند نیز نیاز به تغییرات شبکهی دستی بیشتری که در خطر اشتباه قرار دارند، میباشد.
دیتاسنتر مبتنی بر VMware NSX شبکهی زیرین واحدی بر روی VMها پیادهسازی میکند تا اتصال End-to-End و مدیریت برای Containerها و برنامههای کاربردی قدیمی، فراهم شود. یک شبکهی زیرین واحد مزایای ذیل را دارد:
- برنامههای کاربردی Containerizeشده را بهراحتی به اجزاء قدیمی و Containerizeنشده همچون دیتابیس متصل میکند.
- با Policyهای متمرکزسازیشده و امنیت پیشرفتهای همچون Micro-Segmentation، مدیریت شبکه را بسیار تسهیل میکند.
- شبکهی رویی و Service Meshی را انتخاب میکند که برای برنامهی کاربردی موردنظر مناسبتر است.
دیتاسنتر NSX با رابط کاربری شبکهی Container متصل میشود تا یک شبکهی رویی پدید بیاورد. هنگامیکه یک برنامهی کاربردی Containerizeشده پیادهسازی میشود، دیتاسنتر NSX میتواند بهصورت خودکار یک شبکهی مجازی جدید ایجاد کند که برنامهی کاربردی را کاملاً از دیگر برنامههای کاربردی محیط ایزولهسازی میکند.
مدیریت زیرساخت و عملیاتهای IT
اجرای Containerها بر روی سختافزار فیزیکی، مدیریت سخت زیرساخت و مشکلات عملیاتی را دوباره احیا میکند. Kubernetes برنامههای کاربردی Containerizeشده را مدیریت میکند، نه زیرساخت زیرینی که این برنامههای کاربردی بررویش درحال اجرا هستند. اگر کاربر بخواهد یک سختافزار فیزیکی را بهعنوان زیرساخت زیرین انتخاب کند، باید تعدادی الزامات خاص را برآورده کرده و درعینحال از ایجاد Siloهایی که مدیریت آنها سحت باشد، اجتناب بورزد:
- پیادهسازی و پیکربندی زیرساخت
- Patchکردن، بهروزرسانی و ارتقاء
- پشتیبانگیری و Disaster Recovery
- لاگ و مانیتورینگ
چندین Siloی زیرساخت میتوانند تیمها، ابزارآلات و فرآیندها را همسانسازی کنند. بهجای پیشبرد نوآوری برروی یک پلتفرم واحد، IT درنهایت به تکرر اِعمال وظایف مشابه قبل دچار میشود.
با اجرای Containerها برروی هاستهای فیزیکی، بسیاری از مشکلات قدیمی که مجازیسازی حل کرده بود، دوباره گریبانگیر IT خواهند شد، آن هم درست در زمانیکه IT تحت فشار است تا چالاکی خود را افزایش داده، به تسریع Time to Market برای برنامههای کاربردی کمک نموده، بهسرعت خدمات جدید را بهکار گرفته و هزینهها را مدیریت کند؛ همهوهمه بدون افزایش پیچیدگی و خطرات که عملاً غیرممکن است. این موارد امروزه ملزومات اساسی IT هستند، یا بهسرعت درحال تبدیلشدن به ملزومات هستند. اما با ورود خدمات Cloud ناهمگون به صنعت، برآوردن این الزامات برای IT رفتهرفته سختتر میشود. یک VMware Software-Defined Data Center یا به اختصار SDDC با بهره از Pivotal Container Service یا به اختصار PKS، میتواند با راهکاری جامع و منعطف که از قدرت BOSH برای پیادهسازی و مدیریت چندین کلاستر Kubernetes و بهروزرسانی و ارتقا سیستمعامل Container Host استفاده میکند، تمامی این مشکلات را حل کند.
اجرای Containerها برروی VMها در یک VMware SDDC
vSphere با ترکیب چندین تکنولوژی VMware، یک Full-Stack SDDC برای اجرای امن و کارآمد Containerها برروی VMها ارائه میدهد و درعینحال زیرساخت زیرین را نیز به آسانی مدیریت میکند. دیتاسنتر NSX، مجازیسازی شبکهی Software-Defined را برای Containerها فراهم میآورد. PKS نیز Kubernetes و BOSH را با این SDDS ادغام میکند تا برنامههای کاربردی Containerizeشده را تنظیم نموده، آنها را به Cloud گسترش داده و زیرساخت زیرین آنها را مدیریت دهد.
اجرای Containerها برروی VMها در یک VMware SDDC برخوردار از PKS برای کاربر عملیاتهای باثبات برروی زیرساختی باثبات فراهم میآورد.
نتیجهی این امر پلتفرم رایجی است که تعاملپذیری را با بارهای کاری کنونی (که Datesetهای قانونی اغلب در آن قرار دارند) و Public Cloud فراهم میآورد که برنامههای کاربردی جدید در آن مستقر شده و خدمات حیاتی همچون یادگیری ماشین و تجزیهوتحلیلها، قابل بررسی شدن هستند. برای اجرای Containerها برروی VMها بهجای سختافزار فیزیکی، این پلتفرم پیچیدگی عملیاتی را به حداقل رسانده و درعین پیشبرد بهرهوری حداکثری از سختافزار و ساختارهای اقتصادی در مقیاس بزرگ، مدیریت را تسهیل میبخشد.
ـــــــــــــــــــــــ
مقایسه پیادهسازی کانتینر ها برروی VMها و Bare Metal – قسمت اول
مقایسه پیادهسازی کانتینر ها برروی VMها و Bare Metal – قسمت دوم
مقایسه پیادهسازی کانتینر ها برروی VMها و Bare Metal – قسمت سوم
مقایسه پیادهسازی کانتینر ها برروی VMها و Bare Metal – قسمت چهارم (پایانی)