نیازهای در حال تحول فناوری اطلاعات و ظهور رویکردهای توسعه و استقرار چابک، زمینهساز پیدایش مفهومی به نام «کانتینریسازی» شدهاند؛ جایگزینی برای مجازیسازی کامل ماشین که در آن، برنامه کاربردی به همراه محیط اجرایی خود در یک کانتینر محصور میشود. کانتینریسازی راهکاری جذاب برای توسعهدهندگان است که امکان تکرار و بهروزرسانی سریعتر را فراهم میسازد. همچنین با کاهش سربار ناشی از ماشینهای مجازی، موجب بهرهبرداری بیشتر از منابع در مراکز داده تعریفشده با نرمافزار (SDDC) میشود.
با اینکه کانتینریسازی مفهومی جدید نیست، اما Docker، توسعهیافته توسط شرکت Docker, Inc.، به دلیل پشتیبانی گسترده صنعتی، استانداردسازی و قابلیتهای جامع، به عنوان انتخاب اصلی در این زمینه شناخته میشود. بنا بر تعریف رسمی شرکت، Docker «پلتفرمی باز برای ساخت، ارسال و اجرای برنامههای توزیعشده است که یک جعبهابزار مشترک در اختیار برنامهنویسان، تیمهای توسعه و مهندسان عملیات قرار میدهد تا از ماهیت شبکهای و توزیعشده برنامههای مدرن بهرهمند شوند.»
در نتیجه، Docker فرآیند مدیریت چرخه عمر برنامه را — از توسعه تا استقرار — سادهسازی کرده و قابلیت جابجایی برنامهها بین زیرساختهای مختلف را فراهم میکند. این ویژگی برای سازمانها اهمیت زیادی دارد، بهویژه در شرایطی که برنامهها میتوانند روی زیرساختهای مختلفی مانند ابر عمومی یا ابر خصوصی میزبانی شوند.
این مقاله، رویکرد شرکت F5 را در زمینه استفاده از کانتینرها در فناوریهای خود و پشتیبانی از Docker برای تحویل و امنیت برنامهها تشریح میکند. پیش از پرداختن به این استراتژی، ابتدا باید به چالشهای مراکز داده اشاره کرد و نشان داد که چرا فناوریهایی مانند کانتینرها و Docker برای تحویل نسل بعدی برنامههای سازمانی اهمیت حیاتی دارند.
نکته: این سند برای تصمیمگیرندگان فناوری اطلاعات، معماران سیستم و توسعهدهندگان تهیه شده است و فرض بر آن است که خواننده با مفاهیم مجازیسازی، توسعه نرمافزار و چرخه انتشار آشنایی دارد.
مطالعات اخیر در زمینه زیرساخت مراکز داده نشان میدهند که سازمانها با مجموعهای از نیازهای تکرارشونده برای تحول در مراکز داده روبرو هستند. مهمترین این نیازها عبارتاند از:
همزمان با ظهور روندهای جدید در توسعه برنامههای کاربردی، دیدگاه سازمانها نسبت به مدیریت چرخه عمر برنامهها تغییر کرده و به سمت الگوهای نوین زیر حرکت کردهاند:
از سوی دیگر، سازمانها برای افزایش چابکی در فرآیند انتشار نرمافزار، به سمت خودکارسازی زیرساختها با استفاده از ابزارهایی مانند Puppet، Chef، Ansible و همچنین روشهای DevOps Orchestration روی آوردهاند.
در شرایطی که شرکتها در حال توسعه برنامههای جدید و یا مهاجرت برنامههای فعلی به زیرساختهای ابری عمومی هستند، قابلیت جابجایی (Portability) یک اصل حیاتی محسوب میشود تا از قفلشدگی روی یک تأمینکننده خاص جلوگیری شود. گرچه فناوری ماشین مجازی (VM) تا حدی این انتزاع را فراهم میکند، اما بهدلیل تفاوت در پیادهسازیهای هایپروایزرها، ماشینهای مجازی از قابلیت جابجایی کامل برخوردار نیستند.
در این میان، Docker با ارائه راهکاری ساده و مؤثر برای مجازیسازی زیرساختها توانسته به فناوری پیشرو در دنیای کانتینرها تبدیل شود و چالشهای فوق را تا حد زیادی برطرف سازد.
کانتینرها نوعی مجازیسازی در سطح سیستمعامل هستند که هر برنامه را بهعنوان یک فرایند جداگانه اجرا میکنند. مفهوم کانتینر پیش از این نیز در سیستمعاملهایی مانند BSD (با Jails)، Oracle Solaris (با Zones) و لینوکس (با LXC) وجود داشته است. Docker با توسعه بر پایه LXC و ایجاد رابط کاربری ساده، به توسعهدهندگان این امکان را داده است که برنامهها را بدون نیاز به هایپروایزر، روی زیرساختهای ابری بسازند، بستهبندی و استقرار دهند.
Union File System یک فایل سیستم ترکیبی است که اجازه میدهد هر کانتینر بتواند سرویسهای خاص خود را ارائه دهد، حتی اگر مسیر یا نام فایل با فایلهای زیرین تداخل داشته باشد. برای نمونه، ممکن است یک کانتینر به نسخه ۲.۶ از یک کتابخانه پایتون نیاز داشته باشد و کانتینر دیگر به نسخه جدیدتر آن. اگر سیستم فایل اصلی فقط نسخه ۲.۶ را داشته باشد، کانتینر دوم میتواند نسخه جدیدتر را در قالب ایمیج کانتینر خود ارائه دهد.
این ویژگی باعث میشود حجم کانتینرها کاهش یابد، چرا که فقط اجزای ضروری برای اجرای برنامه در آنها گنجانده میشود.
فناوری کانتینری و ماشین مجازی، دو رویکرد متفاوت برای مجازیسازی و استقرار برنامهها هستند که هر یک مزایا و کاربردهای خاص خود را دارند. شکل مفهومی در Figure 1 نشاندهنده تفاوت ساختاری این دو فناوری است:
در مدل ماشین مجازی (VM)، برای اجرای هر برنامه نیاز به یک سیستمعامل مهمان (Guest OS) جداگانه وجود دارد. در این مثال، دو برنامه باید روی دو VM با دو سیستمعامل مجزا اجرا شوند، که این امر منجر به افزایش مصرف منابع، زمان راهاندازی بیشتر و پیچیدگی مدیریت میشود.
در مقابل، در مدل Docker کانتینری، تنها یک سیستمعامل میزبان (Host OS) برای اجرای چندین کانتینر کافی است. هر کانتینر شامل تنها آن چیزی است که برای اجرای برنامه نیاز دارد، بدون نیاز به سیستمعامل کامل. این معماری باعث میشود:
چگالی برنامهها در یک سرور افزایش یابد (application density)
مصرف منابع کاهش یابد
سرعت اجرا و مقیاسپذیری بهمراتب بالاتر باشد
در نتیجه، Docker با حذف سربار ناشی از سیستمعاملهای مهمان و سادهسازی ساختار، یک راهکار سبک، سریع و کارآمد برای استقرار برنامهها در زیرساختهای مدرن ابری و مبتنی بر DevOps فراهم میسازد.
در جدول زیر نیز قابلیتهای VM و Docker با هم مقایسه شدهاند:
همانطور که پیشتر اشاره شد، هدف اصلی Docker سادهسازی مدیریت چرخه عمر برنامههاست. در حالی که اجرای Docker روی سرور فیزیکی (bare metal) گزینهای جذاب است، اجرای آن روی ماشین مجازی (VM) نیز مزایای قابلتوجهی دارد. از جمله این مزایا میتوان به موارد زیر اشاره کرد:
قابلیت Snapshot گیری از کل ماشین و بازگردانی سریع آن در صورت نیاز
پشتیبانی از Live Migration (انتقال در لحظه VM بدون از دست دادن وضعیت جاری)، که برای سناریوهای بازیابی در زمان بحران (Disaster Recovery) بسیار حیاتی است
زیرساختها و راهکارهای مدیریت و ارکستراسیون پیشرو مانند VMware vRealize Suite، OpenStack و همچنین ابرهای عمومی مانند AWS و Azure، همگی از اجرای Docker روی ماشین مجازی پشتیبانی میکنند. این پلتفرمها محیط یکپارچهای را برای کانتینرها فراهم میکنند که باعث حفظ قابلیت جابجایی (Portability) برنامهها بدون وابستگی به محیط اجرایی میشود.
این مدل استقرار ناهمگون (heterogeneous deployment) به سازمانها اجازه میدهد بدون تغییر در زیرساخت فعلی خود از مزایای کانتینرها بهرهمند شده و سرعت توسعه و استقرار را بهطور چشمگیری افزایش دهند.
همچنین، با مهاجرت به مدل "یک VM و یک سیستمعامل به ازای هر میزبان"، مصرف منابع بهینهتر میشود؛ چرا که:
VMها نیازی به رقابت بر سر منابع ندارند
حافظه و فضای دیسک به شکل اختصاصی به یک سیستمعامل اختصاص مییابد
هایپروایزر نیز از مدیریت چندین سیستمعامل خلاص میشود و کارایی کلی سیستم بالا میرود
قابلیتهای شبکهسازی در Docker به کاربران این امکان را میدهد که شبکههای مجازی بین میزبانهای مختلف ایجاد کرده و کانتینرها را به این شبکهها متصل کنند. این قابلیتها شامل موارد زیر هستند:
کنترل کامل بر توپولوژی شبکه و تعریف اینکه کدام کانتینر میتواند با کدام سرویس یا کانتینر دیگر ارتباط داشته باشد
استفاده از افزونههای شبکهسازی (Network Plugins) برای یکپارچهسازی با زیرساختهای موجود بدون نیاز به تغییر در برنامهها
به طور پیشفرض، Docker برای هر کانتینر یک آدرس خصوصی تعریف میکند که تنها از طریق کانتینرهای دیگر روی همان میزبان قابل دسترسی است. برای اینکه کانتینرها از میزبانهای دیگر نیز قابل دستیابی باشند، باید از طریق سیستم ترجمه آدرس شبکه (NAT) مبتنی بر iptables هدایت شوند.
مثال تصویری (شکل ۲) در متن اصلی نشان میدهد چگونه یک سرویس از میزبان دیگر از طریق NAT به کانتینر مقصد متصل میشود.
در Docker، اینترفیس شبکه میزبان (مثلاً eth0) معمولاً با یک آدرس IP (مثلاً 192.168.10.10 که یک آدرس خصوصی طبق RFC1918 است) در دسترس قرار میگیرد. هر کانتینر نیز هنگام اجرا بهصورت خودکار آدرسی در رنج 172.17.0.0/16 دریافت میکند. برای اینکه یک کانتینر بتواند بهصورت دوطرفه با دنیای بیرون از میزبان خود ارتباط برقرار کند، باید مجموعهای از قوانین مشخص از طریق iptables برای آن تعریف شود.
در مثال نشان داده شده در شکل ۲:
کانتینر A از طریق آدرس 192.168.10.10:80 قابل دسترسی است
کانتینر B با پورت 81 در همان آدرس (192.168.10.10:81) در دسترس قرار دارد
کانتینر C فقط میتواند با کانتینرهای دیگر از طریق آدرسهای داخلی مانند 172.17.0.x ارتباط برقرار کند، چون NAT برای آن تنظیم نشده است
پشتیبانی از IPv6
Docker از IPv6 نیز پشتیبانی میکند، و این امکان را فراهم میسازد که کانتینرها با آدرسهای کاملاً قابل مسیریابی (routable) مستقیماً با یکدیگر در ارتباط باشند، حتی اگر روی میزبانهای مختلف قرار داشته باشند. اما توجه داشته باشید که این ویژگی فقط در محیطهایی کاربرد دارد که IPv6 بهصورت کامل پیادهسازی شده باشد؛ در نتیجه برای بسیاری از سازمانها ممکن است هنوز کاربرد عملی نداشته باشد.
در مراکز داده نرمافزارمحور (SDDC)، مفهوم شبکهسازی نرمافزارمحور (SDN) نقش کلیدی دارد. SDN این امکان را فراهم میکند که:
تونلهای شبکهای جداگانه برای هر مستأجر (tenant) تعریف شود، حتی اگر همه روی یک سختافزار فیزیکی اجرا شوند
شبکههای لایه ۲ مجازی درون دیتاسنترهای ابری ایجاد شود، حتی زمانی که بستر اصلی مبتنی بر مسیریابی (routing) باشد
در Docker، شبکهها بر اساس مفهوم Bridge Network ساخته میشوند که میتوانند به Open vSwitch (OVS) متصل شوند. این اتصال، قابلیت یکپارچگی با فناوریهایی مثل VXLAN یا GRE را فراهم میکند.
مزایای استفاده از Open vSwitch با Docker:
ایجاد جداسازی شبکهای در لایه ۲ برای پشتیبانی از چند مستأجری (Multi-tenancy)
امکان اتصال آسان به سایر محیطهای مجازیشده (مانند VMها)
پشتیبانی از سناریوهایی که ترکیبی از کانتینرها و ماشینهای مجازی در آنها وجود دارد
بهعنوان نمونه، ممکن است یک دیتاسنتر همچنان بخواهد برخی سرویسهای مهم مانند پایگاهدادهها یا نودهای پردازشی سنگین را در قالب VM اجرا کند، در حالی که سایر قسمتهای اپلیکیشن در کانتینرها باشند.
نیاز به ADC هوشمند در محیطهای مقیاسپذیر
در چنین محیطهای پیچیدهای، مقیاسپذیری برنامهها نیازمند سرویسهایی نظیر:
لودبالانسینگ
SSL Offloading
فایروال
امنیت برنامهها (WAF)
ترجمه آدرس شبکه (NAT)
DNS
است. راهکارهای F5 از VXLAN و GRE بهصورت چندمستأجری (Multi-tenant) پشتیبانی میکنند تا بتوانند این سرویسها را درون تونلها ارائه دهند.
همچنین، F5 توانایی تعامل (Interoperability) میان انواع کپسولهسازی شبکهای را دارد، از جمله:
تونلهای GRE و VXLAN
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 با ارائهی طیف وسیعی از محصولات، امکان مجازیسازی سرویسهای شبکه و امنیتی را فراهم کرده است. بهعنوان پیشرو بازار ADC (Application Delivery Controller) در لایههای ۴ تا ۷، F5 بهطور مداوم فناوریهای نوین را بررسی و در محصولات مختلف خانوادهی BIG-IP توسعه میدهد. مزیت کلیدی BIG-IP این است که تمام پلتفرمها دارای چارچوب زیرساختی مشترک هستند، بنابراین قابلیتها بهآسانی در میان آنها قابل اشتراکگذاری است.
همانطور که در شکل ۴ مشخص شده است، F5 از سختافزار اختصاصی تا راهکارهای ابری و as-a-service طیف کاملی از سرویسها را برای لایههای ۴ تا ۷ ارائه میدهد. این معماری باعث میشود که BIG-IP بتواند بهخوبی از اپلیکیشنهایی که در کانتینرهای Docker اجرا میشوند پشتیبانی و محافظت کند.
همانطور که پیشتر اشاره شد، F5 مزایای Docker را در موارد استفاده مختلف به رسمیت میشناسد. با این حال، استقرار در زیرساختهای کانتینری هنوز در مراحل ابتدایی است و گزینههای متعددی برای کشف سرویس (مانند Consul، etcd و Mesos-DNS)، ارکستراسیون و مدیریت چرخه عمر سرویسهای کانتینری (که شامل Mesos، OpenStack، Kubernetes، Docker و Cloud Foundry میشوند) وجود دارد. در حالی که سرویسهای شبکه بخش حیاتی این اکوسیستم هستند، داشتن یکپارچگی کامل با محیط ارکستراسیون برای اطمینان از استقرار یکپارچه اهمیت دارد. این نوع یکپارچگی همچنین برای در دسترس بودن و شفافسازی سرویسهای لایه ۴ تا ۷ برای کاربران در حال استقرار اپلیکیشنهای مبتنی بر میکروسرویس در زیرساخت کانتینری حیاتی است. رویکرد F5 بر ارائه تجربهای یکسان در سرویسها و نیز تجسم وضعیت در محیطهای بر پایه سختافزار، مجازیسازی یا کانتینری متمرکز است.
اولین بخش از حل مسئله، ارائه سرویسهای شبکه برای ترافیک شمال-جنوب (یعنی ترافیکی که به میکروسرویسهای سمت کلاینت وارد میشود) است. بیشتر پلتفرمهای ارکستراسیون پیشرو قابلیت استقرار، مقیاسپذیری و اتصال سرویسهای کانتینری به جهان بیرون را فراهم میکنند. با فراهمکردن یکپارچگی قوی با پلتفرمهای پیشروی ارکستراسیون کانتینر، F5 اطمینان حاصل میکند که سرویسهای میکروسرویس شمال-جنوب میتوانند بهصورت خودکار توسط سیستمهای BIG-IP شناسایی شوند، که سپس میتوانند ترافیک این سرویسها را مدیریت کنند. برای مثال، Mesosphere Marathon و Kubernetes امکان برچسبگذاری سرویسها را فراهم میکنند. این برچسبها میتوانند برای کشف سرویسهای سمت کلاینت (در حال اجرا، حذف شده یا مقیاسیافته) استفاده شوند و بهطور خودکار بهعنوان اعضای استخر به سیستم BIG-IP افزوده شوند.
استفاده از رویکرد بالا با سختافزار یا نسخههای مجازی BIG-IP امکان تمرکز وظایف کلیدی با شتابدهی سختافزاری را فراهم میکند مانند:
Offload کردن SSL با مدیریت متمرکز گواهینامهها
شتابدهی شامل فشردهسازی، بهینهسازی TCP و پشتیبانی از SPDY/HTTP2
دیوار آتش پیچیده با محافظت در برابر حملات DoS
درک برنامهمحور برای مقابله با حملات در لایه اپلیکیشن
قابلیت مشاهده برای تمام اتصالات ورودی و خروجی شبکه
رفع اشکال بهبودیافته با لاگبرداری هوشمند و تشخیص ناهنجاری
راهکارهای F5 این توانایی را فراهم میکنند که اپلیکیشنهای کانتینری مقیاسپذیر شوند و همچنین ترجمه IPv4 به IPv6 و DNS بین زیرساخت Docker و شبکه خارجی انجام شود. برای بهرهبرداری کامل از یک زیرساخت کانتینری قابل مسیریابی، سازمانها بهغیر از یک تابع شبکهای مؤثر برای IPv4 به IPv6، نیاز به پشتیبانی از ترجمه درخواستهای DNS نیز دارند. زیرساخت کانتینری Docker میتواند بهصورت کامل در IPv6 فعالیت کند، بهصورت کاملاً ایزوله از IPv4، و در عین حال مسیر ارتباطی یکپارچهای با شبکه 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 برقرار شود.
گام حیاتی بعدی در یکپارچگی عمیق، ارائه سرویسها برای ترافیک شرق-غرب (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 از کانتینرسازی در مقیاس بسیار بزرگ استفاده میکنند. این سازمانها طیف گستردهای از بازارها را شامل میشوند، از جمله مالی، مخابراتی و ارائهدهندگان SaaS. نقش راهکارهای F5 در این محیطها در حال حاضر شامل ارائه خدمات ADC به این محیطها برای اطمینان از سریع، امن و در دسترس بودن اپلیکیشنهاست. این سرویسها میتوانند طوری یکپارچه شوند که امکان ارائه خودکار به مالکین اپلیکیشن یا تیمهای DevOps را فراهم کنند—یا این سرویسها از طریق سیستم مدیریت کانتینرها ارکستره شوند.
F5 قصد دارد این سرویسها را به داخل زیرساخت کانتینری نیز گسترش دهد تا کشف سرویس، مدیریت ترافیک E-W و امنیت را پوشش دهد. F5 همچنین برنامه دارد تا از کانتینرسازی در مجموعه محصولات خود بهرهبرداری کند؛ استفاده از این فناوری در پلتفرمهای فیزیکی، ارائه خدمات نرمافزاری در قالب کانتینر، و استفاده از معماری کانتینری درون پلتفرم سرویسهای ابری F5 Silverline® از جمله این برنامههاست.
جدول زیر نمایی از مسیرهایی را که F5 در حال بررسی یا توسعه فعالانه آنهاست، ارائه میدهد:
نتیجهگیری
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 با سرمایهگذاریهای مستمر در نقشه راه و بهبود مداوم محصولات حمایت میشود تا موفقیت یکی از مدلهای غالب استقرار در مراکز داده نرمافزارمحور تضمین شود.