از مدل‌های معماری نرم‌افزار تا پایپ‌لاین‌ها: ماجرای تبدیل مدل‌ها توی دِو‌آپس به زبان ساده

اگه فناوری رو دوست داری و مخصوصاً تو حوزه نرم‌افزار یه چرخی زدی، احتمالاً اسم DevOps به گوشت خورده. DevOps یعنی همون شیوه‌ای که تیمای توسعه (Development) و عملیاتی (Operations) رو بهم نزدیک‌تر می‌کنه تا نرم‌افزارها سریع‌تر و با کیفیت‌تر ساخته و منتشر بشن. این داستان از سال ۲۰۰۹ شروع شد و کلی پیشرفت رو به دنیای برنامه‌نویسی آورد.

حالا کلی مقاله و تحقیق هم بوده که نشون میده DevOps چه جوری خودش رو تکمیل کرده و با چیزای دیگه مثل مدل‌سازی و اتوماسیون قاتی شده. یکی از این بخشای خیلی جذاب، پایپ‌لاین DevOps هست که اسم کاملش “CI/CD pipeline” ـه. این CI/CD یعنی Continuous Integration/Continuous Deployment، که خلاصه‌ش این میشه: “هروقت کدی نوشتی، سریع تست و نصب و منتشر میشه.” یعنی همه‌چی خودکار و بی‌دردسر!

اما این وسط یه چیزی داریم به اسم MDE یا Model-Driven Engineering. نگران نباش، وایسا برات بازش کنم: MDE یعنی مهندسی با هدایت مدل؛ یعنی به جای اینکه فقط کد بنویسی، میای اول مدل درست می‌کنی (مثلاً دیاگرام و نمودار و اینا)، بعد از رو اون مدل، کد می‌سازی. خلاصه‌ش: مدل اول، کد بعد! این ایده از دهه ۱۹۸۰ هست، اما هنوزم تازه هست چون کلی کاربرد داره.

حالا که MDE رو داری، وایسا بریم سر اصل مطلب. یه عالمه تحقیق هست که داره بررسی می‌کنه چطور می‌تونیم مدل‌محور بودن رو بیاریم وسط پایپ‌لاین‌های DevOps. یعنی چی؟ یعنی مدل‌هایی که داریم رو طوری تبدیل کنیم که هم بشه راحت پایپ‌لاین‌ DevOps ساخت، هم بشه ازشون مستقیماً کد و فایل‌های پیکربندی بیرون کشید.

تو این مقاله‌ای که دارم برات می‌گم، یه بررسی کلی انجام شده و اومدن تمام تحقیق‌های قبلی رو راجع به Artefact (یعنی ابزارها و خروجی‌های کلیدی هر پایپ‌لاین) بررسی کردن. نتیجه‌ش چیه؟ جالب اینجاست که خیلی از این تلاشایی که تا الان صورت گرفته، هنوز نتونستن قواعد تبدیل مدل‌ها به پایپ‌لاین‌های DevOps و متامدل‌هاش رو خوب و قابل استفاده برای همه بسازن. این بدرد خیلیا می‌خوره چون اگه این قوانین باشه، مدل‌محور بودن حسابی رونق می‌گیره و پایپ‌لاین‌ها سریع و بدون دردسر ساخته می‌شن.

پس مقاله میاد یه ایده‌ی جدید میده: میگه بیاید این داستان تبدیل مدل رو واسه خود پایپ‌لاین‌های DevOps رسمی و قابل استفاده کنیم. یعنی مفهومی بسازیم که هر کی یه مدل معماری نرم‌افزار ساخت (مثلاً دیاگرام معماری)، اون‌رو بتونه به راحتی تبدیل کنه به پایپ‌لاین DevOps و حتی کد نهایی. خلاصه‌ش یعنی از مدل مستقیم بریم سراغ پایپ‌لاین و کد، بدون اینکه لازم باشه دستی کلی فایل و کد بسازی.

در آخر هم نویسنده‌ها میگن این تحقیق جدید می‌تونه پایه‌گذار یه نسل جدید از DevOps باشه که همه‌چی رو با مدل و تبدیل خودکار جلوببره؛ یه آینده واقعاً باحال که شاید دردسرای امروزی پایپ‌لاین ساختن رو برامون کلاً حذف کنه.

پس اگه دلت می‌خواد تو دنیای DevOps و MDE یک قدم جلوتر باشی، حواست به این ایده‌ها و تحقیق‌های تازه باشه!

منبع: +