برنامه نویسی

پایان داکر؟ دلایل تغییر زمان توسعه دهندگان خود

داکر یک بار انقلاب کانتینر را رهبری کرد ، اما اوقات تغییر کرده است.
توسعه دهندگان در سال 2025 گزینه های سریعتر ، لاغر و امن تر را در آغوش می گیرند.

آیا داکر لبه خود را از دست می دهد؟

هنگامی که کودک پوستر Devops Docker بود. این امر با قابلیت حمل ، تکرارپذیری و چابکی توسعه دهنده همراه شد و کانتینر شدن معاصر جهان را به ارمغان آورد. “Docker” در اصل برای مدت طولانی یکسان بود که می گفت “ظروف”. این روش در نحوه توسعه ، آزمایش و اجرای آن به طور اساسی انقلابی ایجاد کرد.

اما بوم شناسی کانتینر در سال 2025 یک مسابقه یک اسب نخواهد بود. اگرچه داکر هنوز تا حدودی محبوب است ، اما تعداد فزاینده ای از شرکت ها و توسعه دهندگان جایگزین راه حل های سبک تر ، مدولار تر ، Kubernetes بومی برای آن هستند. بحث در حال حاضر مراکز که در آن زمان اجرا فصل بعدی نوآوری کانتینر را هدایت می کند ، نه در مورد اینکه آیا ظروف در اینجا برای ماندن هستند.

آیا Docker در حال مرگ است؟ نه کاملاً در مناطقی که امروزه بیشتر آنها را به حساب می آورند – عملکرد ، امنیت ، سازگاری و هزینه – از این امر بهتر است.

بگذارید نیروهای این تغییر را بررسی کنیم.

مسئله Docker در چشم انداز فعلی:

1. تغییر در مجوز و هزینه دسک تاپ داکر:
انتخاب داکر برای قرار دادن دسک تاپ داکر در پشت عضویت پرداخت شده برای سازمان های بزرگتر ، جزو بارزترین نقاط عطف بود. در حالی که مردم و پروژه های کوچک می توانند از آن آزادانه استفاده کنند ، شرکت ها کشف کردند که آنها باید یک بار رایگان هزینه کنند – و همیشه بهتر از انتخاب های جدید نیست.

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

2. مسائل مربوط به عملکرد ، به ویژه با ویندوز و MACOS:
Docker خیلی خوب در لینوکس اجرا می شود. Docker Desktop مدتهاست که برای کاربران MacOS و Windows دردسرهایی بوده است. به خصوص در حین ساختهای سنگین یا ارکستراسیون چند ظرف ، ظروف لینوکس را با استفاده از ماشین های مجازی تقلید می کند و در نتیجه عملکرد آهسته ، مصرف بیش از حد CPU و تخلیه باتری ایجاد می شود.

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

3. خطر امنیتی: مشکل Daemon ریشه
وابستگی داکر به یک Daemon ریشه دار از جمله انتخاب های معماری است که بیشتر با انتقاد از آن روبرو است. این سرویس مرکزی ظروف را کنترل می کند و خواستار امتیازات بالاتر است ، بنابراین سطح حمله احتمالی را در تنظیمات تولید افزایش می دهد.

اگرچه Docker با گذشت زمان با ویژگی هایی مانند نام های نام کاربر و حالت ریشه ای تکامل یافته است ، اما سازمان های آگاهی امنیتی معمولاً گزینه های ایجاد شده از پایین به بالا را با امنیت در ذهن می خواهند-مانند Podman ، که کاملاً بدون Daemon عمل می کند و می تواند به عنوان یک کاربر غیر ریشه عمل کند.

4. یک رویکرد یکپارچه در دنیای مدولار:
اکوسیستم داکر به سرعت گسترش یافت. برای ارکستراسیون چند کانتینر ، Swarm برای خوشه بندی ، و Docker Hub برای ثبت نام-همه محکم همراه است. این استراتژی همه در یک ابتدا Docker را جالب کرد.

