خلاصه جامع - فناوری Docker Container

نیازهای در حال تحول فناوری اطلاعات و ظهور رویکردهای توسعه و استقرار چابک، زمینه‌ساز پیدایش مفهومی به نام «کانتینری‌سازی» شده‌اند؛ جایگزینی برای مجازی‌سازی کامل ماشین که در آن، برنامه کاربردی به همراه محیط اجرایی خود در یک کانتینر محصور می‌شود. کانتینری‌سازی راهکاری جذاب برای توسعه‌دهندگان است که امکان تکرار و به‌روزرسانی سریع‌تر را فراهم می‌سازد. همچنین با کاهش سربار ناشی از ماشین‌های مجازی، موجب بهره‌برداری بیشتر از منابع در مراکز داده تعریف‌شده با نرم‌افزار (SDDC) می‌شود.

با اینکه کانتینری‌سازی مفهومی جدید نیست، اما Docker، توسعه‌یافته توسط شرکت Docker, Inc.، به دلیل پشتیبانی گسترده صنعتی، استانداردسازی و قابلیت‌های جامع، به عنوان انتخاب اصلی در این زمینه شناخته می‌شود. بنا بر تعریف رسمی شرکت، Docker «پلتفرمی باز برای ساخت، ارسال و اجرای برنامه‌های توزیع‌شده است که یک جعبه‌ابزار مشترک در اختیار برنامه‌نویسان، تیم‌های توسعه و مهندسان عملیات قرار می‌دهد تا از ماهیت شبکه‌ای و توزیع‌شده برنامه‌های مدرن بهره‌مند شوند.»

در نتیجه، Docker فرآیند مدیریت چرخه عمر برنامه را — از توسعه تا استقرار — ساده‌سازی کرده و قابلیت جابجایی برنامه‌ها بین زیرساخت‌های مختلف را فراهم می‌کند. این ویژگی برای سازمان‌ها اهمیت زیادی دارد، به‌ویژه در شرایطی که برنامه‌ها می‌توانند روی زیرساخت‌های مختلفی مانند ابر عمومی یا ابر خصوصی میزبانی شوند.

این مقاله، رویکرد شرکت F5 را در زمینه استفاده از کانتینرها در فناوری‌های خود و پشتیبانی از Docker برای تحویل و امنیت برنامه‌ها تشریح می‌کند. پیش از پرداختن به این استراتژی، ابتدا باید به چالش‌های مراکز داده اشاره کرد و نشان داد که چرا فناوری‌هایی مانند کانتینرها و Docker برای تحویل نسل بعدی برنامه‌های سازمانی اهمیت حیاتی دارند.

نکته: این سند برای تصمیم‌گیرندگان فناوری اطلاعات، معماران سیستم و توسعه‌دهندگان تهیه شده است و فرض بر آن است که خواننده با مفاهیم مجازی‌سازی، توسعه نرم‌افزار و چرخه انتشار آشنایی دارد.

چالش‌های زیرساخت مراکز داده

مطالعات اخیر در زمینه زیرساخت مراکز داده نشان می‌دهند که سازمان‌ها با مجموعه‌ای از نیازهای تکرارشونده برای تحول در مراکز داده روبرو هستند. مهم‌ترین این نیازها عبارت‌اند از:

هم‌زمان با ظهور روندهای جدید در توسعه برنامه‌های کاربردی، دیدگاه سازمان‌ها نسبت به مدیریت چرخه عمر برنامه‌ها تغییر کرده و به سمت الگوهای نوین زیر حرکت کرده‌اند:

از سوی دیگر، سازمان‌ها برای افزایش چابکی در فرآیند انتشار نرم‌افزار، به سمت خودکارسازی زیرساخت‌ها با استفاده از ابزارهایی مانند Puppet، Chef، Ansible و همچنین روش‌های DevOps Orchestration روی آورده‌اند.

در شرایطی که شرکت‌ها در حال توسعه برنامه‌های جدید و یا مهاجرت برنامه‌های فعلی به زیرساخت‌های ابری عمومی هستند، قابلیت جابجایی (Portability) یک اصل حیاتی محسوب می‌شود تا از قفل‌شدگی روی یک تأمین‌کننده خاص جلوگیری شود. گرچه فناوری ماشین مجازی (VM) تا حدی این انتزاع را فراهم می‌کند، اما به‌دلیل تفاوت‌ در پیاده‌سازی‌های هایپروایزرها، ماشین‌های مجازی از قابلیت جابجایی کامل برخوردار نیستند.

