۳۰ آذر ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

CI/CD پیشرفته: ۶ مرحله برای خطوط لوله CI/CD بهتر

CI/CD وجود دارد و سپس CI/CD پیشرفته وجود دارد. در اینجا شش راه وجود دارد که تیم های devsecops می توانند امنیت و عملکرد خطوط لوله CI/CD خود را بهبود بخشند.

CI/CD وجود دارد و سپس CI/CD پیشرفته وجود دارد. در اینجا شش راه وجود دارد که تیم های devsecops می توانند امنیت و عملکرد خطوط لوله CI/CD خود را بهبود بخشند.

پیکربندی خطوط لوله اولیه ادغام پیوسته و تحویل مداوم (CI/CD) که بسته‌بندی، کامپایل، و فشار دادن کد به محیط‌های تحویل برنامه را خودکار می‌کند، یک عملیات devsecops اساسی در نظر گرفته می‌شود. با خودکار کردن مسیر تولید، تیم‌های devsecops می‌توانند خطاها را کاهش دهند، فرکانس استقرار را افزایش دهند، مشکلات تولید را سریع‌تر حل کنند و فرهنگ تیم را بهبود بخشند.

ایجاد یک خط لوله اساسی CI/CD می تواند کاتالیزوری برای ایجاد فرهنگ بهبود مستمر باشد. به عنوان مثال، بسیاری از تیم‌ها اتوماسیون آزمایش، بررسی خطا و هشدار را به خطوط لوله خود اضافه می‌کنند تا از انتشار نقص یا شکستگی که بر بهره‌وری توسعه‌دهنده تأثیر می‌گذارد، جلوگیری کنند.

پاول استوول، بنیانگذار و مدیر عامل اختاپوس مستقر. “وقتی توسعه دهندگان شما می خواهند کار بزرگی انجام دهند، CI/CD تفاوت بین ناامیدی کامل و شادی توسعه دهنده است.”

توسعه خطوط لوله CI/CD و پلتفرم های زیربنایی آنها یک رشته توسعه یافته توسعه یافته است، اما جا برای بهبود وجود دارد. در اینجا شش راه برای بهبود وضعیت فعلی خطوط لوله CI/CD و ارائه تأثیرات تجاری معنادار وجود دارد.

۶ روش برای استفاده بیشتر از خطوط لوله CI/CD

  1. تست مداوم را با genAI افزایش دهید
  2. استقرار مداوم را هدف قرار دهید
  3. CI/CD ترکیبی را در آغوش بگیرید
  4. امنیت به چپ با افزونه های CI/CD
  5. ایمن سازی و بهبود قابلیت مشاهده خط لوله
  6. تأثیر کسب و کار را درک کنید

تست مداوم را با genAI افزایش دهید

۸۰ درصد از پاسخ دهندگان به گزارش جهانی کیفیت ۲۰۲۳-۲۴ گفتند که ۲۵ تا ۵۰ درصد از آزمایشات خودکار آنها در خطوط لوله تحویل ادغام شد. بنابراین جای تعجب نیست که ۳۹٪ از پاسخ دهندگان CI/CD را به عنوان مهم ترین مهارت برای همکاران مهندسی کیفیت شناسایی کرده اند که پس از مهارت های کدنویسی در رتبه دوم قرار دارد. مفهوم این امر این است که اراده ای برای بهبود آزمایش مداوم وجود دارد، اما بسیاری از سازمان ها هنوز “بدهی کیفیت” دارند – مجموعه ای از آزمایشات که در خطوط لوله CI/CD آنها خودکار نیستند.

دیوید بروکس، معاون اوانجلیسم در کوپادو، می‌گوید: «شما فکر می‌کنید که اتوماسیون آزمایشی به خوبی پذیرفته شده است، اما حقیقت این است که بسیاری از شرکت ها هنوز به تست دستی متکی هستند و آنهایی که خودکار می کنند به سختی یک سوم ویژگی های خود را پوشش می دهند. در واقعیت، ثابت می‌کند که تعمیر و نگهداری بیش از حد است.»

