چرا 2021 برای مدل GitOps سال برکاتی خواهد بود؟

در سال های اخیر ، مدل نوپای DevOps معروف به GitOps شتاب خود را افزایش داده است ، به دلایلی سال 2021 سال عطفی محسوب می شود.

در ابتدایی ترین سطح خود ، GitOps یک رویکرد توسعه است که از یک سیستم کنترل نسخه کد ، اغلب Git ، به عنوان پایه ای برای تعریف و کنترل گردش کار DevOps و همگام سازی بین سیستم ها استفاده می کند. یک تعریف رسمی برای مدل GitOps در دست اجرا است ، این یکی از دلایلی است که سال 2021 سال خوبی برای GitOps خواهد بود. تعریف و همچنین راهنمایی در مورد بهترین روش ها توسط گروه کاری GitOps در بنیاد محاسبات بومی Cloud (CNCF) گروه علاقه ویژه (SIG) برای تحویل برنامه در حال توسعه است. کنسرسیومی از فروشندگان از جمله خدمات وب آمازون (AWS) ، GitHub ، Weaveworks و Codefresh همگی در حال کار با یکدیگر هستند تا دریابند که چگونه بهترین وضعیت GitOps را پیش می برند.

کریس پترسون ، مدیر محصولات کارکنان در GitHub ، گفت: “در چند سال گذشته افزایش DevOps وجود داشته است و GitOps امتداد طبیعی آن است ، تیم ها را به یک ترتیب بهتر می رساند و آنها را به سمت Git سوق می دهد.” ITPro امروز. “ما معتقدیم که همکاری با صنعت و جامعه برای تعریف اصول و توسعه راهنمایی برای GitOps به محض بلوغ بسیار مهم است و ما خوشحالیم که با ادامه رشد در CNCF ، بخشی از کارگروه GitOps هستیم.”

GitOps در شار

در حالی که GitOps یک روش است ، اما شامل فناوری نیز می شود. به طور خاص ، چندین پروژه منبع باز کلیدی وجود دارد که به فعال کردن GitOps کمک می کنند. از جمله آنها است شار پروژه ، به رهبری بافندگی، که در 11 مارس از وضعیت جوجه کشی به وضعیت پروژه Sandbox درون CNCF منتقل شد.

“در رادار فناوری کاربر نهایی CNCF روشن تحویل مداوم ، ژوئن 2020، چریل هونگ ، معاون رئیس اکوسیستم در CNCF ، به گفت: “انجمن کاربر نهایی CNCF Flux را در گروه Adopt قرار داد ، که یک توصیه واضح است ، حتی اگر در آن زمان فقط یک پروژه Sandbox بود.” ITPro امروز. “هر دو سازمان کوچک و بزرگ موفقیت با Flux را گزارش کردند و شفافیت ، قابلیت مشاهده و تکرارپذیری GitOps برای همه تیم های سیستم عامل مفید است.”

در حالی که Git ، که یک سیستم کنترل نسخه متن باز است ، بخشی از اصطلاح “GitOps” است ، کورنلیا دیویس ، CTO از Weaveworks و عضو کمیته نظارت فنی CNCF (TOC) ، تأکید کرد که استفاده از Git به تنهایی نیست GitOps را فعال می کند.

دیویس به گفت: “ما گاهی وسوسه می شویم که بگوییم ، خوب ، به محض اینکه چیزها را در Git بگذارم و نوعی اتوماسیون داشته باشم ، بنابراین ، من GitOps را انجام می دهم.” ITPro امروز. “اما به این دلیل که آن را در Git قرار داده اید به این معنی نیست که به طور خودکار شروع به کار می کند هرچه قشنگ تر از گذشته است.”

از نظر دیویس ، GitOps در مورد آوردن یک روش بومی ابر به DevOps است. وی گفت: بومی بودن ابر ، سازگاری مداوم با تغییراتی است که پیرامون یک برنامه یا فرآیند توسعه اتفاق می افتد. وی افزود ، با استفاده از Flux ، یک مدل برنامه نویسی وجود دارد که به یک سازمان اجازه می دهد چیزهای مختلفی را بهم متصل کند تا به درستی اتوماسیون را نمونه سازی کند که نمونه ای از GitOps است.

دیویس گفت: “GitOps اتوماسیون است که به طور مداوم با تغییر ماهیت ابر سازگار می شود.”

نحوه استفاده سازمانها از مدل GitOps

مدل GitOps امروزه در تمام سازمانها در حال پذیرش است. Microsoft Azure Arc، که یک فناوری ابری ترکیبی است ، به گفته دیویس ، مستقیماً پروژه منبع آزاد Flux را ادغام می کند تا به فعال کردن یک مدل GitOps کمک کند.

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

گارفیلد گفت: “GitOps در عمل بسیاری از بهترین استراتژی های استقرار و تحویل مداوم را برای ایجاد یک روند مدرن و کارآمد برای استقرار جمع می کند.” “این یک سربار مدیریت پایین تر ، پیش بینی بهتر ، ممیزی بهتر است و کاربران ما تشخیص می دهند که رگرسیون های احتمالی خیلی زودتر بسیار آسان تر است.”

برونو آندراد ، مدیر عامل شرکت فروشنده چارچوب مدیریت برنامه های بومی Shipa.io، گفت ITPro امروز که اگر به خوبی انجام شود ، مقدار موجود در مدل GitOps باعث کارآیی بیشتر DevOps و گردش کار می شود.

آندراد گفت: “GitOps مسیر واضحی از هر آنچه برای اجرای برنامه های خود نیاز دارید را تا سطح جزئیات زیرساخت پیاده سازی می کند.” “این یک ردیابی حسابرسی از چه کسی چه زمان و چه زمانی را اجرا می کند ، همچنین تجربه توسعه دهنده را بهبود می بخشد و اتوماسیون را بهبود می بخشد وقتی که صحبت از استقرار مداوم می شود.”

نحوه شروع کار با GitOps

چندین روش برای شروع یک سازمان با GitOps وجود دارد.

به گفته گارفیلد ، از نظر فنی Git نیازی به انجام GitOps ندارد ، اگرچه آنچه مورد نیاز است ذخیره سازی تغییرناپذیر با نسخه است که Git محبوب ترین آن تاکنون است. علاوه بر این ، برخی از پروژه های منبع باز عالی وجود دارد که مدل GitOps را با سیستم کنترل نسخه فعال می کنند. از جمله آنها پروژه منبع آزاد Flux و پروژه آرگو، کد Codefresh در آن سهیم است.

گارفیلد توصیه می کند که سازمان ها از دو مخزن کد به عنوان بخشی از مدل GitOps استفاده کنند.

  1. اولین مخزن برنامه که در آن توسعه دهندگان است در درجه اول کار تغییرات در اینجا باعث فرآیند CI (یکپارچه سازی مداوم) برای آزمایش تغییرات و تولید خودکار مانیفست ها یا به روزرسانی بسته ها با استفاده از Kubernetes Manifests ، Kustomize یا Helm Charts و باز کردن درخواست کشیدن به مخزن زیرساخت می شود.
  2. درخواست pull به مخزن زیرساخت می تواند آزمایشات دیگری را ایجاد کند و پس از ادغام به طور خودکار با استفاده از یک اپراتور GitOps مانند Argo با اپراتور Codefresh GitOps مستقر می شود. نتیجه یک فرآیند روان است که به راحتی قابل پیگیری است حتی اگر صدها یا هزاران میکرو سرویس را در سراسر جغرافیاها ، شبکه ها و فایروال ها مستقر کنید و آنها را ده ها بار در روز به روز کنید.

دیویس گفت ، Flux با راهنماهای موجود در https://fluxcd.io/ ، راهی آسان برای شروع به کاربران فراهم می کند.

آینده GitOps

هنوز برای GitOps روزهای اولیه است ، اما جنبش در سال 2021 به طور قابل توجهی بالغ می شود.

به گفته دیویس ، منشور کارگروه GitOps برای کمک به صنعت در درک و توسعه اصول GitOps است. در Kubecon 2021 در ماه مه ، یک کنفرانس یک روزه فقط برای GitOps در نظر گرفته شده است که دیویس امیدوار است که جنبش را بیشتر پیش ببرد.

وی افزود: “من معتقدم GitOps مدلی است كه به همان روشی كه عملیات مانند آن تسلط دارد ، عمل خواهد كرد CLITORIS بر چشم انداز عملیات تسلط داشت. وی گفت: “من اعتقاد دارم که GitOps هنوز در روزهای ابتدایی است.” “من فکر می کنم ، پنج سال دیگر ، این کاملاً بالغ خواهد بود – همه سطح GitOps را انجام می دهند – اما من فکر می کنم که در حدود حداقل یک دهه یا بیشتر “