در این میان، Docker با ارائه راهکاری ساده و مؤثر برای مجازی‌سازی زیرساخت‌ها توانسته به فناوری پیشرو در دنیای کانتینرها تبدیل شود و چالش‌های فوق را تا حد زیادی برطرف سازد.

مروری بر Docker

کانتینرها نوعی مجازی‌سازی در سطح سیستم‌عامل هستند که هر برنامه را به‌عنوان یک فرایند جداگانه اجرا می‌کنند. مفهوم کانتینر پیش از این نیز در سیستم‌عامل‌هایی مانند BSD (با Jails)، Oracle Solaris (با Zones) و لینوکس (با LXC) وجود داشته است. Docker با توسعه بر پایه LXC و ایجاد رابط کاربری ساده، به توسعه‌دهندگان این امکان را داده است که برنامه‌ها را بدون نیاز به هایپروایزر، روی زیرساخت‌های ابری بسازند، بسته‌بندی و استقرار دهند.

ویژگی‌های متمایز Docker نسبت به سایر فناوری‌های کانتینری:

Union File System چیست؟

Union File System یک فایل سیستم ترکیبی است که اجازه می‌دهد هر کانتینر بتواند سرویس‌های خاص خود را ارائه دهد، حتی اگر مسیر یا نام فایل با فایل‌های زیرین تداخل داشته باشد. برای نمونه، ممکن است یک کانتینر به نسخه ۲.۶ از یک کتابخانه پایتون نیاز داشته باشد و کانتینر دیگر به نسخه جدیدتر آن. اگر سیستم فایل اصلی فقط نسخه ۲.۶ را داشته باشد، کانتینر دوم می‌تواند نسخه جدیدتر را در قالب ایمیج کانتینر خود ارائه دهد.

این ویژگی باعث می‌شود حجم کانتینرها کاهش یابد، چرا که فقط اجزای ضروری برای اجرای برنامه در آن‌ها گنجانده می‌شود.

خلاصه‌ای از فناوری کانتینری Docker و ماشین مجازی (VM)

فناوری کانتینری و ماشین مجازی، دو رویکرد متفاوت برای مجازی‌سازی و استقرار برنامه‌ها هستند که هر یک مزایا و کاربردهای خاص خود را دارند. شکل مفهومی در Figure 1 نشان‌دهنده تفاوت ساختاری این دو فناوری است:

در نتیجه، Docker با حذف سربار ناشی از سیستم‌عامل‌های مهمان و ساده‌سازی ساختار، یک راهکار سبک، سریع و کارآمد برای استقرار برنامه‌ها در زیرساخت‌های مدرن ابری و مبتنی بر DevOps فراهم می‌سازد.

شکل 1 : مقایسه ماشین‌های مجازی و کانتینرهای داکر بر روی یک هاست واحد

در جدول زیر نیز قابلیت‌های VM و Docker با هم مقایسه شده‌اند:

 

VM

Docker

هزینه‌ی بالاسری ذخیره‌سازی اپلیکیشن

چندین گیگابایت هزینه‌ی بالاسری OS به ازای هر اپلیکیشن.

یک OS مشترک برای تمام کانتینرها. هزینه‌ی بالاسری اندک موتور داکر (چند مگابایت).

نمونه‌سازی (Instantiation)

زمان بوت‌شدن (boot-up time) برای سیستم عامل و اپلیکیشن.

صرفاً زمان نمونه‌سازی اپلیکیشن.

تخصیص منابع 

صلب و یکپارچه (monolithic).

 

CPUهای مجازی معمولاً به هسته‌های فیزیکی CPU یا تردهای هایپر (hyper threads) تخصیص داده می‌شوند. 

 

فضای دیسک معمولاً از قبل به یک هاست VM تخصیص داده می‌شود. 

انعطاف‌پذیر. 

 

می‌توان حدود CPU را به کانتینرهای داکر تخصیص داد. این کانتینرها می‌توانند هسته‌های CPU هاست فیزیکی را به شکل بسیار کارآمد به اشتراک بگذارند. 

 

