مقدمه‌ای بر Containerization

سال‌هاست که دشواری در توسعه و نگهداری نرم‌افزارها یکی از دلایل اصلی ناکارآمدی سیستم‌های اطلاعاتی محسوب می‌شود. آن چیزی که مشتریان از یک سیستم اطلاعاتی پویا توقع و انتظار دارند با آنچیزی که توسط توسعه دهنده نرم‌افزار طراحی و ارائه می‌شود تفاوت بارزی دارد. به زعم بسیاری از افراد علت اصلی این نقصان بکارگیری اصول قدیمی کد نویسی و توسعه نرم‌افزار است و یکی از راهکارهای این مسئله بهره‌گیری از قابلیت‌های ارائه شده در مفهوم Containerization است. با توجه به معماری کانتینرها که در مقاله‌ای پیش از این بررسی شد، این امکان وجود دارد تا تحول اساسی در زمینه ارائه نرم‌افزار در بستر رایانش ابری در ابعاد گسترده ایجاد شود و امکان توسعه نرم‌افزار به روش چابک (Agile) به واقع محقق شود.

کانتینرها سطح جدیدی از توسعه چابک نرم‌افزار را فراهم می‌سازند که مرزهای این رویکرد که صرفا بر توسعه و بسته‌بندی نرم‌افزار و امکان ارائه آن در یک محیط Cloud با استفاده از وب سرویس‌ها خلاصه میشد را دگرگون کرده است. معماری کانتینر این امکان را فراهم می‌سازد تا یک نرم‌افزار سفارشی به هر مستاجر (Tenant) اختصاص یابد و هر کدامیک از مستاجران بتوانند به سفارشی سازی نرم‌افزار خارج از چارچوب بسته‌های استاندارد ارائه شده اقدام کنند. از آنجا که کانتینرها از یک سکوی مدیریت واحد سرویس می‌گیرند توسعه سیستم اطلاعاتی منوط به تغییر بسته استاندارد ارائه شده توسط ارائه دهنده آن نیست. هر مشتری می‌تواند به طور مستقیم بر سفارشی‌سازی سیستم با استفاده از API اقدام کند و یا با ارائه درخواست، version جدیدی که با آن صنعت بیشترین تناسب را دارد دریافت کند. در این سبک از دریافت سرویس کانتینری به مشتری ارائه می‌شود که نهایت انعطاف‌پذیری، چابکی و بهره‌وری در نحوه استفاده از منابع را حاصل می‌کند.

شرکت‌های بزرگ نرم‌افزار از نزدیک تحولات Containerization را دنبال می‌کنند تا با استفاده از سکو‌های توسعه DevOPs مخصوص در هر راهکار بتوانند بر مشکلات عدیده توسعه چابک نرم‌افزار فائق آیند. تولید و توسعه پیوسته یک سیستم اطلاعاتی بر روی کانتینرها و با استفاده از ابزارهای DevOPs از طریق حذف ضرورت‌های به روزرسانی و ارتقای سیستم‌عامل، استفاده موثر از فضا و تجهیزات گران قیمت دیتاسنتر، دریافت نیازهای لایه ذخیره‌سازی و شبکه از طریق وب‌سرویس‌ها توسعه چابک را تسهیل می‌نماید. اگرچه صحبت از حذف این مسائل به زبان ساده است و برای یک سیستم اطلاعاتی در سطح Enterprise برای یک سازمان قابل چشم پوشی، اما برای شرکت‌هایی که بایستی نرم‌افزار را در محیط ابر به چندین هزار سازمان متنوع ارائه دهنده تا زمینه رشد مداوم فعالیتشان را با تحقق نیاز وافعی مشتریانشان تضمین کنند بسیار دشوار است. بر طبق تحقیقی که شرکت Cloud Foundry در زمینه Containerization انجام داده است بیش از 64% تصمیم گیرندگان در سازمان‌های بزرگ دنیا در سال آینده به دنبال استفاده موثر از این معماری جدید در ایجاد خط تولید پیوسته نرم‌افزار هستند. نام معتبرترین توسعه دهندگان مفهوم کانتینر مانند CoreOS و Docker را شنیده‌اید در آینده برای درک بهتر توسعه چابک به بررسی راهکارهای کانتینر لینوکس بیس خواهیم پرداخت.

, , ,

Related Posts

برای نوشتن دیدگاه باید وارد بشوید.
فهرست