بروکس به کار تعمیر و نگهداری اشاره دارد که شامل به‌روزرسانی خودکار هنگام تغییر کد، بهبود عملکرد تست و افزایش داده‌های آزمایشی است. داده‌های مصنوعی راه‌حلی بالقوه برای تولید مجموعه داده‌های آزمایشی جامع‌تر است و genAI ممکن است در گسترش تعداد تست‌های خودکار و ساده‌سازی آن‌ها، تغییردهنده بازی QA باشد. نگهداری.

گئورگ هووسپیان، سرپرست محصول در Mabl. اکثر تیم‌های توسعه به دنبال ژن‌AI برای تولید کیس‌های آزمایشی هستند، اما اگر آن آزمایش‌های جدید دائماً با شکست مواجه شوند، خطوط لوله CI/CD متوقف می‌شوند. استفاده از genAI برای به‌روزرسانی خودکار آزمایش‌ها با تغییر محصول، روش مؤثرتری برای پیشرفت قابلیت‌های CI/CD است.»

یک راه دیگر برای بهبود آزمایش مداوم، تعبیه عملکرد، استرس و تست مقیاس پذیری در خطوط لوله CI/CD است. ابزارهای تست عملکرد مانند Gatling، LoadNinja، LoadRunner، و Katalon ادغام با پلتفرم های برتر CI/CD.

استقرار مستمر هدف

آزمایش مداوم یکی از پیش نیازهای استقرار مداوم است، فرآیندی که در آن تیم‌های توسعه‌دهنده CI/CD را برای استقرار در محیط‌های تولید گسترش می‌دهند. چک لیست من برای آمادگی استقرار مستمر همچنین شامل استفاده تیم های توسعه از پرچم گذاری ویژگی، توسعه استراتژی انتشار قناری و استفاده از پلتفرم AIops می شود. در عملیات فناوری اطلاعات.

تأثیر کسب‌وکار استقرار مداوم می‌تواند برای سازمان‌هایی مهم باشد که در آن‌ها اعمال تغییرات مکرر و رسیدگی سریع به مسائل تولید برنامه ضروری است. بسیاری از کسب‌وکارهای SaaS، شرکت‌هایی که برنامه‌های کاربردی رو به مشتری را توسعه می‌دهند، و دیگرانی که برنامه‌های کاربردی برای کارمندان را می‌سازند، از DORA استفاده می‌کنند. معیارها برای اندازه‌گیری اینکه چگونه استقرار مستمر و سایر روش‌های توسعه‌دهنده تأثیرات کسب‌وکار را برمی‌انگیزد.

براساس گزارش وضعیت CI/CD 2024: تکامل عملکرد تحویل نرم افزار، استقرار مستمر به طور قابل توجهی زمان اولیه برای تغییرات کد را کاهش می دهد، یک متریک DORA که به عنوان زمان از زمان تعهد کد تا تولید موفق کد تعریف می شود. از بین افرادی که قادر به استقرار چندین بار در روز بودند، ۵۳% زمان برای تغییر کد کمتر از یک روز داشتند، در مقایسه با ۲۷% که بین یک بار در ساعت تا یک بار در هفته مستقر می‌شدند و ۹% که بین یک بار در هفته مستقر می‌شدند. و یک بار در ماه.

کومار چیووکولا، بنیانگذار و مدیر عامل Opsera. «بعد از موج اول استقرار، شرکت‌ها اکنون به شدت به دنبال مکانیزمی خودکار برای ثبت اطلاعات بینش، KPI و معیارهای DORA هستند تا ادعاهای صنعت و بازگشت سرمایه واقعی را اثبات کنند.»

بهبود زمان انجام تغییرات کد می‌تواند برای برنامه‌هایی که نقص و خرابی منجر به از دست رفتن درآمد، تجارب ضعیف مشتری یا اختلال در گردش کار کارکنان می‌شود، مهم باشد. 

همراه CI/CD ترکیبی

یکی از داده‌های شگفت‌انگیز در گزارش وضعیت CI/CD، تعداد پلت‌فرم‌های CI/CD بود که پاسخ‌دهندگان داشتند و چگونه بر معیارهای DORA تأثیر گذاشت. شرکت‌هایی که از رویکرد ترکیبی پلت‌فرم‌های CI/CD خود میزبان و مدیریت‌شده استفاده می‌کنند، نسبت به شرکت‌هایی که در یک رویکرد استاندارد شده بودند یا از پلت‌فرم‌های CI/CD استفاده نمی‌کردند، عملکرد بهتری داشتند.

