۲۹ شهریور ۱۴۰۳

Techboy

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

چگونه اتوماسیون هوشمند CI/CD را تغییر می دهد

پارادایم جدیدی برای تحویل مستمر در حال ظهور است که آن را قادر می سازد به عنوان پایه ای برای بهبود توسعه و افزایش بهره وری توسعه عمل کند.

پارادایم جدیدی برای تحویل مستمر در حال ظهور است که آن را قادر می سازد به عنوان پایه ای برای بهبود توسعه و افزایش بهره وری توسعه عمل کند.

رهبران فکری امروزی اغلب می گویند: “همه شرکت ها شرکت های نرم افزاری هستند.” این به این دلیل است که طیف گسترده‌ای از شرکت‌های بزرگ و متوسط ​​در دهه گذشته ابتکارات تحول دیجیتال را انجام داده‌اند و این ابتکارات تأثیر عمیقی بر نحوه توسعه و استقرار نرم‌افزار این شرکت‌ها برای ارائه ارزش تجاری داشته است.

در گذشته، برنامه‌ها یکپارچه بودند، در مکانی روی ماشین‌های فلزی یا مجازی مستقر می‌شدند، و به‌روزرسانی‌ها کم، اساسی و نادر بود. امروزه، مدل کاربردی جدید از ریزسرویس‌ها، کانتینری‌سازی و تحویل مداوم استفاده می‌کند که در نتیجه حجم بالایی از انتشارات کوچک به Kubernetes، VM و محیط‌های چند ابری ایجاد می‌شود. این تکامل انواع جدیدی از فرآیندهای کسب‌وکار و مدل‌های کسب‌وکار را فعال کرده است، از همه‌چیز «به‌عنوان سرویس» گرفته تا تعامل ۳۶۰ درجه با مشتری و فرآیندهای کسب‌وکار که توسط داده‌های بی‌درنگ اینترنت اشیا هدایت می‌شوند.

اجرای موفقیت‌آمیز این استراتژی‌های تحویل نرم‌افزار جدید در دنیای ابری نیازمند تحول دیگری است – در توسعه نرم‌افزار. سازمان‌ها باید نرم‌افزارهای بیشتری را با سرعت، فرکانس و دقت بالا بدون به خطر انداختن امنیت نرم‌افزار یا نادیده گرفتن الزامات انطباق تجاری و نظارتی ارائه کنند. این تکامل پیچیدگی را در سراسر سازمان افزایش می دهد.

تیم‌های توزیع‌شده جغرافیایی – در توسعه، عملیات، توسعه، امنیت و انطباق – باید سریع‌تر، دقیق‌تر و با هماهنگی بالاتری کار کنند. به طور مشابه، گردش‌های کاری پیچیده و توزیع‌شده باید بسیار هماهنگ باشد تا از بروز خطا و تاخیر جلوگیری شود و همزمان بهره‌وری اعضای تیم تحویل نرم‌افزار افزایش یابد. این تکامل با زنجیره‌های ابزار متنوع ادغام مداوم و تحویل مستمر (CI/CD)، افزایش نگرانی‌های امنیتی، قوانین در حال تحول حریم خصوصی و کمبود پرسنل فنی واجد شرایط، پیچیده‌تر می‌شود. /p>

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

یک الگوی جدید برای تحویل مداوم

تحویل مستمر، به کارگیری تغییرات نرم افزاری به تولید سریع و ایمن به روشی تکرارپذیر و پایدار است. این رشته جدید نیست، اما پارادایم جدیدی برای CD در حال ظهور است که آن را قادر می سازد به عنوان پایه ای برای بهبود مدیریت توسعه، افزایش بهره وری توسعه، و تضمین حاکمیت و امنیت عمل کند. این پارادایم جدید مبتنی بر سه اصل است: پلتفرم‌های باز، اتوماسیون هوشمند، و تیم‌های مستقل با کنترل متمرکز.

نحوه ترسیم روابط شی با استفاده از Dapper در ASP.NET Core

پلتفرم‌های باز

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

برای دستیابی به حداکثر بهره وری و کنترل، یکپارچگی عمیق با ابزارهای CI/CD موجود می تواند مشاهده و کنترل انتشار را در هر مرحله از فرآیند تحویل نرم افزار فراهم کند و سیستم ها را قادر می سازد تا خطرات را شناسایی کرده و گردش کار را در طول فرآیند تحویل کنترل کنند. علاوه بر این، لایه‌های ادغام باز با APIهای بومی برای ابزارهای ارکستراسیون رایج مانند Argo و Spinnaker می‌توانند به سازمان‌ها اجازه دهند تا ابزارهای ارکستراسیون را بدون پاره کردن و جایگزینی پلت فرم CD خود تغییر دهند.

اتوماسیون هوشمند

اتوماسیون هوشمند بسیاری از الزامات اصلی برای تحویل موفق نرم افزار را برطرف می کند. اتوماسیون فرآیند اولیه می تواند بهره وری را با خودکارسازی کارهای دستی معمول از طریق کد افزایش دهد. برای مثال، یک توسعه‌دهنده می‌تواند یک بیلد را در Jenkins اجرا کند که سپس یک کار خودکار را راه‌اندازی می‌کند که بیلد را به Artifactory می‌برد و یک خط لوله تحویل را آغاز می‌کند. با این حال، ترکیب اتوماسیون با هوش مصنوعی می‌تواند فرآیندها را توربوشارژ کند و نتایج تجاری را بهبود بخشد.

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

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

