DevSecOps در واقع نسخه چابکDevOps است و جایگزین نوع واترفال (آبشاری) میشود.
DevSecOps از کجا آمده است؟
در گذشته، توسعه نرمافزار شامل دو بخش خاموش «توسعه» و «عملیات» بود. توسعه دهندگان مسئولیت نوشتن کد را بر عهده داشتند و اپراتورها مسئول اجرا و مدیریت آن بودند.
در آن دوران، فرآیند توسعه نرمافزار که براساس الگوی واترفال دنبال میشد، ساده بود. خواستههای مصرفکننده قابل کنترل بود و در صورت نیاز به ایجاد تغییر یا پیشرفت، اپراتورها میتوانستند به سراغ توسعه دهندگان بروند.
همه چیز خوب بود تا اینکه وارد عصرIoT (اینترنت چیزها) شدیم. جایی که ما شاهد انفجار مصرف دستگاههای متصل (از یخچالها و بلندگوهای هوشمند گرفته تا تلفنهای هوشمند) هستیم.
با ظهور این پدیده، رفتار مصرفکننده نیز تغییر کرد. با افزایش ارتباطات، سطح انتظارات نیز بالا رفت، به صورتی که دیگر نتیجه نهایی مورد نظرشان را بلافاصله میخواستند.
از منظر توسعه نرمافزار، این امر منجر به افزایش تقاضای مصرفکننده برای بهبود و بازخورد بیشتر شد. اپراتورها درخواستها و مشکلات بسیار زیادی را دریافت می کردند و توسعه دهندگان با تعداد زیادی پیام از طرف اپراتورها مواجه شدند. پیامهایی که نشان میداد اپراتورها نمیدانند چگونه کد را به روز کنند. این امر منجر به ایجاد تنگنا در ایجاد و توسعه کدهای جدید شد.
در نهایت نیز انتشار آهستهتر، تحویل کندتر نرمافزار و عملکرد ضعیفی را به دنبال داشت.
برای مقابله با این بحران رو به رشد،DevOps پدید آمد که در آن توسعه (Dev) و عملیات (Ops) با هم ترکیب شده بود و به این ترتیب رویکرد سنتی و خاموش تولید نرمافزار شکست.
نتیجه این روند، ایجاد فرهنگ کار اجایل (چابک) بود که برای توسعه نرمافزار به کمک ابزارهای خودکار (پس از اجرا)، بهترین فرآیند به شمار میآید. فراهم کردن اصول DevOps به شرکتها کمک میکند تا مسیر توسعه، ارائه و بهبود برنامهها را بسیار سریعتر از رویکرد قبلی (که مبتنی بر واترفال بود) طی کنند.
DevOps به سازمانها اجازه میدهد که یک رویکرد مشتری محور را انتخاب کنند تا به سرعت با نوسانات خواستههای مصرفکننده سازگار شود. به این ترتیب مزیت رقابتی نیز حفظ خواهد شد.
چگونه میتوان موفقیت DevSecOps را اندازهگیری کرد؟
سازمانها برای دستیابی به پنج هدف اصلی ازDevOps استفاده میکنند:
-توسعه سریعتر و کارآمدتر نرمافزار
-کاهش هزینهها
-تقویت و محافظت از شهرت برند در میان مصرفکنندگان و کارمندان
-کاهش خطر
-رشد شرکت
به طور کلی، یک محیط DevOps باید به تقویت استقرار کدها، کاهش زمان هدر رفته، کاهش مشکلات امنیتی و بهبود تجربه کلی کاربر نهایی (که از طریق بازخورد، درخواست و شکایات قابل اندازهگیری است) کمک کند.
برای درک اینکه آیا اجرایDevOps نتیجه مطلوب شما را به همراه دارد، باید «سنجههای سادهانگارانه» را اندازهگیری کنید. به گفته اریک ری، نویسنده کتاب The Lean Startup، سنجههای سادهانگارانه به سازمانها کمک میکنند تا روی یکی از اهداف فوق تمرکز کنند.
به عنوان مثال، اگر فرآیندDevOps شما تعداد ساختهای روزانه را افزایش میدهد اما سرعت انتشار در بازار را تسریع نمیکند، این فرآیند موثر نیست. به طور مشابه، اگر پوشش کد را افزایش میدهید اما نسخه محصول شما با اشکالات زیاد مواجه میشود، باز هم فرایند DevOps شما موثر نیست.
ترجمه آزاد از: DevSecOps Explained in 5 Minutes