از شرکت‌هایی که از رویکرد ترکیبی استفاده می‌کنند، ۴۹٪ زمان تحویل کمتر از یک هفته برای تغییرات داشتند، و ۲۴٪ زمان تحویل کمتر از یک روز داشتند. شصت و شش درصد معمولاً می توانند عملکرد سرویس را از یک قطع برنامه ریزی نشده در کمتر از یک روز بازیابی کنند و ۲۵ درصد می توانند این کار را در کمتر از یک ساعت انجام دهند. این نرخ‌ها به‌طور قابل‌توجهی بهتر از آنهایی بودند که تنها از یک رویکرد استفاده می‌کردند. این گزارش همچنین نشان داد که سازمان‌هایی که از سه یا کمتر پلت‌فرم‌های CI/CD استفاده می‌کنند معمولاً از سازمان‌هایی که بیش از سه ابزار دارند بهتر عمل می‌کنند.

دلایل زیادی وجود دارد که چرا سازمانها ممکن است چندین پلتفرم CI/CD داشته باشند. به عنوان مثال، یک شرکت ممکن است از Copado یا Opsera برای استقرار برنامه‌ها در Salesforce استفاده کند، از Jenkins برای برنامه‌های مرکز داده، GitHub Actions برای برنامه‌های Cloud-Native استفاده کند، و سپس پیاده‌سازی‌ها را با استفاده از آن به ارث ببرد. AWS CodeBuild و AWS CodePipeline پس از کسب یک کسب و کار. این تحقیق مزایای داشتن راه حل های متعدد را پیشنهاد می کند، اما ادغام و استانداردسازی راه حل هایی با قابلیت های مشابه را توصیه می کند. 

امنیت به چپ با افزونه های CI/CD

یک زمینه مهم برای تحقیق، اثبات مفهوم و پیاده‌سازی، استفاده از افزونه‌ها برای ادغام قابلیت‌های شخص ثالث در خطوط لوله CI/CD است. جنکینز، پلتفرم CI/CD با بالاترین سهم بازار، ۱۹۰۰ افزونه را با برترین افزونه‌ها پشتیبانی از اتصال به Git، Jira و Kubernetes . افزونه‌های امنیت و کیفیت کد برای ارزیابی بسیار مهم هستند و می‌توانند آسیب‌پذیری‌ها را قبل از ساخت و استقرار کد به حداقل برسانند.

آیسلین رایت، معاون مدیریت محصول در EDB. “این ابزارها می توانند چابکی و کارایی فرآیندهای توسعه را تا حد زیادی افزایش دهند، اما نیاز به سطح بالاتری از بلوغ فناوری و تلاش یکپارچه دارند، که ممکن است به نرخ پذیرش کندتر آنها کمک کند.”

قابلیت‌های امنیتی که به خطوط لوله CI/CD متصل می‌شوند عبارتند از اسکن امنیتی کانتینر، آزمایش امنیت برنامه استاتیک (SAST)، اسکن کیفیت کد، و بررسی آسیب‌پذیری زنجیره تأمین نرم‌افزار.

پیتر مک کی، رئیس روابط و جامعه با توسعه‌دهندگان، می‌گوید: «رهبران کسب‌وکار ویژگی‌های قابل اعتماد، ایمن و با ارزش را برای مشتریانی که مشکلات SEV-1 یا SEV-2 در تولید صفر دارند، در اولویت قرار می‌دهند، که به سرعت و در مقیاس ارائه می‌شوند. href=”https://www.sonarsource.com/” rel=”nofollow”>سونار. Devops به عنوان دروازه‌بان این نیازها عمل می‌کند، اما تست کیفیت کد یک جنبه مهم است که اغلب نادیده گرفته می‌شود. در حالی که تست واحد، تست یکپارچه سازی و تست سرتاسر عملکرد را تضمین می کند، آنها ارزیابی کیفیت کد را از دست می دهند. گنجاندن تجزیه و تحلیل کد استاتیک در فرآیند CI/CD، کد تمیز را تضمین می‌کند، قابلیت اطمینان، قابلیت نگهداری و امنیت را تقویت می‌کند که برای برآورده کردن خواسته‌های مدرن حیاتی است.”

ایمن سازی و بهبود قابلیت مشاهده خط لوله