میزان استفاده از حافظه داکر را می‌توان در صورت دلخواه محدود کرد، اما حافظه مورد استفاده را می‌توان به شکل کارآمد در میان فرآیندها بر روی هاست و کانتینرهای آن تخصیص داد. 

امنیت

عالی.

 

VMها در دنیایی کاملاً مجزا از یکدیگر زندگی می‌کنند و اشتراک اندکی بین آن‌ها وجود دارد، مگر آن‌که عمداً توسط محیط هاستینگ این کار صورت گیرد. 

خوب.

 

کرنل OS اجازه نمی‌دهد که کانتینرها به فضای حافظه‌ یکدیگر دسترسی پیدا کنند. 

 

فایل‌سیستم یکپارچه، نمایی صرفاً-خواندنی از کانتینر مشترک در اختیار هر یک از کانیتنرها قرار می‌دهد. در صورتی که یک کانتینر چیزی را تغییر دهد، یک کپی خاص کانتینر از داده به آن داده می‌شود که فقط همان کانتینر می‌تواند آن را ببیند. 

اجرای Docker روی ماشین‌های مجازی (VM)

همان‌طور که پیش‌تر اشاره شد، هدف اصلی Docker ساده‌سازی مدیریت چرخه عمر برنامه‌هاست. در حالی که اجرای Docker روی سرور فیزیکی (bare metal) گزینه‌ای جذاب است، اجرای آن روی ماشین مجازی (VM) نیز مزایای قابل‌توجهی دارد. از جمله این مزایا می‌توان به موارد زیر اشاره کرد:

زیرساخت‌ها و راهکارهای مدیریت و ارکستراسیون پیشرو مانند VMware vRealize Suite، OpenStack و همچنین ابرهای عمومی مانند AWS و Azure، همگی از اجرای Docker روی ماشین مجازی پشتیبانی می‌کنند. این پلتفرم‌ها محیط یکپارچه‌ای را برای کانتینرها فراهم می‌کنند که باعث حفظ قابلیت جابجایی (Portability) برنامه‌ها بدون وابستگی به محیط اجرایی می‌شود.

این مدل استقرار ناهمگون (heterogeneous deployment) به سازمان‌ها اجازه می‌دهد بدون تغییر در زیرساخت فعلی خود از مزایای کانتینرها بهره‌مند شده و سرعت توسعه و استقرار را به‌طور چشمگیری افزایش دهند.

همچنین، با مهاجرت به مدل "یک VM و یک سیستم‌عامل به ازای هر میزبان"، مصرف منابع بهینه‌تر می‌شود؛ چرا که:

مروری فنی بر شبکه‌سازی در Docker

قابلیت‌های شبکه‌سازی در Docker به کاربران این امکان را می‌دهد که شبکه‌های مجازی بین میزبان‌های مختلف ایجاد کرده و کانتینرها را به این شبکه‌ها متصل کنند. این قابلیت‌ها شامل موارد زیر هستند:

به طور پیش‌فرض، Docker برای هر کانتینر یک آدرس خصوصی تعریف می‌کند که تنها از طریق کانتینرهای دیگر روی همان میزبان قابل دسترسی است. برای اینکه کانتینرها از میزبان‌های دیگر نیز قابل دستیابی باشند، باید از طریق سیستم ترجمه آدرس شبکه (NAT) مبتنی بر iptables هدایت شوند.

مثال تصویری (شکل ۲) در متن اصلی نشان می‌دهد چگونه یک سرویس از میزبان دیگر از طریق NAT به کانتینر مقصد متصل می‌شود.

شکل 2 : سرویس‌ها از طریق NAT مبتنی بر آی‌پی‌تیبلز داکر مسیریابی می‌شوند تا به یک کانتینر بر روی هاست دیگر برسند. 

در Docker، اینترفیس شبکه میزبان (مثلاً eth0) معمولاً با یک آدرس IP (مثلاً 192.168.10.10 که یک آدرس خصوصی طبق RFC1918 است) در دسترس قرار می‌گیرد. هر کانتینر نیز هنگام اجرا به‌صورت خودکار آدرسی در رنج 172.17.0.0/16 دریافت می‌کند. برای اینکه یک کانتینر بتواند به‌صورت دوطرفه با دنیای بیرون از میزبان خود ارتباط برقرار کند، باید مجموعه‌ای از قوانین مشخص از طریق iptables برای آن تعریف شود.