از پردازنده‌های گرافیکی برای برنامه‌های یادگیری ماشین حداکثر استفاده را ببرید

تیم های خودگردان با کنترل متمرکز

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

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

تحویل مستمر تکامل می یابد

این عناصر بنیادی جدید تحویل مستمر اکنون راه خود را در محصولات به روش‌های زیر باز می‌کنند.

پروژه های متن باز

پروژه های منبع باز CI و CD به تکامل خود ادامه می دهند. به عنوان مثال، برای پاسخگویی به نگرانی‌های امنیتی در حال تحول، Spinnaker، یک راه‌حل CD منبع باز و بومی ابری، اکنون گزینه‌های متعددی را برای احراز هویت (مدیریت هویت) و مجوز (مدیریت دسترسی) شامل می‌شود. در حمایت از کنترل متمرکز، Spinnaker همچنین رویکرد هوشمندانه ای را نسبت به این قابلیت های امنیتی کلیدی در پیش گرفته است. Spinnaker به جای کدنویسی یک راه حل ورود جدید و اختصاصی، از پروتکل های امنیتی مدرن، از جمله OAuth 2.0، SAML و LDAP بهره می برد و به Spinnaker این امکان را می دهد تا با راه حل های مدیریت هویت و دسترسی که در حال حاضر در اکثر سازمان ها استفاده می شود، یکپارچه شود. Spinnaker همچنین با راه‌حل‌های مجوز متداول، مانند Google Groups، GitHub Teams، SAML Roles، و گروه‌های LDAP ادغام می‌شود.

اتوماسیون فرآیند اولیه

اتوماسیون فرآیندهای معمول در راه حل های تجاری رایج شده است، از جمله راه حل های اختصاصی و محصولات مبتنی بر راه حل های CD منبع باز. به عنوان مثال، راه حل های تجاری مانند CodeFresh، Armory و OpsMx همگی بر روی پروژه های CD منبع باز مانند Argo و Spinnaker ساخته شده اند. راه حل های تجاری اختصاصی نیز از شرکت هایی مانند Digital.ai، Harness و Broadcom در دسترس هستند.

هوش مصنوعی اولیه و یادگیری ماشین

هوش مصنوعی و یادگیری ماشین در راه حل های تجاری مانند Harness و OpsMx در حال ظهور هستند. یکی از نمونه‌های این فرآیند تأیید مداوم مبتنی بر یادگیری ماشینی است که از استقرارهای قبلی یاد می‌گیرد و یک خط پایه از استقرار خوب ایجاد می‌کند که تشخیص ناهنجاری را ممکن می‌سازد. به همین ترتیب، ابزارهای CI/CD از New Relic، Datadog، Honeycomb، و Splunk از AI/ML برای ارائه بینش بیشتری در مورد عملکرد و کیفیت نرم افزار استفاده می کنند.

سی شارپ 11 حروف خام رشته را پیش‌نمایش می‌کند، بررسی تهی پارامتر را تخلیه می‌کند

اتوماسیون هوشمند

اتوماسیون هوشمند فناوری‌های هوش مصنوعی و اتوماسیون فرآیند رباتیک (RPA) را برای ساده‌سازی و مقیاس‌بندی فرآیندها و تصمیم‌گیری در سازمان‌ها ترکیب می‌کند. اتوماسیون هوشمند در تعداد محدودی از راه‌حل‌های CD تجاری مانند OpsMx در حال ظهور است و به سازمان‌ها این امکان را می‌دهد تا فراتر از خودکارسازی فرآیندها و گردش‌های کاری معمولی عمل کنند.

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

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

خبر خوب این است که devops می تواند امروز پایه جدیدی را برای فرآیندهای CD خود پیاده سازی کند تا از انتشار نرم افزارهای سریعتر و با کیفیت بالاتر اطمینان حاصل کند. همانطور که قابلیت‌های اتوماسیون هوشمند به طور گسترده‌تر در دسترس قرار می‌گیرد، devops می‌تواند خود را به عنوان محرک اصلی شتاب تحول دیجیتال قرار دهد و قابلیت‌های نرم‌افزاری جدید را سریع‌تر، مکررتر و ایمن‌تر در بازه‌های زمانی محدودتر ارائه دهد.

Gopal Dommety مدیر عامل OpsMx است ، ارائه‌دهنده یک پلتفرم تحویل مداوم هوشمند. گوپال یک کارآفرین سریال و آینده‌نگر فناوری است.

انجمن فناوری جدید مکانی را برای کاوش و بحث در مورد فناوری سازمانی نوظهور در عمق و وسعت بی سابقه ای فراهم می کند. انتخاب ذهنی است، بر اساس انتخاب ما از فناوری هایی که معتقدیم مهم هستند و برای خوانندگان InfoWorld بیشترین علاقه را دارند. InfoWorld وثیقه بازاریابی را برای انتشار نمی پذیرد و حق ویرایش تمام محتوای ارائه شده را برای خود محفوظ می دارد. همه سوالات را به newtechforum@infoworld.com ارسال کنید.