فرای افزونه‌هایی که قابلیت‌های امنیتی را ارائه می‌کنند، تیم‌های devsecops نیز باید اقداماتی را برای ایمن کردن خطوط لوله CI/CD انجام دهند. برگ تقلب امنیتی CI/CD OWASP منبع خوبی برای بررسی خطرات CI/CD، ایمن است تنظیمات خط لوله، ملاحظات مدیریت هویت و دسترسی (IAM)، مدیریت کد شخص ثالث، و سایر بهترین شیوه ها. برترین خطرات امنیتی CI/CD عبارتند از:

  • خطوط بدون کنترل های مجوز که از فشارهای ناخواسته یا بد کد عامل جلوگیری می کند.
  • مشکلات زنجیره وابستگی زمانی که ایستگاه‌های کاری توسعه‌دهنده یا محیط‌های ساخت بسته‌های مخرب را می‌کشند.
  • استفاده از خدمات شخص ثالث بدون تأیید و کنترل مناسب.

تیم‌های Devsecops باید بین پیشرفت‌های CI/CD که فرکانس‌های استقرار را تسریع می‌کنند و مواردی که خطرات امنیتی را برطرف می‌کنند، تعادل ایجاد کنند. تیم‌ها علاوه بر ایمن‌سازی خطوط لوله خود، باید مشاهده‌پذیری توسعه را بهبود بخشند تا به شناسایی مشکلات عملکرد، ردیابی گلوگاه‌های آزمایش، و فعال کردن اشکال‌زدایی مشکلات مربوط به اتصال به سرویس‌های شخص ثالث کمک کنند.

یکی از رویکردها برای تلفیق ملاحظات امنیتی و عملیاتی، استفاده از ابزارهایی است که از سیاست به‌عنوان کد (PaC) پشتیبانی می‌کنند. این سیستم‌ها، سیاست‌ها و قوانین را به صورت کد انتزاعی می‌کنند و به تیم‌های devsecops روشی مقیاس‌پذیر برای ضبط، پیاده‌سازی و مقیاس‌بندی امنیت و قوانین تجاری عملیاتی ارائه می‌دهند.

مایک اسکات، CISO از Immuta. «سیاست به‌عنوان کد می‌تواند با استفاده از خط لوله CI/CD که آزمایش و اعتبارسنجی را انجام می‌دهد، به‌طور خودکار سیاست‌های تأیید شده را در محیط‌های تولید پیاده‌سازی می‌کند.»

سازمان‌های Devsecops با خطوط لوله فعال، سرویس‌های یکپارچه و افزونه‌ها ممکن است راه‌هایی برای ساده‌سازی و ایجاد خطوط لوله قابل استفاده مجدد پیدا کنند، زمانی که قوانین اساسی کسب‌وکار با پلتفرم‌ها و سرویس‌های PaC توسعه داده می‌شوند.

تأثیر کسب و کار را درک کنید

تیم‌های Devsecops باید این گزینه‌های پیشرفته‌تر را بررسی کنند و تعیین کنند که کدام معیارهای DORA را از طریق چرخه‌های بهبود مستمر پیاده‌سازی کنند. اما سریکومار راماناتان، مدیر ارشد راه حل در Mphasis، یادآوری کلیدی را به اشتراک می گذارد که هدف نهایی هر سیستمی برای خدمت به کسب و کار.

است

او می‌گوید: «اغلب، ما به‌عنوان فن‌آور، در پیاده‌سازی جدیدترین و زیباترین فناوری، صرفاً به خاطر خودش، غافلگیر می‌شویم. جابجایی به چپ واقعاً به معنای در نظر گرفتن دیدگاه تجاری از چیزها است. این امر هنگام در نظر گرفتن QA، امنیت، قابلیت مشاهده و اتوماسیون بسیار مورد نیاز است.”

بهترین روش این است که ذینفعان و پیشنهادهای ارزشی از سوی کسانی که از پیشرفت‌های عملیاتی و امنیتی devsecops بهره می‌برند، تعریف کنید. از آنجا، تیم‌های devsecops می‌توانند تصمیم بگیرند که روی چه قابلیت‌هایی تمرکز کنند و معیارهای عملکرد را با ارزش تجاری معنادار هدف قرار دهند.