در مثال نشان داده شده در شکل ۲:

پشتیبانی از IPv6

Docker از IPv6 نیز پشتیبانی می‌کند، و این امکان را فراهم می‌سازد که کانتینرها با آدرس‌های کاملاً قابل مسیریابی (routable) مستقیماً با یکدیگر در ارتباط باشند، حتی اگر روی میزبان‌های مختلف قرار داشته باشند. اما توجه داشته باشید که این ویژگی فقط در محیط‌هایی کاربرد دارد که IPv6 به‌صورت کامل پیاده‌سازی شده باشد؛ در نتیجه برای بسیاری از سازمان‌ها ممکن است هنوز کاربرد عملی نداشته باشد.

SDN و شبکه‌سازی در Docker

در مراکز داده نرم‌افزارمحور (SDDC)، مفهوم شبکه‌سازی نرم‌افزارمحور (SDN) نقش کلیدی دارد. SDN این امکان را فراهم می‌کند که:

در Docker، شبکه‌ها بر اساس مفهوم Bridge Network ساخته می‌شوند که می‌توانند به Open vSwitch (OVS) متصل شوند. این اتصال، قابلیت یکپارچگی با فناوری‌هایی مثل VXLAN یا GRE را فراهم می‌کند.

مزایای استفاده از Open vSwitch با Docker:

به‌عنوان نمونه، ممکن است یک دیتاسنتر همچنان بخواهد برخی سرویس‌های مهم مانند پایگاه‌داده‌ها یا نودهای پردازشی سنگین را در قالب VM اجرا کند، در حالی که سایر قسمت‌های اپلیکیشن در کانتینرها باشند.

نیاز به ADC هوشمند در محیط‌های مقیاس‌پذیر

در چنین محیط‌های پیچیده‌ای، مقیاس‌پذیری برنامه‌ها نیازمند سرویس‌هایی نظیر:

است. راهکارهای F5 از VXLAN و GRE به‌صورت چندمستأجری (Multi-tenant) پشتیبانی می‌کنند تا بتوانند این سرویس‌ها را درون تونل‌ها ارائه دهند.

همچنین، F5 توانایی تعامل (Interoperability) میان انواع کپسوله‌سازی شبکه‌ای را دارد، از جمله:

شکل 3 : F5 قابلیت کارکرد بین انواع مختلف کپسوله‌کردن (encapsulation) مثل VLANهای 802.1Q را فراهم می‌آورد.

در سناریویی که در شکل ۳ نمایش داده شده است، ممکن است لایه‌های حیاتی اپلیکیشن مانند پایگاه‌داده‌ها در بخش متفاوتی از دیتاسنتر نسبت به میزبان‌های Docker قرار گرفته باشند. در چنین مواردی، برای اتصال این زیرشبکه‌های فیزیکی مجزا در قالب یک شبکه‌ی اجاره‌ای (Tenant Network) می‌توان از تکنولوژی‌های GRE یا VXLAN استفاده کرد.

نقش BIG-IP در اتصال لایه‌های Docker و VM

راهکارهای BIG-IP از شرکت F5 می‌توانند به‌صورت یکپارچه در لایه‌ی tenant شبکه قرار گیرند. این اتصال از طریق ایجاد یک VXLAN Tunnel Endpoint (VTEP) روی نمونه‌ی BIG-IP انجام می‌شود. به این ترتیب، BIG-IP:

گسترش قابلیت‌های شبکه Docker با SDN و F5

از نسخه‌ی ۱.۷ به بعد، Docker برخی قابلیت‌های آزمایشی (Experimental) را معرفی کرد که شبکه‌سازی در آن را به سمت مفاهیم SDN گسترش می‌دهد. معماری جدید مبتنی بر پلاگین این امکان را فراهم می‌کند که سرویس‌های شبکه و تحویل برنامه‌ی F5 را در قالب سناریوهای متنوعی وارد ساختار Docker کنیم. این موارد شامل:

مسیر F5 در حوزه‌ی کانتینرسازی Docker

شرکت F5 با ارائه‌ی طیف وسیعی از محصولات، امکان مجازی‌سازی سرویس‌های شبکه و امنیتی را فراهم کرده است. به‌عنوان پیشرو بازار ADC (Application Delivery Controller) در لایه‌های ۴ تا ۷، F5 به‌طور مداوم فناوری‌های نوین را بررسی و در محصولات مختلف خانواده‌ی BIG-IP توسعه می‌دهد. مزیت کلیدی BIG-IP این است که تمام پلتفرم‌ها دارای چارچوب زیرساختی مشترک هستند، بنابراین قابلیت‌ها به‌آسانی در میان آن‌ها قابل اشتراک‌گذاری است.

همان‌طور که در شکل ۴ مشخص شده است، F5 از سخت‌افزار اختصاصی تا راهکارهای ابری و as-a-service طیف کاملی از سرویس‌ها را برای لایه‌های ۴ تا ۷ ارائه می‌دهد. این معماری باعث می‌شود که BIG-IP بتواند به‌خوبی از اپلیکیشن‌هایی که در کانتینرهای Docker اجرا می‌شوند پشتیبانی و محافظت کند.

شکل 4 : F5 مجموعه‌ای کامل از سرویس‌های تحویل اپلیکیشن و سرویس‌های امنیتی را در یک پلتفرم واحد ارائه می‌کند.

تکامل پلتفرم F5 همراه با Docker

همان‌طور که پیش‌تر اشاره شد، F5 مزایای Docker را در موارد استفاده مختلف به رسمیت می‌شناسد. با این حال، استقرار در زیرساخت‌های کانتینری هنوز در مراحل ابتدایی است و گزینه‌های متعددی برای کشف سرویس (مانند Consul، etcd و Mesos-DNS)، ارکستراسیون و مدیریت چرخه عمر سرویس‌های کانتینری (که شامل Mesos، OpenStack، Kubernetes، Docker و Cloud Foundry می‌شوند) وجود دارد. در حالی که سرویس‌های شبکه بخش حیاتی این اکوسیستم هستند، داشتن یکپارچگی کامل با محیط ارکستراسیون برای اطمینان از استقرار یکپارچه اهمیت دارد. این نوع یکپارچگی همچنین برای در دسترس بودن و شفاف‌سازی سرویس‌های لایه ۴ تا ۷ برای کاربران در حال استقرار اپلیکیشن‌های مبتنی بر میکروسرویس در زیرساخت کانتینری حیاتی است. رویکرد F5 بر ارائه تجربه‌ای یکسان در سرویس‌ها و نیز تجسم وضعیت در محیط‌های بر پایه سخت‌افزار، مجازی‌سازی یا کانتینری متمرکز است.

اولین بخش از حل مسئله، ارائه سرویس‌های شبکه برای ترافیک شمال-جنوب (یعنی ترافیکی که به میکروسرویس‌های سمت کلاینت وارد می‌شود) است. بیشتر پلتفرم‌های ارکستراسیون پیشرو قابلیت استقرار، مقیاس‌پذیری و اتصال سرویس‌های کانتینری به جهان بیرون را فراهم می‌کنند. با فراهم‌کردن یکپارچگی قوی با پلتفرم‌های پیشروی ارکستراسیون کانتینر، F5 اطمینان حاصل می‌کند که سرویس‌های میکروسرویس شمال-جنوب می‌توانند به‌صورت خودکار توسط سیستم‌های BIG-IP شناسایی شوند، که سپس می‌توانند ترافیک این سرویس‌ها را مدیریت کنند. برای مثال، Mesosphere Marathon و Kubernetes امکان برچسب‌گذاری سرویس‌ها را فراهم می‌کنند. این برچسب‌ها می‌توانند برای کشف سرویس‌های سمت کلاینت (در حال اجرا، حذف شده یا مقیاس‌یافته) استفاده شوند و به‌طور خودکار به‌عنوان اعضای استخر به سیستم BIG-IP افزوده شوند.

استفاده از رویکرد بالا با سخت‌افزار یا نسخه‌های مجازی BIG-IP امکان تمرکز وظایف کلیدی با شتاب‌دهی سخت‌افزاری را فراهم می‌کند مانند:

F5 و ترجمه IPv4 به IPv6 با پشتیبانی از DNS

