Docker چیست؟
Docker چیست ؟ ، یک تغییر انقلابی در رایانش ابری
ِDucker چیست ؟ دنیای رایانش ابری و نرمافزارهای سازمانی نمایش بیپایانی از فناوریها، زبانها و سیستم عاملهای جدید را تجربه میکند.
بسیاری از آنها پس از پانزده دقیقه شهرت، از رده خارج میشوند. اما Docker متفاوت است. در ابتدا یک سیستم انحصاری بود
که به عنوان یک پروژه توسط Solomon Hykes در dotCloud شروع به کار کرد.
Docker در نیمه اول 2013 به سمت open source مهاجرت کرد. محبوبیت Docker به طور مداوم افزایش یافت و در سال 2014 به بالاترین حد خود رسید.
در اواسط سال 2015، بیش از 300 میلیون دانلود container رخ داده است. این پروژه بیش از 25000 بار در Github “ستاره دار” شده است.
تکنولوژی container با افزایش مجازی سازی و کاهش تاکید بر سیستم عامل ها در فضای ابری و نیز استقرار لینوکس، دوباره احیا شده است.
Docker چیست؟
Docker یک سیستم open-source از containerهای نرمافزار است. containerها به اجرای نرمافزار در حال انتقال از یک محیط به محیط دیگر کمک میکنند
(مثلا از رایانه یک برنامه نویس برای شروع به مرحله تولید) و تمام موارد موردنیاز برای اجرای یک برنامه درون خود container را دارند.
میزبان، زمان اجرا، کد، سیستم عامل، ابزارها، کتابخانهها و سایر مولفهها همه در یک محیط جداگانه قرار دارند.
همه چیز به خودی خود است، بنابراین برنامهنویسان نگران نباشند که چه نوع لینوکسی در هر کجا از برنامه در زمان مشخص استفاده میشود.
این عمل با استفاده از ماشین مجازی (VM) متفاوت است زیرا هیچ نگرانی در مورد سیستم عامل مورد استفاده وجود ندارد.
Docker امکان مجازیسازی سیستم عامل به همراه برنامه و اجزا مرتبط آنرا فراهم میکند که باعث میشود کل container:
- بسیار قابل حمل و قادر به اجرا در هر مکانی باشد
- سبک و بسیار مقیاسپذیر باشد
- مقرون به صرفه است زیرا تراکم زیاد آنها باعث میشود containerهای بیشتری روی یک ماشین قرار گیرند
- استقرار در cloud آسان است
Docker چیست؟
بیشتر بخوانید: مفهوم معماری کانتینر (Container) چیست؟
سیستم عاملهای مشترک
Hypervisors یا مدیران ماشینهای مجازی از سیستمهای سختافزاری واقعی الگوبرداری میکنند، اما الزامات سیستم آن نیز زیاد است.
containerها بار سنگینی روی منابع سیستم نمیگذارند زیرا از سیستم عاملهای مشترک استفاده میکنند.
Docker همچنین چرخه عمر توسعه را کوتاه میکند زیرا برنامهنویسان میتوانند با طیف گستردهای از پشتهها برنامههایی با زبانهای مختلف کدگذاری ایجاد کنند.
علاوه بر این، ماشینهای مجازی دارای برنامهها، سیستم عاملها و کتابخانههایی مرتبط هستند که با هم میتوانند
به اندازه گیگابایت زیادی رشد کنند. با Docker،containerها دارای هسته لینوکس هستند، اما هر چیز دیگری که درون هر container بستهبندی شده است،
آنها را بسیار کارآمدتر و قابل حملتر میکند. آنها بلافاصله از RAM به طور موثرتری استفاده میکنند. ورودی و خروجی دیسک و مدیریت تصویر نیز کارایی بیشتری دارند.
همه این عوامل توضیح میدهند که چرا Docker نمونه دیگری از افزایش محبوبیت نرمافزارهای open source نسبت به نرمافزارهای اختصاصی است.
استفاده از Docker همچنین در تولید با استقرار اجزای جداگانه سیستمها به طور مستقل از یکدیگر، در استقرار مداوم کمک میکند.
containerها در مقابل ماشینهای مجازی
داکر به قدری محبوب است که برخی از تحلیلگران صنعت درمورد احتمال لغو کلی ماشینهای مجازی به نفع فناوریهای کانتینری
مانند داکر و LXC صحبت میکنند. با این حال، استفاده از داکر بستگی به نیازهای خاص یک پروژه ندارد. داکر همیشه جواب نمیدهد.
کانتینرها در صورت نیاز به یک برنامه خاص برای انجام یک کار جداگانه، بهترین عملکرد را دارند.
ماشینهای مجازی دارای نمای کلانتری هستند و میتوانند در اکثر سیستم عاملهای مدرن اجرا شوند.
کانتینرها در برخی شرایط جواب میدهند در حالی که ماشینهای مجازی در سایر موارد و در برخی مواقع ،
هر دو باید همزمان مستقر شوند. معماران ابر باید بفهمند که چه زمان و کجا بهترین نوع استقرار برای سازمانهایشان موردنیاز است.
Containerها کارآمد هستند زیرا دارای سیستم عاملهای مشابه هستند. به هر حال برخی از سازمانها به دلیل اینکه میتوانند
از سیستم عاملهای بسیاری برخوردار باشند، hypervisors را به آن ترجیح میدهند.
شکایات دیگر در مورد Docker
- ساخت و استقرار کند و غیرقابل پیشبینی است
- برخی از طرفداران آن از قرار دادن دادهها در container پشتیبانی میکنند، عملی که تهیه پشتیبان یا شبیهسازی دادهها را دشوار میکند
- Docker توسعهدهنده پسند نیست
- برای مبتدیان لینوکس یادگیری سطح بالایی بشمار می رود
- دارای رابط خط فرمان لمسی و غیرقابل پیشبینی است
- امنیت آن ضعیفتر از ماشین مجازی است
وقتی یک فناوری مانند داکر در محبوبیت سر به فلک میکشد، تمایل به استفاده از آن در هر مورد استفاده بالقوه وجود دارد.
در حقیقت، Docker باید فقط هنگامی استفاده شود که بهترین راه حل برای مشکل خاص موجود باشد.
Docker چیست؟
ظهور ریز خدمات
داکر بخشی از یک حرکت گسترده در محاسبات به سمت استفاده از ریز خدمات است. میکروسرویسها نرمافزارهای کوچک و سریعی هستند
که در واحدهای خودگردان اجرا میشوند. مرزهای خدمات هر مولفه ایجاد سیستمهای ماژولار را آسان میکند.
ریز خدمات به جای پروژه در اطراف محصولات ساخته میشوند. رویکرد محصول به جای مشاهده نرمافزار به عنوان پروژهای که باید
تکمیل و تحویل داده شود، همکاری و مالکیت بین توسعه دهندگان و سهامداران را افزایش میدهد.
علاوه بر این، میکرو سرویسها برای خرابی طراحی شدهاند، به این معنی که بدون توجه به کیفیت ایجاد میشوند
تا هر زمان که اجزای جداگانه از کار بیفتند، سیستمها بتوانند به کار خود ادامه دهند.
ساخته با دوام
در حالی که پلت فرم داکر open source است، شرکت داکر از طریق ارائه پشتیبانی و خدمات درآمد کسب میکند
و به سرعت 15 میلیون دلار از Greylock Partners در ژانویه 2014 در یک دوره سرمایهگذاری سری B جمعآوری کرد.
تاکنون 180 میلیون دلار در پنج دور سرمایهگذاری جداگانه از شرکتهای معروف از جمله Goldman Sachs و Insight Venture Partners جذب کردهاند. سیلیکون ولی پشت پدیده داکر است.
داکر یک تکامل محاسباتی است که به این زودیها کنار نخواهد رفت. سیستم نرمافزاری container در زمانی منحصر به فرد ارائه میشود
که به طور فزایندهای به مجازی سازی، رایانش ابری، پردازش دادههای کارآمدتر، توسعه سریعتر برنامهها و استقرار آنها نیاز است.
داکر زندگی را به عنوان یک ستاره درخشان آغاز کرد اما به یک راه حل منطقی و محکم تبدیل شده است که تا سالهای سال ادامه یابد.
از ducker برای مستقر شدن و اجرال کردن برنامه ها توسط واسط است که به آن کانتینرگفته میشود
کانتینرها در واقع میتوانند قدرت مانور بیشتری به توسعه دهنده ها بدهند ، این امکان به توسعه دهنده ها
اجازه میدهد که تمامی بخش های مورد نیاز خود را مانند کتابخانه و بقیه بخش ها را بسته بندی کرده و به عنوان یک پکیج مستقر کند
به لطف کانتینر ها developer ها این امکان را دارند که بدون مدنظر قرار دادن تنظیمات خاصی که سیستم ها ممکن است
از آن برخوردار باشند و حتی نوشتن و تست کدهای خود آن را در سیستم ها و لینوکس های دیگر هم اجرا کنند
دوران آکادمی اقدام به برگزاری وبینار رایگان با موضوع Container on Wheels نموده است.
این وبینار به اهمیت به کارگیری Docker و Kubernetes در توسعه زیرساختهای نوین فناوری اطلاعات میپردازد.
دیدگاهتان را بنویسید