زیرساخت مبتنی بر کد - ویکی‌پدیا، دانشنامهٔ آزاد

زیرساخت مبتنی بر کد (IaC یا آی‌ای‌سی) فرایندی برای مدیریت و پروویژنینگ[الف] مراکز دادهٔ رایانه‌ای از طریق فایل‌هایی با قابلیت خوانده شدن توسط ماشین به جای تنظیمات سخت‌افزاری یا ابزارهای تعاملی لحظه‌ای تنظیمات است.

زیرساخت فناوری اطلاعاتی[ب] که توسط این فرایند مدیریت می‌شود هم شامل تجهیزات فیزیکی مانند سرورهای بیرمتال[پ] است و هم شامل ماشین‌های مجازی و منابع پیکربندی مرتبط.

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

آی‌ای‌سی در پاسخ به نیاز به دشواری ناشی از محاسبات سودمند و چارچوب‌های نسل دوم وب رشد کرد. در سال ۲۰۰۶، درست چند ماه قبل از راه اندازی سرویس آمازون ایی‌سی۲ خدمات وب آمازون و نسخه ۱ چارچوب روبی آن ریلز[۱] مشکلات گسترده‌ای در مقیاس چندین شرکت ایجاد کرد که قبلاً تنها در شرکت‌های بزرگ و چند ملیتی تجربه شده بود. با ظهور ابزارهای جدید برای مدیریت این عرصه که همیشه در حال رشد بوده‌است، ایدهٔ آی‌ای‌سی متولد شد. ایدهٔ مدلسازی زیرساخت مبتنی با کد، و سپس داشتن توانایی طراحی، پیاده‌سازی و دیپلوی زیرساخت‌های نرم‌افزارهای کاربردی با بهترین روش‌های شناخته شده هم مورد توجه توسعه دهندگان نرم‌افزار و هم مدیران زیرساخت آی‌تی قرار گرفت. توانایی بکارگیری زیرساخت مبتنی کد و استفاده از ابزارهای مشابه هر پروژه نرم‌افزاری دیگر، به توسعه دهندگان امکان می‌دهد برنامه‌ها را به سرعت دیپلوی کنند.[۲]

انواع رویکردها[ویرایش]

به‌طور کلی دو رویکرد در آی‌ای‌سی وجود دارد: اعلامی (عملکردی) در برابر دستوری (رویه ای). تفاوت بین رویکرد اعلامی و دستوری اساساً "چه" در مقابل "چگونه" است. رویکرد اعلامی بر آنچه که باید پیکربندی نهایی باشد متمرکز است و رویکرد دستوری بر چگونگی تغییر زیرساخت‌ها برای رسیدن به این هدف متمرکز است.[۳] رویکرد اعلامی وضعیت مطلوب را مشخص می‌کند و سیستم آنچه را که باید برای دستیابی به آن حالت مطلوب رخ دهد اجرا می‌کند. در حالت دستوری، دستورات خاصی تعریف می‌شوند که باید به ترتیب مناسب اجرا شوند تا با نتیجه‌گیری دلخواه پایان یابد.

مواد و روشها[ویرایش]

دو روش در آی‌ای‌سی وجود دارد: "پوش[ت]" و " پول[ث]". تفاوت اصلی در روش پیکربندی سرورهایی است که باید پیکربندی شوند. در روش "پول" سروری که قرار است پیکربندی شود تنظیمات را از سرور مدیریت دریافت می‌کند و در روش پوش، سرور کنترل‌کننده پیکربندی تنظیمات را به سیستم مقصد ارسال می‌کند.[۴]

یادداشت[ویرایش]

  1. Provisioning
  2. IT infrastructure
  3. bare-metal
  4. push
  5. pull

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  1. Bower, Joseph L.; Christensen, Clayton M. "Disruptive Technologies: Catching the Wave". Harvard Business Review.
  2. Riley, Chris (12 November 2015). "Version Your Infrastructure". DevOps.com. Archived from the original on 22 March 2016. Retrieved 8 February 2021.
  3. "Declarative v. Imperative Models for Configuration Management: Which Is Really Better?". Scriptrock.com. Archived from the original on 31 March 2015. Retrieved 14 December 2015.
  4. Venezia, Paul (21 November 2013). "Puppet vs. Chef vs. Ansible vs. Salt". networkworld.com. Network World. Archived from the original on 18 July 2018. Retrieved 14 December 2015.