اما دنیای فن آوری های بومی ابر تکامل یافته است و گرایش به ابزارهای تخصصی تا حدودی مرتبط است. این روزها ، Kubernetes کاملاً حاکم بر ارکستراسیون است. کلاهبرداری با بسته بندی. کانتینر مانند کانتینر اجرا می شود و فقط بر روی مدیریت کانتینر تمرکز دارد. ابزاری گسترده و در عین حال عقیده داکر در این زمین محدودتر از سودمند به نظر می رسد.

5
توسعه دهندگان سرانجام در مورد هجوم عمیق در ابزارهای خصوصی داکر محتاط هستند. اگرچه به طور کلی در آغوش گرفته می شود ، حتی نحو Dockerfile توسط یک استاندارد باز مانند تصویر OCI و نیازهای زمان اجرا کنترل نمی شود. به خصوص هنگامی که استانداردهای باز قول انعطاف پذیری و ثبات طولانی مدت را می دهند ، توسعه دهندگان ترجیح می دهند از محدود شدن به یک ابزار ابزار واحد جلوگیری کنند.

زمان های جایگزین کانتینر

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

PODMAN: یک جایگزین ایمن و بدون دلهره:

در ابتدا توسط Red Hat ساخته شده است ، Podman به سرعت به یک انتخاب پیشرو برای مدیران و توسعه دهندگان سیستم تبدیل شده است و اولویت اول امنیت و انطباق را ارائه می دهد. Podman ، بر خلاف Docker ، به یک Daemon مرکزی بستگی ندارد. در عوض ، آن را به طور طبیعی ایمن تر و ساده تر از ماسهبازی با استفاده از یک مدل چنگال/exec می کند.

Podman همچنین از ظروف بی ریشه حمایت می کند ، که به کاربران اجازه می دهد ظروف را بدون حقوق پیشرفته کار کنند. از آنجا که CLI آن تقریباً دقیقاً شبیه Docker است ، تیم هایی که به دنبال یک جایگزین امن تر و بدون بازنویسی فرآیند هستند ، تغییر را آسان می کنند.

کانتینر: انتخاب بومی ساخته شده توسط Kubernetes

در اصل برای داکر اساسی ، کانتینر شاخه ای از آن خارج شد و به بنیاد محاسبات بومی Cloud (CNCF) کمک کرد. به دنبال استهلاک Kubernetes 1.24 از پشتیبانی Docker ، توزیع Kubernetes اکنون از این زمان پیش فرض کانتینر استفاده می کند.

کانتینر تولید ، سبک و قابل ارتقا است. این یک عملکرد را انجام می دهد – مدیریت چرخه حیات کانتینر – و عالی است. در زیر کاپوت ، ارائه دهندگان ابر از جمله AWS (EKS) ، Google Cloud (GKE) و Azure (AKS) به کانتینر به عنوان یک راه حل قابل اعتماد و مقیاس پذیر برای محیط های مدیریت شده متکی هستند.

CRI-O: برای Kubernetes طراحی شده است:

هنوز یکی دیگر از زمان اجراهای میزبان CNCF که مخصوصاً برای Kubernetes طراحی شده است ، Cri-O است. به طور دقیق به دنبال رابط کاربری کانتینر (CRI) ، یک محیط در حال اجرا لاغر و هدفمند را حفظ می کند. در حالی که این یک ویژگی است نه یک نقص ، از بارهای کاری غیر Kubernetes پشتیبانی نمی کند.

CRI-O امنیت را با بریدن عناصر بیرونی و تمرکز فقط روی Kubernetes ساده می کند. زمان پیش فرض Red Hat OpenShift در اینجا است و تیم هایی که بر مینیمالیسم و ​​انطباق تأکید می کنند ، شروع به استفاده از آن می کنند.

لیما و فینچ: تجربه های برتر MACOS

مشکلات عملکردی با دسک تاپ Docker در MACOS خالی از بدن ایجاد می کند که اکنون فناوری هایی مانند لیما و فینچ پوشش می دهند. لیما ماشینهای مجازی لینوکس را برای MACOS متناسب با ساخت کانتینر در MACOS توسعه می دهد. ساخته شده بر روی Lima و Nerdctl ، یک CLI سازگار با Docker ، Finch ، یک پروژه با AWS ، یک جایگزین بی عیب و نقص و با کارایی بالا برای دسک تاپ داکر و بدون محدودیت های مجوز فراهم می کند.

