در محیطهای cloud native، ما اغلب در مورد چگونگی تعریف رابطهای پایدار و وابستگیهای صریح توسط قراردادها بین میکروسرویسها بحث میکنیم. با این حال، نوع دیگری از قرارداد وجود دارد که به همان اندازه حیاتی است اما به ندرت مورد توجه توسعهدهندگان قرار میگیرد: توافقات تجاری. به عنوان بنیانگذار Concord، مشاهده کردهام که چگونه شرکتهایی که هزاران رابطه فروشنده را مدیریت میکنند، برای ادغام این قراردادهای انسانی در گردش کار خودکار خود تلاش میکنند و گلوگاههای مهمی را برای تیمهای DevOps ایجاد میکنند.
سازمانهایی که معماریهای Kubernetes و containerized را اتخاذ میکنند، سیستمهای ظریفی ایجاد میکنند که در آن سرویسها از طریق APIهای خوشتعریف با یکدیگر ارتباط برقرار میکنند. تیمها برای این تعاملات قرارداد مینویسند و از رابطهای پایدار با تکامل مستقل اجزای جداگانه اطمینان حاصل میکنند.
با این حال، بسیاری از تیمهای DevOps در حال کشف یک بدهی فنی پنهان هستند: قراردادهای تجاری که بر همین سیستمها حاکم هستند، در خطوط لوله اتوماسیون آنها ادغام نشدهاند. تحقیقات World Commerce & Contracting نشان میدهد که سازمانها به طور متوسط 9.2٪ از ارزش قرارداد را به دلیل فرآیندهای مدیریت ضعیف از دست میدهند.
ظهور API قرارداد
شرکتهای آیندهنگر اکنون در حال اعمال اصول cloud native برای مدیریت قرارداد هستند. درست همانطور که زیرساخت با ابزارهایی مانند Terraform و Ansible به کد تبدیل شد، ما شاهد تحول مشابهی هستیم که در آن توافقات تجاری به "قرارداد به عنوان کد" تبدیل میشوند.
این تغییر، اطلاعات حیاتی قرارداد را مستقیماً از طریق APIهایی که مدیریت اسناد قانونی را با گردش کار عملیاتی متصل میکنند، در خط لوله CI/CD ادغام میکند. کارشناسان قرارداد در ContractNerds تأکید میکنند که چگونه اتصالات API اتوماسیون را فعال میکنند و مدیریت گردش کار را فراتر از آنچه که سیستمهای مدیریت چرخه عمر قرارداد سنتی به تنهایی میتوانند به دست آورند، بهبود میبخشند.
مالکان جدید: چرا مدیران ارشد مالی (CFO) پیشتاز این حرکت هستند؟
جالب اینجاست که این انقلاب قرارداد cloud native توسط بخشهای حقوقی رهبری نشده است. از تجربه ما در کار با بیش از 1500 شرکت، مالکیت قرارداد به سرعت به تیمهای مالی و عملیاتی منتقل میشود و مدیران ارشد مالی (CFO) به ذینفعان اصلی در سیستمهای مدیریت قرارداد تبدیل میشوند.
دلایل متعددی برای این تغییر قدرت وجود دارد:
- دید مالی: مدیران ارشد مالی (CFO) برای ایجاد پیشبینیهای مالی دقیق، بهویژه برای منابع ابری با قیمتگذاری پویا، به دید بلادرنگ از تعهدات قراردادی در سراسر سازمان نیاز دارند.
- ادغام عملیاتی: برخلاف تیمهای حقوقی که بر کاهش ریسک تمرکز دارند، تیمهای عملیاتی اولویت را به خودکارسازی گردش کار و کاهش گلوگاهها میدهند. یک مدیر عملیات در یک شرکت فناوری توضیح داد: "من مسئول همه چیز CLM هستم. و وکیل ما بیشتر با خود قانون سروکار دارد."
- بهینهسازی هزینه ابر: با توجه به پیشبینی Gartner مبنی بر اینکه هزینههای ابر در سال 2023 به 597 میلیارد دلار خواهد رسید، تیمهای مالی برای مدیریت مؤثر هزینهها به دسترسی برنامهریزی شده به دادههای قرارداد نیاز دارند.
ایجاد خطوط لوله قرارداد
موفقترین پیادهسازیهایی که من مشاهده کردهام از الگوهای Infrastructure as Code (زیرساخت به عنوان کد) آشنا برای تیمهای DevOps پیروی میکنند:
- مخزن قرارداد به عنوان منبع حقیقت: مشابه یک مخزن git، همه توافقات در یک سیستم متمرکز و نسخهبندی شده ذخیره میشوند که به منبع واحد حقیقت تبدیل میشود.
- قالبهای قرارداد به عنوان پیکربندی: توافقات استاندارد با متغیرهایی که میتوانند بر اساس پارامترهای سیستم به طور خودکار پر شوند، الگوبرداری میشوند، مشابه نحوه عملکرد قالبهای زیرساخت.
- گردش کار تأیید به عنوان دروازههای خط لوله: درست همانطور که کد قبل از استقرار باید تستها را پشت سر بگذارد، قراردادها به گردش کار تأیید خاصی نیاز دارند که میتواند خودکار و ممیزی شود.
- رویدادهای قرارداد به عنوان محرک: انقضاها، تمدیدها و اصلاحیهها رویدادهایی را ایجاد میکنند که اتوماسیون پاییندستی را در سیستمهای نظارت و تأمین فعال میکنند.
الگوی عامل قرارداد هوش مصنوعی
جدیدترین الگوی در حال ظهور، استفاده از هوش مصنوعی (Artificial Intelligence) برای ایجاد پلی بین قراردادهای انسانی با APIهای قابل خواندن توسط ماشین است. این عوامل قرارداد هوش مصنوعی میتوانند:
- استخراج اصطلاحات و تعهدات کلیدی از متن قانونی و تبدیل آنها به دادههای ساختاریافته
- ایجاد بازنماییهای قابل خواندن توسط ماشین از الزامات انطباق
- نظارت بر رفتار نرمافزار و شرایط قرارداد برای شناسایی مغایرتها
به عنوان مثال، یک شرکت تجارت الکترونیک از هوش مصنوعی (Artificial Intelligence) برای ردیابی خودکار محدودیتهای نرخ API در صدها قرارداد فروشنده استفاده میکند و به طور پویا تأمین خود را تنظیم میکند تا در محدوده قرارداد باقی بماند و در عین حال منابع موجود را به حداکثر برساند.
چالشهای پیادهسازی
رویکرد قرارداد به عنوان کد با چالشهای متعددی روبرو است:
- استخراج داده: تبدیل قراردادهای PDF موجود به دادههای ساختاریافته همچنان دشوار است و به کار دستی یا هوش مصنوعی (Artificial Intelligence) پیچیده نیاز دارد. به گفته Fynk، انتظار میرود که هوش مصنوعی (Artificial Intelligence) تا سال 2025 در 90 درصد از نرمافزارهای سازمانی تعبیه شود، که باید به رفع این چالش کمک کند.
- سیلوهای سازمانی: تیمهای حقوقی، مالی و مهندسی اغلب از ابزارهای جداگانه با حداقل ادغام استفاده میکنند.
- نگرانیهای امنیتی: دادههای قرارداد حاوی اطلاعات تجاری حساسی است که به کنترل دسترسی دقیق نیاز دارد، مشابه چالشهای مخازن کد.
شروع کار
برای تیمهای DevOps که به دنبال شروع این سفر هستند، من سه مرحله اولیه را توصیه میکنم:
- ابزارهای قرارداد API-First: سیستمهای مدیریت قرارداد را با APIهای قوی انتخاب کنید که با گردش کار DevOps موجود ادغام میشوند.
- مالکیت متقابل: یک گروه کاری قرارداد با نمایندگان حقوقی، مالی و مهندسی ایجاد کنید.
- کوچک شروع کنید: با خودکارسازی اعلانها برای رویدادهای حیاتی قرارداد قبل از حرکت به ادغام عمیقتر شروع کنید.
نتیجهگیری
با بالغ شدن معماریهای cloud native، برخورد با قراردادهای تجاری به عنوان کد برای حفظ سرعت ضروری میشود. سازمانهای موفق مرز مصنوعی بین قراردادهای فنی (APIها) و قراردادهای تجاری (توافقات قانونی) را از بین میبرند و سیستمهای یکپارچهای ایجاد میکنند که در آن همه تعهدات و وابستگیها قابل مشاهده، قابل ردیابی و خودکار هستند.
آینده متعلق به شرکتهایی است که در آن امور مالی، حقوقی و مهندسی به یک زبان قراردادی مشترک صحبت میکنند و ماشینها ترجمه را انجام میدهند.