راهکارهای F5 این توانایی را فراهم می‌کنند که اپلیکیشن‌های کانتینری مقیاس‌پذیر شوند و همچنین ترجمه IPv4 به IPv6 و DNS بین زیرساخت Docker و شبکه خارجی انجام شود. برای بهره‌برداری کامل از یک زیرساخت کانتینری قابل مسیریابی، سازمان‌ها به‌غیر از یک تابع شبکه‌ای مؤثر برای IPv4 به IPv6، نیاز به پشتیبانی از ترجمه درخواست‌های DNS نیز دارند. زیرساخت کانتینری Docker می‌تواند به‌صورت کامل در IPv6 فعالیت کند، به‌صورت کاملاً ایزوله از IPv4، و در عین حال مسیر ارتباطی یکپارچه‌ای با شبکه IPv4 را حفظ نماید.

شکل 5 : سیستم‌های BIG-IP هم DNS64 و هم NAT64 را انجام می‌دهند تا امکان اتصال IPv6 به IPv4 میسر شود.

در مثال نشان‌داده‌شده در شکل ۵، سرویس‌های NAT64 و DNS64 (چه به‌صورت فیزیکی و چه مجازی) پیاده‌سازی شده‌اند. کانتینر Docker تلاش می‌کند به www.example.com متصل شود که در این مثال هیچ آدرس IPv6 برای آن وجود ندارد.

سیستم BIG-IP به‌عنوان DNS Resolver برای نصب پلتفرم Docker پیکربندی شده است. این سیستم دارای یک آدرس IPv6 برای Resolver DNS خود و همچنین یک پیشوند ویژه آدرس IPv6 (که به رنگ قرمز نمایش داده شده) برای ترجمه IPv4 به IPv6 است.

زمانی که دستگاه BIG-IP درخواست DNS با IPv6 را دریافت می‌کند، ابتدا یک عملیات بازگشتی انجام می‌دهد تا بررسی کند که آیا آدرس IPv6 در دسترس است یا خیر. با این حال، در این مثال، سرور DNS مرجع برای www.example.com در پاسخ به درخواست AAAA یک رکورد خالی برمی‌گرداند. سپس دستگاه BIG-IP یک درخواست DNS مبتنی بر IPv4 ارسال می‌کند و یک رکورد A دریافت می‌کند. سپس پیشوند ویژه را به آدرس IPv4 اضافه کرده و آن را به کلاینت Docker بازمی‌گرداند.

اکنون کلاینت Docker آدرس مقصد را حل کرده و یک اتصال TCP آغاز می‌کند. از آنجا که Docker از پیشوند ویژه استفاده کرده، عملکرد NAT64 تشخیص می‌دهد که ترجمه IPv6 به IPv4 مورد نیاز است.

عملکرد NAT64 یک نگاشت برای اتصال بین آدرس IPv6 مربوط به Docker، آدرس NAT64 با پیشوند ویژه برای سرور IPv4 و خود سرور IPv4 ایجاد می‌کند. درخواست اتصال به سرور IPv4 ارسال می‌شود. تمام پاسخ‌ها از آن سرور که از طریق IPv4 پاسخ می‌دهد، توسط عملکرد NAT64 ترجمه می‌شوند تا ارتباط بین کانتینر Docker و سرور IPv4 برقرار شود.

F5 و جریان‌های ترافیکی شرق-غرب (E-W)

گام حیاتی بعدی در یکپارچگی عمیق، ارائه سرویس‌ها برای ترافیک شرق-غرب (E-W) است—یعنی داده‌هایی که بین میکروسرویس‌هایی که نیاز به خدمات ADC دارند، عبور می‌کنند. با توجه به نیاز به راه‌اندازی سرویس‌ها در عرض چند ثانیه و ماهیت زودگذر میکروسرویس‌ها، رویکرد F5 فعال‌سازی یک ADC سبک‌وزن است. (برای سرویس‌های پیشرفته مانند احراز هویت یا محافظت در سطح لایه ۷، ترافیک به نمونه BIG-IP در مرز شمال-جنوب هدایت می‌شود.)