Finch به سرعت در حال تبدیل شدن به گزینه جایگزین برای توسعه دهندگان MACOS است که به دنبال یک تجربه بومی با ابزارهای معاصر هستند.

سایر چهره های قابل توجه:

  • NerdCTL برای توسعه دهندگان که مایل به استفاده از نحو شناخته شده با یک زمان اجرا مدرن هستند ، طراحی شده است.
  • ایده آل برای خطوط لوله CI/CD ، Buildah ابزاری برای ایجاد تصاویر سازگار با OCI عاری از نیاز Daemon است.
  • MicroVM که توسط AWS ایجاد شده است ، استفاده در لامبدا و فارگیت را پیدا می کند. طراحی شده برای سیستم های چند مستاجر و بارهای کاری بدون سرور ، فوق العاده سبک و بسیار ایمن است.

این به معنای این برای توسعه دهندگان و تیم های DevOps چیست:

ظهور جایگزین ها به این معنی نیست که شما باید همین حالا داکر را رها کنید. با این حال ، این بدان معناست که توسعه دهندگان باید در جایی که Docker متناسب است ، تجدید نظر کنند و جایی که این کار را نمی کند.

هنوز هم در توسعه ارزشمند است. اکوسیستم ، ابزار ابزار و مستندات آن پیشرفته است. برای تعریف محلی و اجرای تنظیمات چند کانتینر ، Docker Compose هنوز یک ابزار عالی است.

اما در تنظیمات تولید – به ویژه کسانی که از Kubernetes استفاده می کنند – ممکن است انتخاب ایده آل باشد. Kubernetes امروز زمان هایی مانند Containerd و Cri-O را ترجیح می دهد. عملکرد بی ریشه از طریق Podman به محیط های آگاه امنیتی کمک می کند. به ویژه در MACOS ، سیستم عامل های حساس به عملکرد در جای دیگر می چرخند.

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

آیا هنوز باید تا سال 2025 از Docker استفاده کنید؟

بستگی دارد:

اگر از Docker استفاده کنید:

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

از طریق جایگزین ها باید فکر کنید:

  • شما از خوشه های Kubernetes استفاده می کنید. تناسب بهتر Containerd یا Cri-O است.
  • به ویژه در تنظیمات چند مستاجر یا تنظیم شده ، به امنیت تقویت شده نیاز دارید.
  • شما می خواهید به جای رویکرد صدور مجوز Docker به سمت ابزارهای باز بروید.
  • شما برای خطوط لوله CI یا عملکرد MACOS به حداکثر می رسید. یکی دیگر از استراتژی های ترکیبی محبوب ، بستگی به کانتینر یا Podman در CI/CD و تنظیمات تولید در هنگام توسعه محلی با Docker دارد.

آینده کانتینر:

داکر در حال تغییر است ، ناپدید نمی شود. دنیای کانتینر سریع در حال تغییر به سمت استانداردهای باز ، زمان سبک وزن و ایده های ابر بومی هدایت می شود. اگرچه دیگر مرکز جهان کانتینر نیست ، اما Docker هنوز هم مهم است.

آنچه ما می بینیم اکوسیستم است که داکر به جای مرگ او به رشد بلوغ کمک کرده است. گزینه های بیشتری که اکنون برای توسعه دهندگان در دسترس است ، فایده ای دارد.

برندگان در این زمین جدید ابزاری به اندازه کافی مدولار خواهند بود که متناسب با هر گردش کار ، باز با طراحی و ابزارهای پیش فرض ایمن است.

داکر مسیر را روشن کرد. اما طیف گسترده تری از بازیکنان – که هر یک از کانتینریزاسیون به سطح بعدی می روند – به تعریف جاده پیش رو کمک می کند.

در مورد شما

شما از Docker دور شده اید؟ آیا از Podman ، Container یا هر چیز دیگری استفاده می کنید؟ تجربه شما مثل این بوده است؟

به بحث بپردازید. آینده توسعه کانتینر در حال حاضر نوشته شده است. توسعه دهندگان مانند شما قلم را نگه دارید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا