DevOps چیست؟

ساخت وبلاگ

DevOps یک چارچوب در حال تحول فلسفه رند است که توسعه سریعتر ، بهتر کاربرد و انتشار سریعتر ویژگی های نرم افزاری جدید یا اصلاح شده را به مشتریان تشویق می کند.

عمل DevOps ، ارتباطات مداوم ، ارتباط مداوم ، همکاری ، ادغام ، دید و شفافیت بین تیم های توسعه برنامه (DEV) و تیم عملیات IT (OPS) را تشویق می کند.

این رابطه نزدیکتر بین "dev" و "ops" هر مرحله از چرخه حیات DevOps را نفوذ می کند: از برنامه ریزی اولیه نرم افزار گرفته تا کدگذاری ، ساخت ، آزمایش و انتشار مراحل و به استقرار ، عملیات و نظارت مداوم. این رابطه یک حلقه بازخورد مداوم مشتری از پیشرفت ، توسعه ، آزمایش و استقرار بیشتر را پیش می برد. یک نتیجه از این تلاش ها می تواند سریع تر و مداوم تر از تغییرات یا موارد اضافی ویژگی های لازم باشد.

برخی از افراد اهداف را به چهار دسته تقسیم می کنند: فرهنگ ، اتوماسیون ، اندازه گیری و به اشتراک گذاری (CAM) و ابزارهای DevOps می توانند در این زمینه ها کمک کنند. این ابزارها می توانند گردش کار توسعه و عملیات را ساده تر و مشارکتی تر کنند ، و به طور خودکار کارهای وقت گیر ، دستی یا استاتیک را که در ادغام ، توسعه ، آزمایش ، استقرار یا نظارت انجام می شود ، خودکار کند.

چرا DevOps مهم است

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

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

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

روش های Devops

چند روش متداول DevOps وجود دارد که سازمانها می توانند از آنها برای سرعت بخشیدن و بهبود توسعه و انتشار محصول استفاده کنند. آنها به شکل روشها و شیوه های توسعه نرم افزار هستند. از جمله محبوب ترین آنها می توان به Scrum ، Kanban و Agile:

  • اسکرامScrum چگونه اعضای یک تیم باید با هم همکاری کنند تا پروژه های توسعه و QA را تسریع کنند. شیوه های Scrum شامل گردش کار کلیدی و اصطلاحات خاص (اسپرینت ، جعبه های زمانی ، Scrum Daily [جلسه]) و نقش های تعیین شده (استاد Scrum ، صاحب محصول) است.
  • KanbanKanban از کارآیی به دست آمده در کف کارخانه تویوتا سرچشمه گرفته است. Kanban تجویز می کند که وضعیت پروژه نرم افزاری در حال انجام کار (WIP) در یک صفحه Kanban ردیابی می شود.
  • چابکروشهای توسعه نرم افزار چابک اولیه همچنان بر روی شیوه ها و ابزارهای DevOps تأثیر زیادی می گذارد. بسیاری از روش های DevOps ، از جمله Scrum و Kanban ، عناصر برنامه نویسی چابک را در بر می گیرند. برخی از شیوه های چابک با پاسخگویی بیشتر به نیازها و نیازهای متغیر ، مستند سازی الزامات به عنوان داستانهای کاربر ، انجام ایستادن روزانه و درج بازخورد مداوم مشتری همراه است. Agile همچنین به جای روشهای طولانی و سنتی توسعه "آبشار" سنتی ، حیات توسعه نرم افزار کوتاه تر را تجویز می کند.

ماشین ابزارهای Devops

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

  • طرح. این مرحله به تعریف ارزش و نیازهای تجاری کمک می کند. ابزارهای نمونه شامل JIRA یا GIT برای کمک به ردیابی موضوعات شناخته شده و انجام مدیریت پروژه است.
  • کداین مرحله شامل طراحی نرم افزار و ایجاد کد نرم افزار است. ابزارهای نمونه شامل GitHub ، Gitlab ، Bitbucket یا Stash است.
  • ساختن. در این مرحله ، شما ساخت و سازهای نرم افزاری را مدیریت می کنید و از ابزارهای خودکار برای کمک به کامپایل و بسته بندی کد برای انتشار آینده به تولید استفاده می کنید. شما از مخازن کد منبع یا مخازن بسته استفاده می کنید که زیرساخت های مورد نیاز برای انتشار محصول را نیز "بسته بندی" می کنید. ابزارهای نمونه شامل Docker ، Ansible ، Puppet ، Chef ، Gradle ، Maven یا Jfrog Artifactory است.
  • تست. این مرحله شامل آزمایش مداوم (دستی یا خودکار) برای اطمینان از کیفیت بهینه کد است. ابزارهای نمونه شامل Junit ، CodeCeption ، Selenium ، Vagrant ، Testng یا Blazemeter است.
  • استقراراین مرحله می تواند شامل ابزارهایی باشد که به مدیریت ، هماهنگی ، برنامه ریزی و خودکار سازی محصول در تولید کمک می کند. ابزارهای نمونه شامل عروسک ، سرآشپز ، Ansible ، جنکینز ، Kubeetes ، OpenShift ، OpenStack ، Docker یا JIRA است.
  • کار کنیداین مرحله در طول تولید نرم افزار را مدیریت می کند. ابزارهای نمونه شامل Ansible ، Puppet ، PowerShell ، Chef ، Salt یا Otter است.
  • نظارتاین مرحله شامل شناسایی و جمع آوری اطلاعات در مورد مسائل مربوط به انتشار نرم افزار خاص در تولید است. ابزارهای نمونه شامل Relic ، DataDog ، Grafana ، Wireshark ، Splunk ، Nagios یا Slack هستند.

شیوه های DevOps

شیوه های DevOps منعکس کننده ایده بهبود مستمر و اتوماسیون است. بسیاری از شیوه ها در یک یا چند مرحله چرخه توسعه تمرکز دارند. این شیوه ها عبارتند از:

  • توسعه مداوم. این عمل شامل مراحل برنامه ریزی و برنامه نویسی چرخه حیات DevOps است. مکانیسم های کنترل نسخه ممکن است درگیر شوند.
  • آزمایش مداوم. این عمل شامل آزمایش های خودکار ، پیش بینی شده و ادامه کد است که کد برنامه در حال نوشتن یا به روزرسانی است. چنین آزمایشاتی می تواند تحویل کد به تولید را سرعت بخشد.
  • ادغام مداوم (CI). این عمل ابزارهای مدیریت پیکربندی (CM) را به همراه سایر ابزارهای آزمایش و توسعه به ارمغان می آورد تا ردیابی کند که چه مقدار از کد تهیه شده برای تولید آماده است. این شامل بازخورد سریع بین آزمایش و توسعه برای شناسایی سریع و حل مشکلات کد است.
  • تحویل مداوماین عمل تحویل تغییرات کد را پس از آزمایش ، به یک محیط پیش تولید یا مرحله بندی خودکار می کند. سپس یک کارمند ممکن است تصمیم بگیرد که چنین تغییرات کد را به تولید ارتقا دهد.
  • استقرار مداوم (CD). مشابه تحویل مداوم ، این عمل به صورت خودکار انتشار کد جدید یا تغییر یافته به تولید را خودکار می کند. شرکتی که در حال استقرار مداوم است ممکن است چندین بار در روز کد یا تغییرات را منتشر کند. استفاده از فن آوری های کانتینر ، مانند Docker و Kubeetes ، می تواند با کمک به حفظ قوام کد در سیستم عامل ها و محیط های مختلف استقرار ، استقرار مداوم را انجام دهد.
  • نظارت مداوم. این عمل شامل نظارت مداوم بر روی کد در عملکرد و زیرساخت های اساسی که از آن پشتیبانی می کند. یک حلقه بازخورد که در مورد اشکالات یا مشکلات گزارش می دهد ، باعث می شود تا به توسعه بازگردد.
  • زیرساخت به عنوان کد. این عمل می تواند در مراحل مختلف DevOps برای خودکار سازی تأمین زیرساخت های مورد نیاز برای انتشار نرم افزار مورد استفاده قرار گیرد. توسعه دهندگان "کد" زیرساخت را از ابزارهای توسعه موجود خود اضافه می کنند. به عنوان مثال ، توسعه دهندگان ممکن است حجم ذخیره سازی را در صورت تقاضا از Docker ، Kubeetes یا OpenShift ایجاد کنند. این عمل همچنین به تیم های عملیاتی اجازه می دهد تا تنظیمات محیط را کنترل کنند ، تغییرات را ردیابی کنند و بازگرداندن تنظیمات را ساده کنند.

مزایای DevOps

طرفداران DevOps چندین مزایای تجاری و فنی را توصیف می کنند که بسیاری از آنها می تواند منجر به مشتریان شادتر شود. برخی از مزایای DevOps عبارتند از:

  • تحویل سریعتر و بهتر محصول
  • وضوح سریعتر مسئله و کاهش پیچیدگی
  • مقیاس پذیری بیشتر و در دسترس بودن
  • محیط های عملیاتی با ثبات تر
  • استفاده بهتر از منابع
  • اتوماسیون بیشتر
  • دید بیشتر به نتایج سیستم
  • نوآوری بیشتر

تاریخچه DevOps

بسیاری از روش های DevOps برای ساده سازی توسعه و استقرار نرم افزار ، در توسعه نرم افزار چابک و برنامه نویسی لاغر اولیه دارند. اما Devops در ابتدا از چندین حرکت مردمی برای هماهنگی فعالیت های توسعه دهندگان و همتایان تیم عملیات آنها تکامل یافت.

در اوایل دهه 2000 ، نیاز به در دسترس بودن وب سایت های محبوب مانند Google و Flickr در برابر بازدیدهای گسترده بود. این نیاز منجر به استفاده از مهندسان قابلیت اطمینان نرم افزار (SRES) شد - افرادی که با توسعه دهندگان همکاری می کنند تا اطمینان حاصل کنند که سایت ها پس از انتشار کد به تولید ادامه می دهند.

در سال 2009 ، مهندسین فلیکر جان آلپاو و پل هموند روش شناسی مانند DevOps خود را در یک کنفرانس ارائه دادند. ارائه آنها تحت عنوان "10+ استقرار در روز: همکاری Dev و Ops در فلیکر" بود. در همان سال ، پاتریک دبوئیس اولین "روز DevOps" را در بلژیک ترتیب داد. یک هشتگ #DevOps نیز با توجه به روزهای بیشتر DevOps در سراسر جهان ، گنجانیده و به دست آورد.

طی سالهای آینده ، ابزارها و چارچوب های منبع باز و منبع باز برای پیشرفت اهداف DevOps تهیه و پیشنهاد شده است.

netapp و devops

NetApp به ارتقاء نتایج بهتر تجارت با DevOps کمک می کند: تیم های عملیاتی زیرساخت های خودکار را با مهندسی کمتر ارائه می دهند و توسعه دهندگان در محیط های قابل اعتماد و قابل پیش بینی با اصطکاک کمتری ایجاد می کنند. با استفاده از فناوری NetApp® ، شما با اطمینان می توانید خدمات و توانایی هایی را که سازمان شما برای به حداکثر رساندن بهره وری توسعه دهنده در محیط های داخلی و ابر ارائه می دهد ، ارائه دهید.

NetApp برای توسعه دهندگان ، تست ، QA و تیم های عملیاتی آسان می کند تا منابع زیرساختی (مانند حجم ذخیره مداوم) را به عنوان کد مصرف کنند ، همه از ابزارهای آشنا در خط لوله DevOps استفاده می کنند. مثالها شامل API های ذخیره سازی NetApp و ادغام IAC با ابزارهایی مانند عروسک ، Ansible ، Docker ، Kubeetes و OpenShift است.

اما NetApp فقط برای توسعه دهندگان آسان نمی تواند ذخیره سازی را به عنوان کد مصرف کند. فناوری NETAPP همچنین به عملیات اجازه می دهد تا با اطمینان و تأمین منابع را به پرسنل توسعه و آزمایش ارائه دهند. توسعه دهندگان و آزمایش کنندگان می توانند با ارائه ویژگی های ذخیره سازی سریع و صرفه جویی در وقت ، مانند عکس های فوری یا کلون ، چرخه های برنامه نویسی و آزمایش را تسریع کنند. با استفاده از این ویژگی ها ، نسخه های داده های تولید در زمان واقعی یا مجموعه کد می توانند به عنوان کد در چند ثانیه یا دقیقه برای سرعت بخشیدن به سرعت توسعه و گردش کار QA تهیه شوند. درباره اینکه چرا NetApp برای DevOps ساخته شده است بیشتر بدانید.

تعهد NetApp به جامعه به PUB گسترش می یابد. این جامعه توسعه دهنده همکاری را تشویق می کند ، نکات و ترفندهایی را به اشتراک می گذارد و ایده های مربوط به آخرین شیوه ها و پروتکل های DevOps را مورد بحث قرار می دهد.

ادامه خواندن در مورد DevOps

DevOps تحول آمیز برای ساخت نرم افزار آسانتر و سریعتر

وبلاگ Arrow_forward را بخوانید

نحوه ساخت یک زیرساخت چابک برای DevOps با OpenStack ، ظروف و Cisco Cloudcenter

اخبار رمز ارزها...
ما را در سایت اخبار رمز ارزها دنبال می کنید

برچسب : نویسنده : منیژه سلیمی بازدید : <-PostHit-> تاريخ : جمعه 12 خرداد 1402 ساعت: 22:42