محیط های زودگذر: مروری سریع

Summarize this content to 400 words in Persian Lang
محیطهای زودگذر استاندارد جدید صنعتی برای آزمایش و پیشنمایش ویژگیها قبل از رسیدن به مرحله است. آنها به طور کلی بر اساس هر درخواست کششی ارائه می شوند، بنابراین هر ویژگی را می توان به صورت مجزا قبل از ادغام آزمایش کرد.
استفاده از محیطهای زودگذر برای آزمایش ویژگیها میانبری برای تجربه توسعهدهنده عالی است: مهندسان زمانی فعالتر میشوند که محیطهای آزمایشی آنها گردشهای کاری استقرار فعلی آنها را منعکس کنند (بخوانید: بدون سربار دستی). تعویض آنها برای جایگزینی محیطهای استاتیک سنتی به تیمها کمک میکند سریعتر ارسال کنند، بیشتر آزمایش کنند، دقیقتر بررسی کنند، و مهمتر از همه به استقرار آنها اعتماد کنید
معماری محیطی زودگذر
محیط های زودگذر در نقطه شیرینی بین کارایی هزینه و برابری تولید قرار دارند. چند الگوی معماری وجود دارد که به شما کمک می کند تضمین کنید که ارزش آنها به حداکثر می رسد:
آنها کاملاً از بقیه زیرساخت های شما جدا هستند
محیط های زودگذر نباید وابستگی ها یا خدماتی را با یکدیگر یا هیچ یک از محیط های دیگر شما به اشتراک بگذارند. این امر شعاع انفجار آنها را در صورت بروز باگ یا پسرفت جدا می کند.
آنها نسخه های تمام پشته و تقریباً تولید برنامه شما هستند
بهترین راه برای آزمایش ویژگی های شما؟ در کنار واقعی خدمات، APIها، و غیره. بسیاری از ویژگی ها تا مرحله بندی (یا حتی تولید) آزمایش کافی نمی شوند. محیط های پیش تولید شما هستند به طور قاطع اگر آنها بتوانند به شما کمک کنند آزمایش واقعی و مرحله آخر خود را به سمت چپ تغییر دهند، ارزشمندتر است.
آنها دارای GitOps هستند
بسیاری از گلوگاههای محیطی در سمت انسان رخ میدهند: به عنوان مثال، آیا به کسی نیاز دارید که کد شما را به صورت دستی ایجاد یا به یک محیط آزمایشی فشار دهد؟ محیط های زودگذر وظایف تکراری را خودکار می کنند: آنها باید از GitOps برای ایجاد و همگام سازی محیط ها با مخزن SSOT شما استفاده کنند، بنابراین آنها همیشه آخرین تغییرات کد شما را منعکس می کنند.
آنها کوتاه مدت هستند
رفتار با محیط های خود مانند گاو یک الگوی رایج به دلایل خوب است: شما اینطور نیست نیاز دارند محیط های آزمایشی شما به صورت 24 ساعته در حال اجرا هستند و همچنین نیازی به داشتن زیرساخت ثابت ندارید. کوتاهمدت محیطها هزینههای ابر را کاهش میدهد و به شما امکان میدهد تا در صورت نیاز به سرعت آنها را تهیه یا حذف کنید.
اوبر یک سیستم محیطی زودگذر داخلی به نام SLATE (محیط تست برنامه کوتاه مدت) را حفظ می کند. آنها از آن برای آزمایش ویژگی های جدید با وابستگی های تولید خود استفاده می کنند.
یک گردش کار محیطی معمولی زودگذر
محیطهای زودگذر، زمانی که به درستی انجام شوند، میتوانند چند روز از زمان استقرار را کاهش دهند. درخواستی بودن به این معنی است که تعداد بیشتری از اعضای تیم می توانند به طور ناهمزمان کار/بازبینی کنند، به خصوص بدون هیچ گونه مداخله تیم DevOps/Platform.
در اینجا یک گردش کار ممکن است شبیه به آن باشد:
یک توسعه دهنده یک ویژگی را تکمیل می کند و یک روابط عمومی را باز می کند
یک محیط زودگذر به طور خودکار ارائه می شود که منعکس کننده آخرین تغییرات کد برنامه نویس است
خط لوله CI تست های واحد، یکپارچه سازی و E2E را در برابر محیط جدید اجرا می کند
اگر همه آزمایشها قبول شوند، توسعهدهنده با محیط تعامل میکند و مطمئن میشود که این ویژگی همانطور که در نظر گرفته شده است کار میکند. محیط پس از عدم فعالیت می چرخد
آنها برای بررسی کد، بررسی طراحی، بررسی محصول و غیره در همتایان حلقه می زنند.
بازبینها در صورت مناسب بودن، تأیید یا درخواست تغییرات، محیط را تغییر میدهند
توسعهدهنده commitهای جدید (در صورت وجود)، محیط را همگامسازی میکند و دوباره کارهای CI را اجرا میکند.
هنگامی که ویژگی آماده شد، توسعه دهنده شاخه را ادغام می کند و محیط به پایین می چرخد
کل این حلقه می تواند از چند ساعت تا چند روز طول بکشد، بسته به اینکه ویژگی چقدر پیچیده است. گلوگاههای محیط آزمایش زمان زیادی را کاهش میدهند، بنابراین استفاده از یک مدل زودگذر فورا سرعت توسعه را تا 40 درصد افزایش میدهد.
تاثیر DORA و DevEx
محیط های زودگذر تأثیر موجی مثبتی بر زندگی مهندسان دارند، اما جدا از موارد واضح (سرعت بلیط، زمان تحویل و غیره)، چگونه می توانید کمیت کردن ارزش آنها؟
معیارهای DORA
معیارهای DORA (تحقیق و ارزیابی DevOps) روشی واقعی برای اندازهگیری توان و ثبات ویژگی است. آنها به تیمها کمک میکنند تا عملکرد خود را به روشی استاندارد و ساده محک بزنند و اهداف متریک را برای تقویت بهبود مستمر تعیین کنند.
منبع: Google Cloud
محیط های زودگذر، به راحتی، تأثیر مستقیمی بر چهار معیار کلیدی DORA دارند. در هسته خود، DORA تیم ها را به سمت فرآیندهای استقرار خوب (تحویل مستمر، زیرساخت انعطاف پذیر، معماری مقیاس پذیر و غیره) هدایت می کند تا بتوانند کیفیت فرآیندهای خود (و در نتیجه نرم افزارشان) را بهبود بخشند.
تجربه توسعه دهنده (DevEx)
زمانی توسعهدهندگان بیشترین بهرهوری را دارند که از آنها پشتیبانی شود تا بهترین کار خود را از طریق ابزارها و فرآیندها انجام دهند. سرمایه گذاری در DevEx نه تنها کیفیت زندگی توسعه دهندگان را بهبود می بخشد، بلکه تأثیر مثبتی بر بهره وری و کیفیت نرم افزار دارد.
بزرگترین موانع DevEx وظایفی هستند که جریان را مختل می کنند. اگر یک برنامهنویس نتواند به مدت کوتاهی پس از فشار دادن کد به یک محیط دسترسی پیدا کند، مجبور میشود سوئیچ متنی را انجام دهد، در نتیجه شتاب را از دست میدهد. محیطهای زودگذر تضمین میکنند که توسعهدهندگان زیرساخت مورد نیاز برای آزمایش و پیشنمایش کد خود را در محل دارند، بنابراین میتوانند در همان روز (بهجای یک هفته بعد) به توسعه خود ادامه دهند.
تیم ها می توانند ضریب DevEx خود را با استفاده از چارچوب DevEx یا معیارهای SPACE ارزیابی کنند.
TLDR: محیط های زودگذر بسیار ارزشمند هستند
به طور خلاصه، محیطهای زودگذر تقریباً از هر طریق ممکن به فرآیندهای مهندسی سود میرسانند. دلیلی وجود دارد که آنها به سرعت در حال گسترش هستند: آنها نسبت به هزینه / تلاش خود بازدهی انبوهی دارند.
یک جمع بندی سریع:
آنها مقرون به صرفه هستند
از آنجایی که عمر آنها کوتاه است، شما فقط برای آنچه استفاده می کنید هزینه می کنید، بنابراین می توانید هر تعداد محیطی که نیاز دارید داشته باشید.
آنها همکاری را ترویج می کنند
تیمها میتوانند محیطهای هر ویژگی را بررسی کنند، قبل از مرحلهبندی، تغییرات کد را مشاهده کرده و با آنها تعامل داشته باشند
آنها کیفیت زندگی توسعه دهنده را بهبود می بخشند
زیرساختهای درخواستی به این معنی است که توسعهدهندگان میتوانند به جای منتظر ماندن برای مداخله دستی DevOps در جریان باشند و در محل آزمایش کنند.
آنها تیم ها را قادر می سازند تا سریعتر ارسال کنند
محیطهای زودگذر، گلوگاههای محیطی را از بین میبرند، به این معنی که زمان استقرار به طور قابل توجهی کوتاهتر میشود
به دنبال محیط های زودگذر مدیریت شده هستید؟ کشتی سازی را امتحان کنید. معیارهای DORA شما از شما تشکر خواهند کرد 🙂
محیطهای زودگذر استاندارد جدید صنعتی برای آزمایش و پیشنمایش ویژگیها قبل از رسیدن به مرحله است. آنها به طور کلی بر اساس هر درخواست کششی ارائه می شوند، بنابراین هر ویژگی را می توان به صورت مجزا قبل از ادغام آزمایش کرد.
استفاده از محیطهای زودگذر برای آزمایش ویژگیها میانبری برای تجربه توسعهدهنده عالی است: مهندسان زمانی فعالتر میشوند که محیطهای آزمایشی آنها گردشهای کاری استقرار فعلی آنها را منعکس کنند (بخوانید: بدون سربار دستی). تعویض آنها برای جایگزینی محیطهای استاتیک سنتی به تیمها کمک میکند سریعتر ارسال کنند، بیشتر آزمایش کنند، دقیقتر بررسی کنند، و مهمتر از همه به استقرار آنها اعتماد کنید
معماری محیطی زودگذر
محیط های زودگذر در نقطه شیرینی بین کارایی هزینه و برابری تولید قرار دارند. چند الگوی معماری وجود دارد که به شما کمک می کند تضمین کنید که ارزش آنها به حداکثر می رسد:
-
آنها کاملاً از بقیه زیرساخت های شما جدا هستند
محیط های زودگذر نباید وابستگی ها یا خدماتی را با یکدیگر یا هیچ یک از محیط های دیگر شما به اشتراک بگذارند. این امر شعاع انفجار آنها را در صورت بروز باگ یا پسرفت جدا می کند.
-
آنها نسخه های تمام پشته و تقریباً تولید برنامه شما هستند
بهترین راه برای آزمایش ویژگی های شما؟ در کنار واقعی خدمات، APIها، و غیره. بسیاری از ویژگی ها تا مرحله بندی (یا حتی تولید) آزمایش کافی نمی شوند. محیط های پیش تولید شما هستند به طور قاطع اگر آنها بتوانند به شما کمک کنند آزمایش واقعی و مرحله آخر خود را به سمت چپ تغییر دهند، ارزشمندتر است.
-
آنها دارای GitOps هستند
بسیاری از گلوگاههای محیطی در سمت انسان رخ میدهند: به عنوان مثال، آیا به کسی نیاز دارید که کد شما را به صورت دستی ایجاد یا به یک محیط آزمایشی فشار دهد؟ محیط های زودگذر وظایف تکراری را خودکار می کنند: آنها باید از GitOps برای ایجاد و همگام سازی محیط ها با مخزن SSOT شما استفاده کنند، بنابراین آنها همیشه آخرین تغییرات کد شما را منعکس می کنند.
-
آنها کوتاه مدت هستند
رفتار با محیط های خود مانند گاو یک الگوی رایج به دلایل خوب است: شما اینطور نیست نیاز دارند محیط های آزمایشی شما به صورت 24 ساعته در حال اجرا هستند و همچنین نیازی به داشتن زیرساخت ثابت ندارید. کوتاهمدت محیطها هزینههای ابر را کاهش میدهد و به شما امکان میدهد تا در صورت نیاز به سرعت آنها را تهیه یا حذف کنید.
اوبر یک سیستم محیطی زودگذر داخلی به نام SLATE (محیط تست برنامه کوتاه مدت) را حفظ می کند. آنها از آن برای آزمایش ویژگی های جدید با وابستگی های تولید خود استفاده می کنند.
یک گردش کار محیطی معمولی زودگذر
محیطهای زودگذر، زمانی که به درستی انجام شوند، میتوانند چند روز از زمان استقرار را کاهش دهند. درخواستی بودن به این معنی است که تعداد بیشتری از اعضای تیم می توانند به طور ناهمزمان کار/بازبینی کنند، به خصوص بدون هیچ گونه مداخله تیم DevOps/Platform.
در اینجا یک گردش کار ممکن است شبیه به آن باشد:
- یک توسعه دهنده یک ویژگی را تکمیل می کند و یک روابط عمومی را باز می کند
- یک محیط زودگذر به طور خودکار ارائه می شود که منعکس کننده آخرین تغییرات کد برنامه نویس است
- خط لوله CI تست های واحد، یکپارچه سازی و E2E را در برابر محیط جدید اجرا می کند
- اگر همه آزمایشها قبول شوند، توسعهدهنده با محیط تعامل میکند و مطمئن میشود که این ویژگی همانطور که در نظر گرفته شده است کار میکند. محیط پس از عدم فعالیت می چرخد
- آنها برای بررسی کد، بررسی طراحی، بررسی محصول و غیره در همتایان حلقه می زنند.
- بازبینها در صورت مناسب بودن، تأیید یا درخواست تغییرات، محیط را تغییر میدهند
- توسعهدهنده commitهای جدید (در صورت وجود)، محیط را همگامسازی میکند و دوباره کارهای CI را اجرا میکند.
- هنگامی که ویژگی آماده شد، توسعه دهنده شاخه را ادغام می کند و محیط به پایین می چرخد
کل این حلقه می تواند از چند ساعت تا چند روز طول بکشد، بسته به اینکه ویژگی چقدر پیچیده است. گلوگاههای محیط آزمایش زمان زیادی را کاهش میدهند، بنابراین استفاده از یک مدل زودگذر فورا سرعت توسعه را تا 40 درصد افزایش میدهد.
تاثیر DORA و DevEx
محیط های زودگذر تأثیر موجی مثبتی بر زندگی مهندسان دارند، اما جدا از موارد واضح (سرعت بلیط، زمان تحویل و غیره)، چگونه می توانید کمیت کردن ارزش آنها؟
معیارهای DORA
معیارهای DORA (تحقیق و ارزیابی DevOps) روشی واقعی برای اندازهگیری توان و ثبات ویژگی است. آنها به تیمها کمک میکنند تا عملکرد خود را به روشی استاندارد و ساده محک بزنند و اهداف متریک را برای تقویت بهبود مستمر تعیین کنند.
منبع: Google Cloud
محیط های زودگذر، به راحتی، تأثیر مستقیمی بر چهار معیار کلیدی DORA دارند. در هسته خود، DORA تیم ها را به سمت فرآیندهای استقرار خوب (تحویل مستمر، زیرساخت انعطاف پذیر، معماری مقیاس پذیر و غیره) هدایت می کند تا بتوانند کیفیت فرآیندهای خود (و در نتیجه نرم افزارشان) را بهبود بخشند.
تجربه توسعه دهنده (DevEx)
زمانی توسعهدهندگان بیشترین بهرهوری را دارند که از آنها پشتیبانی شود تا بهترین کار خود را از طریق ابزارها و فرآیندها انجام دهند. سرمایه گذاری در DevEx نه تنها کیفیت زندگی توسعه دهندگان را بهبود می بخشد، بلکه تأثیر مثبتی بر بهره وری و کیفیت نرم افزار دارد.
بزرگترین موانع DevEx وظایفی هستند که جریان را مختل می کنند. اگر یک برنامهنویس نتواند به مدت کوتاهی پس از فشار دادن کد به یک محیط دسترسی پیدا کند، مجبور میشود سوئیچ متنی را انجام دهد، در نتیجه شتاب را از دست میدهد. محیطهای زودگذر تضمین میکنند که توسعهدهندگان زیرساخت مورد نیاز برای آزمایش و پیشنمایش کد خود را در محل دارند، بنابراین میتوانند در همان روز (بهجای یک هفته بعد) به توسعه خود ادامه دهند.
تیم ها می توانند ضریب DevEx خود را با استفاده از چارچوب DevEx یا معیارهای SPACE ارزیابی کنند.
TLDR: محیط های زودگذر بسیار ارزشمند هستند
به طور خلاصه، محیطهای زودگذر تقریباً از هر طریق ممکن به فرآیندهای مهندسی سود میرسانند. دلیلی وجود دارد که آنها به سرعت در حال گسترش هستند: آنها نسبت به هزینه / تلاش خود بازدهی انبوهی دارند.
یک جمع بندی سریع:
-
آنها مقرون به صرفه هستند
از آنجایی که عمر آنها کوتاه است، شما فقط برای آنچه استفاده می کنید هزینه می کنید، بنابراین می توانید هر تعداد محیطی که نیاز دارید داشته باشید.
-
آنها همکاری را ترویج می کنند
تیمها میتوانند محیطهای هر ویژگی را بررسی کنند، قبل از مرحلهبندی، تغییرات کد را مشاهده کرده و با آنها تعامل داشته باشند
-
آنها کیفیت زندگی توسعه دهنده را بهبود می بخشند
زیرساختهای درخواستی به این معنی است که توسعهدهندگان میتوانند به جای منتظر ماندن برای مداخله دستی DevOps در جریان باشند و در محل آزمایش کنند.
-
آنها تیم ها را قادر می سازند تا سریعتر ارسال کنند
محیطهای زودگذر، گلوگاههای محیطی را از بین میبرند، به این معنی که زمان استقرار به طور قابل توجهی کوتاهتر میشود
به دنبال محیط های زودگذر مدیریت شده هستید؟ کشتی سازی را امتحان کنید. معیارهای DORA شما از شما تشکر خواهند کرد 🙂