تعداد سرویس‌های کانتینری‌شده در یک معماری میکروسرویس به‌مراتب بیشتر از معماری سنتی است و مسیرهای ارتباطی مختلفی بین میکروسرویس‌ها وجود دارد. اثر جانبی احتمالی این معماری پیچیدگی آن است که ممکن است رفع مشکل عملکرد را دشوارتر کند. برای مثال، اگر یک اپلیکیشن عملکرد ضعیفی از خود نشان دهد، مهم است که دید سرتاسری از سرویس‌های مختلف تا مرز N-S داشته باشیم. بنابراین، یک رویکرد تجسم مرکزی که بتواند الگوهای ترافیکی را بین سیستم BIG-IP در دامنه N-S و ADC سبک‌وزن در دامنه E-W همبسته کند، برای عیب‌یابی بسیار حیاتی است.

نمونه‌هایی از راهکارهای BIG-IP F5 همچنین می‌توانند بین برنامه‌ها قرار گیرند تا تعادل بار یا خدمات امنیتی را فراهم کنند و نگرانی‌های امنیتی برای ترافیک E-W را رفع نمایند. برای مثال، یک میزبان Docker می‌تواند طوری پیکربندی شود که ترافیک از یک کانتینر ابتدا از طریق سیستم BIG-IP برای تحلیل عبور کرده و سپس وارد کانتینر دیگر شود. این امر می‌تواند با استفاده از BIG-IP Application Security Manager™ (ASM) انجام شود که فهم عمیقی از اپلیکیشن دارد و می‌تواند تشخیص دهد که آیا کانتینر مورد نظر تحت حمله است (مانند بهره‌برداری از یک آسیب‌پذیری).

رویکرد مرحله‌ای F5 برای ارائه سرویس‌های Docker

امروزه بسیاری از استقرارهای موفق مشتریان F5 از کانتینرسازی در مقیاس بسیار بزرگ استفاده می‌کنند. این سازمان‌ها طیف گسترده‌ای از بازارها را شامل می‌شوند، از جمله مالی، مخابراتی و ارائه‌دهندگان SaaS. نقش راهکارهای F5 در این محیط‌ها در حال حاضر شامل ارائه خدمات ADC به این محیط‌ها برای اطمینان از سریع، امن و در دسترس بودن اپلیکیشن‌هاست. این سرویس‌ها می‌توانند طوری یکپارچه شوند که امکان ارائه خودکار به مالکین اپلیکیشن یا تیم‌های DevOps را فراهم کنند—یا این سرویس‌ها از طریق سیستم مدیریت کانتینرها ارکستره شوند.

F5 قصد دارد این سرویس‌ها را به داخل زیرساخت کانتینری نیز گسترش دهد تا کشف سرویس، مدیریت ترافیک E-W و امنیت را پوشش دهد. F5 همچنین برنامه دارد تا از کانتینرسازی در مجموعه محصولات خود بهره‌برداری کند؛ استفاده از این فناوری در پلتفرم‌های فیزیکی، ارائه خدمات نرم‌افزاری در قالب کانتینر، و استفاده از معماری کانتینری درون پلتفرم سرویس‌های ابری F5 Silverline® از جمله این برنامه‌هاست.

جدول زیر نمایی از مسیرهایی را که F5 در حال بررسی یا توسعه فعالانه آن‌هاست، ارائه می‌دهد:

قابل استفاده در حال حاضر

کوتاه‌مدت

میان‌مدت  

آینده  

محصولات BIG-IP با استفاده از VIP به پورت L4 و نگاشت IP، اطمینان از در دسترس بودن بالا و مقیاس‌پذیری برنامه‌های کانتینری را فراهم می‌کنند و دارای API کامل REST برای ادغام با ابزارهای ارکستراسیون هستند. تمام مجموعه قابلیت‌های در دسترس بودن، تسریع، کشینگ و عملکردهای DNS قابل پیاده‌سازی در محیط‌های Docker بوده و همراه با قابلیت‌های پیشرفته حفاظت و مقابله امنیتی F5 ارائه می‌شوند.

علاوه بر این، F5 افزونه‌هایی ارائه می‌دهد که امکان اجرای تمام فرم‌فکتورهای BIG-IP را در محیط‌های Docker با استفاده از OpenStack فراهم می‌کند.

پلتفرم F5 Silverline از قابلیت محاسباتی انعطاف‌پذیر برای ارائه عملکرد پیشرفته مقابله با حملات DDoS رفتاری به‌عنوان بخشی از سرویس اشتراکی بهره خواهد برد.

