شش سال پیش، Solomon Hykes به یافتن تجارتی به نام Docker کمک کرد که برای استفاده آسان از کانتینرها (container) بسیار مطلوب بود. با انتشار Docker 1.0 در ژوئن 2014، صحبتهای کم و بیشی که از Docker میشد تبدیل به یک غرش بزرگ شد، و با گذشت سالها، این غرش بلند و بلندتر شد.
همه این سر و صداها به این دلیل است که شرکتها Docker را با نرخ قابل توجهی پذیرفتهاند. در جولای 2014 در OSCon، مشاغل متعددی اجرا شد که پیش از این برنامههای سرور خود را از ماشینهای مجازی (VM) به کانتینرها منتقل کرده بودند.
در واقع، در این کنفرانس سه تا از بزرگترین مشتریان بانک بتا در حال انتقال آن به بخش تولید بودند. این یک حرکت مطمئن برای هر تکنولوژیای که اولین انتشار آن است محسوب میشود، و این تقریبا اتفاقی بیسابقه در دنیای امنیتی مالی بود.
امروز، Docker و پدر open-source آن که اکنون Moby نامیده میشود، بزرگتر از همیشه است. طبق گفته Docker، بیش از 3.5 میلیون برنامه با استفاده از فناوری داکر در کانتینرها قرار داده شدهاند و بیش از 37 میلیارد برنامه کانتینرشده دانلود شدهاند.
فقط داکر نیست که اظهار کرده است به چه چیز بزرگی رسیده است. 451 تحقیق نیز بیان کردهاند که فناوری داکر بسیار موفقیتآمیز است. پیش بینی شده است که بازار برنامههای کانتینری طی پنج سال آینده منفجر خواهد شد. انتظار میرود که درآمد سالانه 4 برابر افزایش یابد، از 749 میلیون دلار در سال 2016 تا بیش از 3.4 میلیارد دلار در سال 2021 رشد خواهد کرد، که نشاندهنده نرخ رشد ترکیبی سالانه 35% است.
از دادههای دنیای واقعی میتوان نتیجه گرفت که داکر به طور گسترده پذیرفته شده است. DataDog، یک سیستم مانتیتورینگ ابری، گفته است که در مارس 2016، 13.6% مشتریان Datadog داکر را پذیرفتهاند. یک سال بعد این تعداد به 18.8 درصد افزایش یافت. این تقریبا 40 درصد رشد سهم بازار در 12 ماه است. RightScale در گزارش ابری (Cloud) خود از RightScale 2018 State مشاهده کرد که پذیرش داکر توسط این صنعت از 35% در سال 2017 به 49% افزایش یافته است.
داکر، یک فناوری open-source، فقط برای قدرتهای لینوکس مثل Red Hat و Canonical محبوب نیست. شرکتهای نرمافزاری اختصاصی مانند اوراکل و مایکروسافت نیز داکر را پذیرفتهاند. امروزه، تقریبا همه شرکتهای cloud و IT داکر را پذیرفتهاند.
در واقع داکر ابزاری است که برای ایجاد سهولت در ساخت، استقرار (deploy) و اجرای برنامهها با استفاده از کانتینرها ساخته شده است. کانتینرها به توسعهدهنده اجازه میدهند تا یک برنامه را با همه بخشهای مورد نیاز مانند کتابخانهها و سایر وابستگیها بستهبندی کند و همه آنها را در یک بسته ارسال کند.
چرا شرکتها کانتینرهای داکر را پذیرفتهاند
خوب چرا همه عاشق کانتینرها و داکر هستند؟ James Bottomley، مدیر ارشد فناوری سابق مجازیسازی سرورهای Parallels و توسعهدهنده برجسته Linux kernel، توضیح داد که VM hypervisors، مثل Hyper-V، KVM و Xen، همه مبتنی بر emulating سختافزار مجازی هستند.
اما کانتینرها از سیستم عاملهای مشترک استفاده میکنند. این بدان معناست که آنها از نظر منابع سیستم بسیار کارآمدتر از hypervisors هستند. به جای مجازیسازی سختافزار، کانتینرها بالای یک نمونه لینوکس قرار دارند. Bottomley میگوید "این بدان معناست که شما میتوانید 99.9 درصد VM را پشت سر بگذارید و یک کپسول کوچک و مرتب که حاوی برنامهیتان است را به کار گیرید".
بنابراین طبق گفته Bottomley، با یک سیستم کانتینر کاملا تنظیم شده، میتوانید به اندازه 4 تا 6 برابر تعداد نمونه برنامههای سرور داشته باشید تا بتوانید از ماشینهای مجازی Xen یا KVM روی همان سختافزار استفاده کنید.
یکی دیگر از دلایل محبوب بودن کانتینرها این است که خود را در اختیار یکپارچهسازی مداوم/استقرار مداوم (CI/CD) میگذارند. این یک روش DevOps است که به منظور تشویق توسعهدهندگان به ادغام و یکپارچهسازی کدشان درون یک ریپازیتوری مشترک اولیه و سپس deploy کردن کد با سرعت بالا و به صورت کارآمد طراحی شده است.
داکر به توسعهدهندگان این امکان را میدهد که هر برنامهای را به عنوان یک کانتینر سبک، قابل حمل و خودکفا به راحتی بستهبندی، حمل و اجرا کنند، که تقریبا در هر کجا قابل اجراست.
کانتینرها با قادر ساختن توسعهدهندگان به جداسازی کد در یک کانتینر واحد این کار را انجام میدهند. این امر باعث میشود اصلاح و بهروزرسانی برنامه راحتتر شود.
Jay Lyman، تحلیگر ارشد 451 تحقیق افزود "سازمانهای بزرگ به دنبال این هستند که برنامهها و ظرفیتهای کاری را توزیعشده و پرتابلتر، به شیوهای موثر، استاندارد و قابل تکرار بسازند. درست همانطور که گیتهاب با سورس کد قابل اشتراک همکاری و نوآوری را برانگیخت، Docker Hub، Official Repos و پشتیبانی تجاری به شرکتها کمک میکنند تا با بهبود شیوه بستهبندی، استقرار و مدیریت برنامهها این چالش را پاسخ دهند".
با وجود همه این موارد جای تعجب نیست که محبوبترین روش برای ارائه برنامهها از طریق CI/CD کانتینرها هستند.
نتیجهگیری
به طور خلاصه داکر میتواند برنامههای در حال اجرای بسیاری را نسبت به سایر فناوریها بر روی همان سختافزار اجرا کند. این امر باعث میشود که توسعهدهندگان بتوانند به سرعت برنامههای کانتینرشده آماده اجرا را بسازند. همچنین مدیریت و استقرار برنامهها بسیار سادهتر میشود. همه این موارد را کنار هم بگذارید، متوجه خواهید شد که چرا داکر با این سرعت محبوب شده است.
در صورتی که به داکر علاقمند شدید میتوانید از دوره آموزش Docker در سایت استفاده کنید .
نظرات کاربران در رابطه با این دوره