پیش از پرداختن به اهمیت مدیریت پیکربندی در دواپس (DevOps)، باید بدانید که برای درک مفهوم واقعی دواپس در یک سازمان، باید قدری با قواعد پایهای و اصلی آن آشنا باشید. این قواعد شامل کُدگذاری، راهاندازی، آزمایش، بستهبندی، انتشار، پیکربندی و نظارت است. هر قاعده نیز با مجموعهای از بهینروشهای خود همراه است.
اما چرا مدیریت پیکربندی (Configuration Management) در دواپس تا این اندازه مهم است؟ چون کمک میکند وظایف خستهکننده و تکراری را خودکارسازی کنید و چابکی سازمان را افزایش میدهد. علاوه بر این، مدیریت پیکربندی به طور کلی دواپس را پشتیبانی میکند و بسیاری از افراد بر سر این موضوع توافق دارند که مدیریت پیکربندی در دواپس ضروری است و اینطور نیست که صرفاً یکی دیگر از اجزای این فرآیند باشد.
در مقالهی زیر قصد داریم در مورد اهمیت مدیریت پیکربندی در دواپس بیشتر صحبت کنیم و بهویژه به موارد زیر بپردازیم:
- مدیریت پیکربندی چیست؟
- سه مؤلفهی تشکیلدهندهی مدیریت پیکربندیِ جامع دواپس.
- پیامدهای مدیریت پیکربندی موفق.
اگر قصد دارید دواپس را در کسب وکار سازمانی خود اجرا کنید، این راهنمای مدیریت پیکربندی را از دست ندهید.
مدیریت پیکربندی چیست؟
مدیریت پیکربندی هنگامی پیش میآید که برای خودکارسازی، نظارت، طراحی و مدیریت فرآیندهای پیکربندی، به روشی غیر از روش دستی روی میآوریم و از یک پلتفرم پیکربندی استفاده میکنیم. تغییرات گستردهی سیستم در سرتاسر سِرورها و شبکهها، سیستم ذخیرهسازی، برنامههای کاربردی و سیستمهای مدیریتی دیگر اتفاق میافتد.
یکی از عملکردهای مهم مدیریت پیکربندی تعریف وضعیت هر سیستم است. با سازماندهی این فرآیندها به کمک یک پلتفرم، سازمانها میتوانند از ثبات در سرتاسر سیستمهای یکپارچه مطمئن شوند و شاهد افزایش کارآیی باشند. درنتیجه، کسبوکارها میتوانند با سرعت و سهولت بیشتری گام بردارند، بدون اینکه کارمندان بیشتری برای مدیریت IT استخدام کنند. به این ترتیب، شرکتهایی که منابع انسانی کافی ندارند، میتوانند با استفاده از رویکرد دواپس رشدشان را تسریع کنند.
مدیریت پیکربندی ارتباط تنگاتنگی با مدیریت تغییر (Change Management) دارد. در نتیجه، این دو اصطلاح گاهی با هم اشتباه گرفته میشوند. به بیان ساده، مدیریت پیکربندی بیشتر با مفاهیم خودکارسازی و مدیریت و نگهداری پیکربندیها در هر وضعیت توصیف میشود. در حالیکه مدیریت تغییر، فرآیندی است که به وسیلهی آن، پیکربندیها بازتعریف میشوند و تغییر میکنند تا شرایط را برای نیازهای جدید و موقعیتهای پویا فراهم کنند.
آزمایش (testing) و تحویل (delivery) دو مزیت اساسیِ دواپس هستند و هستهی مرکزیِ این مزایا مدیریت درست و کارآمد پیکربندی است.
اجزای مدیریت پیکربندی در دواپس
شما هم احتمالاً بر اساس مشاهدات و تجربیات مختلفی که پیش از این داشتهاید، به خوبی به این امر واقفاید که مدیریت پیکربندی مسئولیت اصلیِ سه دستهی گسترده را برعهده دارد که برای تحول دواپس ضروری هستند: شناسایی، کنترل و فرآیندهای بازرسی.
شناسایی
فرآیند یافتن و فهرست کردنِ نیازهای پیکربندی در گسترهی کل سیستم.
کنترل
در حین کنترل پیکربندی، شاهد اهمیت مدیریت تغییر هستیم. این احتمال بسیار وجود دارد که نیازهای پیکربندی با گذشت زمان تغییر کنند. کنترل پیکربندی سبب میشود که این تغییرات به شکلی کنترلشده اتفاق بیفتند تا سبب بیثباتی در یکپارچگیها و زیرساختهای موجود نشوند.
بازرسی
همچون بیشتر فرآیندهای بازرسی، در فرآیند بازرسی پیکربندی هم، سیستمهای موجود بررسی میشوند تا اطمینان حاصل شود که با الزامات مورد توافق منطبق هستند.
مدیریت پیکربندی، مانند دواپس، در هر دو سطح «توسعه» و «عملیات» جریان دارد. این کار به صورت حسابشده و با اهدافِ از پیش تعیینشده انجام میشود. برخی مؤلفههای اولیه وجود دارند که مدیریت جامع پیکربندیِ موردنیاز برای دواپس را به دقت بررسی میکنند. این مؤلفهها عبارتاند از:
- مخزن مصنوعی
- مخزن کُد منبع
- معماری دادهی مدیریت پیکربندی
مخزن مصنوعی
یک مخزن مصنوعی برای ذخیرهسازی فایلهای دستگاه است. و میتواند شامل کُدهای باینریِ (binaries) (یا دودویی)، دادههای آزمایش و کتابخانهها باشد. این یک پایگاه داده برای پروندههایی است که افراد معمولاً از آنها استفاده نمیکنند. در دواپس، مصنوعات (مانند کُدهای باینری) نتیجهی طبیعی یکپارچگی مداوم هستند. توسعهدهندگان دواپس همیشه سازههایی را بیرون میکِشند که به نوبهی خود، پروندههای مصنوعی ایجاد میکنند؛ پروندههایی که باید ذخیره شوند، اما لزوماً قابل دسترسی نیستند.
مخزن کُد منبع
برخلاف آنچه در بالا به آن اشاره کردیم، مخزن کُد منبع یک پایگاده داده از کُد منبع است که توسعهدهندگان از آن استفاده میکنند. این پایگاه داده همچون ظرفی در خدمت همهی کُدهای کاری (working code) است. گذشته از کُد منبع، تعداد زیادی از مؤلفههای مفید (ازجمله اسکریپتهای متنوع و پروندههای پیکربندی) را ذخیره میکند.
مادامی که برخی از توسعهدهندگان، کُدهای باینری را در همین مخزن ذخیره میکنند، آن یک بهینروش نیست. در دواپس، به دلیل تعداد زیاد باینریهای فرعی و ساختهشده، پیشنهاد میشود که یک مخزن مصنوعی به منظور ذخیرهسازی باینریها و سایر مصنوعات ایجاد شود.
تعیین اینکه چه چیزی وارد مخزن میشود دشوار نیست. یک راه برای آزمایش سریع این است که از خودتان بپرسید: «آیا “آدمها” میتوانند این پروندهها را بخوانند؟»
اگر پاسخ «بله» بود، شانس خوبی وجود دارد که آنها، عوضِ هر جای دیگری، متعلق به مخزن کُد منبع باشند. دو نوع مخزن کُد منبع وجود دارد: سیستم کنترل نسخهی متمرکز (CVCS) و سیستم کنترل نسخهی توزیعشده (DVCS).
در سیستم کنترل نسخهی متمرکز (CVCS)، کُد منبع در محلی متمرکز واقع شده است؛ جایی که میتواند بازیابی و ذخیره شود. با این حال، در سیستم کنترل نسخهی توزیعشده (DVCS)، کُد در میان ترمینالهای چندگانهای که در فرآیند توسعه قابل استفاده هستند، وجود دارد. بیشتر اوقات، مخزن کُدِ منبعِ منتخب متخصصان دواپسِ امروزی DVCS است.
معماری داده مدیریت پیکربندی
ایدهی داشتن معماری اختصاصی برای مدیریت پیکربندی یکی از اصول چارچوب مدیریت خدمات ITIL است. یک پایگاه داده مدیریت پیکربندی یا همان CMDB، یک پایگاه دادهی ارتباطی است که تمام سیستمها و برنامههای کاربردیِ مرتبط با مدیریت پیکربندی ـ مانند خدمات، سِرورها، برنامههای کاربردی و پایگاه داده ـ را در بر میگیرد.
پایگاه داده مدیریت پیکربندی برای مدیریت تغییر بسیار مفید و کارآمد است. چون به کاربران اجازه میدهد که رابطهی بین سیستمهای یکپارچه را، قبل از ایجاد تغییرات پیکربندی، بازرسی کنند. CMDB یک ابزار کارآمد برای آمادهسازی تدارکات هم هست، چنانکه میتوانید همهی اطلاعات شناسایی اشیایی مانند سِرورها را، به کمک آن، جمعآوری کنید. وقتی هم که پای مدیریت رخداد وسط باشد، باز هم CMDB یک ابزار ضروری بهشمار میآید. زیرا به تیمها کمک میکند برای یافتن راهحل مسائل، آنها را گسترده و تجزیه کنند.
نتایج حاصل از مدیریت درست و دقیق پیکربندیها
وقتی یک سیستمی درست پیکربندی و مدیریت شده باشد، میتوانید انتظار نتایج مشخصی را از آن داشته باشد. از جملهی این نتایج، تحویل «زیرساخت به مثابه یک کُد» و «پیکربندی به مثابه یک کُد است. در ادامه، به نقش هریک از این نتایج در مدیریت پیکربندی اشاره میکنیم:
زیرساخت به مثابه یک کُد (Infrastructure-as-a-Code)
به بیان بسیار ساده، زیرساخت به مثابه یک کُد (Iaac) شامل یک کُد یا اسکریپتی است که محیط لازم برای توسعه را خودکارسازی میکند، بدون اینکه تمام مراحل لازم برای ساخت آن محیط را به صورت دستی انجام بدهد. وقتی از واژهی «محیط» استفاده میکنیم، منظورمان مجموعهای از منابع محاسباتی مورد نیاز برای ایجاد زیرساختهاست که برای انجام اقدامات دواپس به آنها نیاز داریم. این مجموعه میتواند شامل سِرورها، شبکههای پیکربندی و سایر منابع باشد.
پیکربندی به مثابه یک کُد (Configuration-as-a-Code)
همانطور که از نام آن پیداست، پیکربندی به مثابه یک کُد (CaaC) رشتهای از کُد یا اسکریپت است که پیکربندیها را در یک منبع معین، مانند سِرور یا شبکه، استانداردسازی میکند. از این پیکربندیها، در طی مرحلهی استقرار، بهصورت عملی استفاده میشود تا اطمینان حاصل شود که پیکربندی زیرساختِ مورد نظر برای برنامهی کاربردیِ مورد نظر منطقی و معقول باشد.
مزایای IaaC و CaaC
هواداران یکپارچهسازی مداوم باید کاملاً با مزایای IaaC و CaaC آشنا باشند، اما اگر جزو آن دستهای هستید که تازه با دواپس آشنا شدهاید، لازم است بدانید که باید چه انتظاری داشته باشید. در ادامه، به برخی از مزایای دو نتیجهی کلیدیِ مدیریت پیکربندی که در بالا توضیح دادیم، اشاره میکنیم:
- خودکارسازیِ محیط زیرساخت، شرایط استانداردسازی را مهیا میکند.
- تنظیمات مبرا از خطای انسانی هستند.
- همکاری بین تیمهای عملیات و توسعه تقویت میشود.
- از پیکربندیها در برابر وانهادگی و انفعال محافظت میشود.
- زیرساختها انعطافپذیرتر و گستردهتر میشوند.
- هر مرحله، در سرتاسر منابع، ثابت بوده و با آنها سازگار است.
- سیستم کنترل نسخه، معلوم و مورد توافق است.
با این مزایایی که برشمردیم، نتیجهی طبیعیِ اِعمال این سیستم در هر سازمانی، کارآیی و چابکی بیشتر خواهد بود. دواپس عملاً با مدیریت پیکربندی، IaaC و CaaC مترادف است.
مدیریت پیکربندی یعنی دواپس
تصور مدیریت پیکربندی به صورت جداگانه و به دور از دواپس، باعث شکلگیری دیدگاه نادرستی میشود. مدیریت جامع پیکربندی، چنانکه در این مقاله شرح داده شد، برای هر سازمانی که میخواهد دواپس را به صورت عملی و درست اجرا کند، ضروری است. زیرا این کار بیش از آنکه مستقیماً تأثیرگذار باشد، زمینه را برای خودکارسازیِ بیشتر فراهم میکند.
با بهرهمندی از IaaC و CaaC در محیط توسعه، ارتباطات در کسبوکارهای سازمانی بیشتر میشود. و این سازمانها واحد توسعهی بسیار چابکتری خواهند داشت که متمرکز بر یکپارچگی و تحویل مداوم است.
منبع: www.bmc.com
اگر به مباحث کاربردی و اخبار فناوری اطلاعات علاقهمندید، یادتان نرود آدرس ایمیلتان را در فوتر سایت (عضویت در خبرنامه) بنویسید تا شما را در جریان آخرین مطالب گروه فناوری پرند قرار دهیم.