امروزه با پیشرفت تکنولوژی پیکربندی سیستمها به یکی از اصلیترین مراحل بهینهسازی عملکرد و بهبود امنیت سیستمها تبدیل شده است. پیکربندی به معنای تنظیمات نرمافزاری و سختافزاری است که میتوانند عملکرد سیستم را مشخص نمایند. هرگونه تنظیمات نادرست در این بخش میتواند منجر به بروز مشکلات جدی شود. پیکربندی میتواند کارایی سیستمها را افزایش داده و از حملات سایبری، بروز مشکلات امنیتی و… نیز پیشگیری کند. در ادامه این مطلب به بررسی کامل پیکربندی و مدیریت پیکربندی و مفاهیم مربوطه، خواهیم پرداخت.
پیکربندی چیست؟
پیکربندی به معنی تنظیمات سخت افزاری و نرمافزاری است که میتواند عملکرد سیستم را تعیین و مشخص کند. هر یک از سیستمها از طریق پیکربندی، کنترل و تنظیم میشوند که این تنظیمات به افزایش امنیت، مدیریت منابع کارایی سیستم و… کمک میکنند. پیکربندی درست سیستمها میتواند تا حد زیادی از بروز مشکلات فنی پیشگیری کرده و کارایی سیستم را نیز افزایش دهد. در سمت مقابل پیکربندی اشتباه میتواند منجر به بروز خطاهای امنیتی، خرابی سیستم و یا حتی از دست رفتن دادههای یک سیستم شود. پیکربندی همواره یکی از اصلیترین وظایف مدیران سیستمها به شمار میآید و شامل فرایندهای مختلفی اعم از: نصب و تنظیم نرمافزارها، مدیریت منابع، تضمین امنیت سیستمها و… میشود.
موارد پیکربندی نرمافزار
پیکربندی نرمافزار مجموعهای از فعالیتها است که برای کنترل و مدیریت تغییرات در طول چرخه حیات نرمافزار به کار میرود. این فعالیتها شامل ثبت و پیگیری تغییرات، مستندسازی اجزای نرمافزار و مدیریت نسخهها است. هدف اصلی مدیریت پیکربندی نرمافزار این است که با کنترل دقیق تغییرات، کیفیت و کارایی سیستمهای نرمافزاری تضمین شود و از انتشار نسخههای نامناسب جلوگیری گردد.
مدیریت و پیکربندی خدمات (SACM)
بدن انسان از سیستمهای پیچیدهای تشکیل شده که شامل سیستم تنفسی، سیستم عصبی، سیستم گردش خون و… هستند که هر یک از این سیستمها کارکرد مختص خود را دارند؛ اما، بر روی هم نیز اثر میگذارند. در واقع اگر در یک سیستم اختلالی ایجاد شود، سایر سیستمها نیز دچار افت کیفیت میشوند. اما، گاهی رفع این اختلالات و پیشگیری از افت کیفیت سایر سیستمها، از یک پشتیبان خارجی استفاده میشود که خدمات نیز کاملا مشابه این سیستمها بوده و دارای سطوح مختلفی هستند. هر یک از خدمات از داراییهای مختلف تشکیل شدهاند که در قالب پیکربندی مشخصی، کارکردهایی را امکانپذیر میسازند. هدف از مدیریت داراییها و پیکربندی خدمات نیز بهبود کلان بازدهی خدمت، بهینهسازی هزینهها و ریسک ناشی از مدیریت ضعیف داراییها است. مدیریت دارایی و پیکربندی خدمات، سازمانها را در انجام مواردی یاری میکنند که از جمله مهمترین آنها عبارتند از:
- تحقق سطوح خدمت و تعهدات مرتبط با آن
- ردگیری کارآمد تغییرات از منظر نیازمندیها
- ارزیابی و طرحریزی و تحویل موفق تغییرات
- پیش بینی و برنامهریزی بهتر برای تغییرات
مورد پیکربندی (CI)
منظور از CI ثبت یک شی (خدمات یا محصول) یا مولفههای یک شی است که توسط سازمان و خدمات مدیریت انجام میشود. CI فقط ثبت یک شی است اما هرگز خود شی نیست و ویژگیهای مختلفی برای توصیف شی یا مولفههای CI اختصاص داده شده است. هدفها و اقلامی که برای CI تعریف میشوند، گسترده هستند که از جمله مهمترین آنها عبارتند از:
- خدمات
- سختافزار
- نرمافزار
- ابزارهای ارتباطی
- اسناد
پایگاه داده مدیریت پیکربندی (CMDB)
پایگاه داده مدیریت پیکربندی(CMDB) ، به نوعی یک پایگاه داده به شمار میآید که انواع CI و روابط بین آنها به یکدیگر مرتبط میشوند. در زمان طراحی پایگاه داده مدیریت پیکربندی، مواردی باید در نظر گرفته شوند که عبارتند از:
- دامنه
- عمق
- سطح
مبانی اولیه CMDB
پایگاه CMDB به مجموعهای از CI یک نسخه خاص گفته میشود که در کنار یکدیگر یک سرویس پایدار و یا یک محصول را ایجاد کردهاند. به عنوان مثال پس از انتشار عمده یک سرویس، تمامی سیآیهای مربوطه را میتوان به عنوان خط پایه معرفی کرد. تمامی CMDBبرای ci ساخته شده است که به عنوان آیتمهای پیکربندی نیز شناخته میشوند. سیآیها معمولا شامل: سرورها، برنامهها، کانتینرها و هر چیزی که در محیط IT وجود دارند، میشوند. معمولا برای انتقال ci به CMDB، از ابزارهای وارد کردن داده استفاده میشود که این ابزارها به عنوان کشف خودکار یا پویش هوشمند شناخته شدهاند. البته برخی از سیستمهای فناوری اطلاعات برای بروزرسانی CMDB خود از ابزارهای دستی استفاده میکنند.
مدیریت پیکربندی چیست؟
به رشتهای مدیریتی که در طول چرخه عمر محصول اعمال میشود تا بتواند تغییرات عملکرد و ویژگیهای عملکردی و فیزیکی را کنترل کند، مدیریت پیکربندی گفته میشود. مدیریت پیکربندی به نوعی یک روش کلیدی مهندسی سیستم به شمار میآید که اگر به درستی پیاده سازی شود، میتواند با کنترل تغییرات ایجاد شده در پیکربندی خط پایه و ردیابی سایر تغییرات، به یکپارچگی محصول دست یابد. در سمت مقابل اگر مدیریت پیکربندی به درستی پیادهسازی نشود، میتواند منجر به انتشار محصولات نادرست و ناکارآمد و یا ناایمن شود.
مدیریت پیکربندی نرمافزار
مدیریت پیکربندی نرمافزار به مجموعه فعالیتها گفته میشود که برای مدیریت تغییرات در تمامی چرخه حیات نرمافزار کامپیوتری، توسعه پیدا کردهاند. مدیریت پیکربندی نرمافزار به عنوان یک فعالیت تضمین کیفیت نرمافزار در نظر گرفته شده و در سراسر فرایند آن مورد استفاده قرار میگیرد. پشتیبانی نرمافزار و مدیریت پیکربندی نرمافزار با یکدیگر تفاوتهای بسیار زیادی دارند. منظور از پشتیبانی مجموعه فعالیتهای مهندسی نرمافزار است که پس از تحویل آن به مشتری و به کار انداختن آن، انجام میشوند. اما مدیریت پیکربندی مجموعهای از فعالیتهای پیگیری و کنترل کننده هستند که با شروع شدن پروژه مهندسی نرمافزار آغاز شده و با به کار انداختن آن نیز به پایان میرسند.
مورد پیکربندی نرمافزار (S-CI)
همواره مدیریت پیکربندی نرمافزار توسط فرایند توسعه دواپس، مدیریت شده و به آن اختصاص داده میشود. S-CI شامل موارد مختلفی است که عبارتند از: یک اسکریپت، یک طرح پایگاه داده یا هر شیء دیگری که برای ایجاد یک برنامه کاربردی مورد استفاده قرار میگیرد.
پایگاه داده مدیریت پیکربندی نرم افزار (S-CMDB)
پایگاه داده مدیریت پیکربندی نرمافزار(S-CMDB) به نوعی یک پایگاه داده است که در آن S-CI و رابطه آنها تعریف شدهاند. پایگاه داده مدیریت پیکربندی نرمافزار یک مخزن است که هم کد منبع و هم S-CI را ذخیره میکند.
مبانی پایه S-CMDB
مبانی پایه مبانی اولیه یا پایه S-CMDB، توصیف توافق شده در مورد ویژگیهای یک محصول در یک مقطع زمانی مشخص هستند. هدف اصلی مبانی پایه، شناسایی تغییرات قابل توجه در حالت اولیه به حالتهای بعدی است.
مولفههای بررسی درستی مدیریت پیکربندی
مدیریت پیکربندی زمانی ایجاد میشود که برای خودکارسازی، نظارت، طراحی و مدیریت فرایندهای پیکربندی از یک پلتفرم استفاده شود. مؤلفههای مختلفی برای بررسی درستی مدیریت پیکربندی وجود دارند که شامل: مخزن مصنوعی، مخزن کد منبع و معماری داده مدیریت پیکربندی هستند.
مخزن مصنوعی
یک مخزن مصنوعی برای ذخیرهسازی فایلهای دستگاه مورد استفاده قرار میگیرد و میتواند شامل کدهای باینری، دادههای آزمایش و کتابخانهها و… باشند. مخزن مصنوعی به عنوان یک پایگاه داده برای پروندههایی کاربرد دارد که افراد معمولا از آنها هیچ استفادهای نمیکنند.
مخزن کد منبع
یکی دیگر از مولفههای اولیه که مدیریت جامع پیکربندی مورد نیاز برای دواپس را به دقت بررسی میکنند، مخزن کد منبع است. این مخزن یک پایگاه داده از کد منبع به شمار میآید که توسعه دهندگان معمولا از آن استفاده میکنند. مخزن کد منبع تعداد زیادی از مولفهها مثل اسکریپتهای متنوع، پروندههای پیکربندی و… را ذخیره سازی مینماید. دو نوع مخزن کد منبع وجود دارند که شامل موارد زیر هستند:
- سیستم کنترل نسخه متمرکز: در این سیستم کد منبع در محلی متمرکز واقع شده و میتواند بازیابی و ذخیره شود.
- سیستم کنترل نسخه توزیع شده: در این سیستم، کدها در میان ترمینالهای چندگانهای که در فرایند توسعه قابل استفاده هستند، ایجاد میشوند.
معماری داده مدیریت پیکربندی
ایده معماری داده اختصاصی برای مدیریت پیکربندی، همواره یکی از اصول مهم مدیران خدمات ITIL به شمار میآید. یک پایگاه داده مدیریت پیکربندی به نوعی همان پایگاه داده ارتباطی است که تمامی برنامههای کاربردی مرتبط به مدیریت پیکربندی و سیستمها مثل خدمات، سرورها، برنامههای کاربردی و… را در بر میگیرد.
نتایج مدیریت پیکربندی درست و دقیق
زمانی که یک سیستم به درستی پیکربندی و مدیریت شده باشد، نتایج حاصل از آن نیز درست و دقیق هستند. در واقع از یک سیستمی که به درستی پیکربندی شده میتوان انتظار نتایج مشخص و دقیقی از جمله نتایج زیرساخت به مثابه یک کد، پیکربندی به مصاحبه یک کد و… را داشت.
زیرساخت به مثابه یک کُد (Infrastructure-as-a-Code)
زیرساخت مثابه کد شامل یک اسکریپت و یا کد است که محیط مورد نیاز برای رشد و توسعه را خودکارسازی میکند. در این زیرساخت نیازی به انجام مراحل به صورت دستی نیست و تمامی آن ها به طور خودکار پیکربندی میشوند.
پیکربندی به مثابه یک کُد (Configuration-as-a-Code)
رشتهای از کد یا اسکریپت که پیکربندیها را در یک منبع معین مثل یک سرور، استاندارد سازی میکند؛ پیکربندی به مثابه یک کد نامیده میشود معمولا از این پیکربندی در مرحله استقرار به طور عملی استفاده میکنند تا مطمئن شوند که پیکربندی زیرساخت مورد نظر برای برنامه کاربردی معقول باشد.
مزایای laaC و CaaC
زیر ساخت به مثابه کد و پیکربندی به مثابه یک کد، نتایج کلیدی مدیریت پیکربندی هستند که دارای مزایای بیشمارند. تعدادی از مهمترین مزایای IaaC و CaaC عبارتند از:
- خودکارسازی محیط زیرساخت و استانداردسازی شرایط
- ایجاد همکاری بین تیمهای عملیات و توسعه
- مشخص کردن سیستم کنترل
اجزای مدیریت پیکربندی در دواپس
مدیریت پیکربندی همواره مسئولیت اصلی سه دسته مهم را بر عهده دارد که عبارتند از:
- شناسایی: به فرایند یافتن و فهرست کردن نیازهای پیکربندی در گستره کل سیستم شناسایی میگویند که از جمله اجزای مهم مدیریت پیکربندی در دواپس محسوب میشود.
- کنترل: نیازهای پیکربندی با گذر زمان تغییر میکنند که از طریق کنترل میتوان این تغییرات را یکپارچه سازی کرد. در واقع به خاطر وجود کنترل در مدیریت پیکربندی، هیچ نوع بیثباتی در نیازها رخ نخواهند داد.
- بازرسی: در فرایند بازرسی، تمامی سیستمهای موجود به طور دقیق بررسی میشوند تا اطمینان حاصل شود که با الزامات مورد توافق، تطابق داشته باشند.
جمعبندی
امروزه در دنیای فناوری اطلاعات، پیکربندی و بهینهسازی سیستمها از جمله چالشهای مهم به شمار میآیند و میتوان با استفاده از اجزای مختلف مدیریت پیکربندی، عملکرد سیستمها را بهبود بخشید. پیکربندی سیستمها به معنای تنظیمات سختافزاری و نرمافزاری هستند که میتوانند عملکرد سیستم را مشخص نمایند. پیکربندی برای بهینهسازی سیستمها اگر به درستی انجام شود، کارایی سیستمها را افزایش داده و از حملات سایبری و مشکلات امنیتی نیز پیشگیری میکند. مدیریت پیکربندی نیز به نوعی یک روش مهندسی سیستمی به شمار میآید که اگر به درستی انجام شود، میتواند به یکپارچگی محصول منجر گردد.
منابع:
- https://www.nasa.gov/reference/6-5-configuration-management/
- https://sabzdanesh.com/%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1/
- https://fa.itpedia.nl/2017/07/20/devops-code-software-configuration-items/
- https://parand.ir/4342