قابلیت‌های جدید شبکه‌سازی Docker امکان افزودن سرویس‌های جدید برای پروفایلینگ پیشرفته ترافیک شرق-غرب (E-W)، اعمال سیاست‌ها و تحلیل امنیتی را فراهم می‌کند، همراه با امکانات بازرسی ترافیک و دیدپذیری کامل.

F5 فعالانه به دنبال کشف قابلیت‌های جدید برای فناوری F5 vCMP است تا چگالی  VMها بیشتر شده و پایه و اساسی برای vCMP فراهم شود تا بتوان از مدل‌های جدید استقرار از جمله داکر استفاده نمود. 

F5 به دنبال آن است تا ردپای مدیر رایانش الستیک (elastic computing manager) را برای استفاده‌ی مشتریان فراهم آورد. به این ترتیب، راهکارهای BIG-IP در هر شکلی از آن می‌توانند از کارکرد رایانش کانتینری برای جریان‌های کاری مورد تقاضا بهره ببرند. 

F5 از یک استاندارد کانتینری باز (OCS) (open container standard) بهره می‌برد تا امکان اجرای سرویس‌های مجازی‌سازی در قالب‌های مختلف کانتینری فراهم شود. 

 

نتیجه‌گیری

Docker فرصت‌های روشنی برای بهبود کارایی مراکز داده، چه فیزیکی و چه مبتنی بر ابر، ارائه می‌دهد. همزمان، پذیرندگان Docker می‌توانند با اطمینان بیشتری بدانند که برنامه‌هایشان قابلیت انتقال به محیط‌های جدید را دارند. به‌طور حیاتی، Docker به توسعه‌دهندگان نرم‌افزار امکان می‌دهد چابک‌تر شوند و برنامه‌ها را سریع‌تر به بازار عرضه کنند. هنگام تحول مدل DevOps به سمت Docker، مشتریان اغلب فرصتی برای معرفی جریان‌های کاری جدید مبتنی بر خدمات استاندارد کوچک‌تر ایجاد می‌کنند که توسعه‌دهندگان می‌توانند برنامه‌های خود را بر روی آن‌ها قرار دهند.

Docker اجازه می‌دهد برنامه‌ها از طریق ایجاد سریع کانتینرهای سبک وزن به سرعت مقیاس‌پذیر شوند و محصولات تحویل برنامه F5 به‌طور کامل از چنین محیط‌هایی پشتیبانی می‌کنند. با استفاده از راهکارهای BIG-IP شرکت F5، مشتریان می‌توانند چرخه کامل عمر یک برنامه را هماهنگ کنند. این هماهنگی از طریق APIهای جامع REST برای عملیات حیاتی مانند ایجاد و نگهداری VIPها، مدیریت متمرکز SSL/گواهی‌نامه‌ها، خدمات فایروال و امنیت برنامه با قابلیت دسترسی بالا در معماری چند مستأجری امکان‌پذیر است.

Docker در مدل‌های متنوعی قابل استفاده است، از جمله استقرار در ابر عمومی و خصوصی. شرکت F5 در خط مقدم ارائه قابلیت همکاری و پشتیبانی از این محیط‌ها قرار دارد و عملکردهای کلیدی‌ای را ارائه می‌دهد که به‌صورت ویژه برای OpenStack، VMware و ارائه‌دهندگان بزرگ ابری مانند Amazon AWS و Microsoft Azure طراحی شده‌اند.

مشتریان که به مدل تحول‌یافته DevOps با حضور پررنگ Docker حرکت می‌کنند، درک می‌کنند که بهبودهای عملیاتی بالقوه به بستری بستگی دارد که مقیاس‌پذیر، امن، با دسترسی بالا و به اندازه نیاز جریان‌های کاری جدید چابک باشد. محصولات و خدمات F5 به گونه‌ای طراحی شده‌اند که با گسترده‌ترین مجموعه فناوری‌ها و شرکای تکنولوژی در صنعت همکاری کنند تا وعده‌های دیدگاه Docker را محقق سازند. تعهد F5 به Docker با سرمایه‌گذاری‌های مستمر در نقشه راه و بهبود مداوم محصولات حمایت می‌شود تا موفقیت یکی از مدل‌های غالب استقرار در مراکز داده نرم‌افزارمحور تضمین شود.