📌 تست کردن یا Development
در این مرحله، دولوپرها و مسئولین کنترل کیفیت (QC) کدهای نوشته شده را تست نموده و آنها را برای یکپارچه شدن با سورسکد اصلی آماده میکنند که در این مرحله ممکن است از ابزارها و اسکریپتهایی به منظور انجام خودکار تستها استفاده شود اما هنوز هم برای اجرای دستی کدها بر روی سیستمهای داخلی شرکت به حضور دولوپرها و مسئولین کنترل کیفیت نیاز است.
در اینجا است که دوباره پای مهندس دوآپس به میان میآید به طوری که در این مرحله وظیفهاش این است که برای تکرار خودکار تستها راهی بیابد؛ او میتواند از ابزارهایی مانند Jenkins ،Bamboo و یا Drone استفاده کند (اینها ابزارهای Continuous Integration یا به اختصار CI هستند که تست مداوم کدها را آسانتر میکنند.) در این مرحله لازم است تا به سؤالات زیر پاسخ داده شود:
- چگونه میتوان به اصطلاح چندین Client Environment تکرارپذیر ایجاد نمود؟
- از کجا بدانم تست مورد نظر در مورد کدام نسخه از سرویس در حال انجام است؟
- چگونه تاریخچهٔ تستها را دنبال کنم و با استفاده از آن به روندهای موجود پی ببرم؟
- چگونه پس از تست نمودن کدها، مشکلات احتمالی را به دولوپرها اعلام کنم؟
- دادههای تست را از کجا به دست آورم؟
📌 استقرار یا Deployment
در واقع Deployment به معنای قرار دادن کدها روی سرور اصلی نرمافزار است. به طور کلی، این مرحله در مورد این است که کدهای نوشته شده چهطور و با چه نظمی در محصول نهایی قرار بگیرند تا کاربر نرمافزار قادر به استفاده از سرویس ما گردد. در این مرحله نیز مهندسان دوآپس از ابزارهای CI مشابه آنچه که در بخش قبل معرفی شد استفاده میکنند و بعضی از مهمترین سؤالاتی که در این مرحله باید پاسخ داده شوند عبارتند از:
- چه زمانی یک نسخهٔ نهایی نشده از نرمافزار آمادهٔ دیپلوی شدن است؟
- چگونه بدون اینکه کاربر متوجه شود، سرویسی را دیپلوی نمایم؟
- چگونه مطمئن شوم که سرویسی که به تازگی دیپلوی شده، سبب ایجاد اختلال نمیشود؟
- چگونه فرآیند دیپلوی شدن را به صورت خودکار در آورم؟
- چگونه در صورت لزوم در فرآیند دیپلوی خودکار، مراحلی را به صورت دستی و غیرخودکار انجام دهم؟
- چگونه فرآیند دیپلوی را با روشی تکرارپذیر انجام دهم؟
معمولاً این مرحله زمان زیادی را از مهندسان دوآپس نمیگیرد اما بخشی که این مهندسین باید بیشترین زمان و انرژی خود را صرف آن کنند، مرحلهٔ بعدی، یعنی Maintenance، است.
📌 نگهداری یا Maintenance
همانطور که قبلاً گفتیم، مرحلهٔ نگهداری از نرمافزار یکی از مراحلی است که بیشترین زمان یک مهندس دوآپس را به خود اختصاص میدهد و این مرحله تماماً در مورد انجام کارهایی است که در نهایت موجب در دسترس قرار گرفتن یک سیستم و حفظ کارایی آن میشوند. در این مرحله سؤالاتی مانند موارد زیر باید پاسخ داده شوند:
- چگونه میتوانم از مشکلات و باگهای موجود در محصول یا سرویس آگاه شوم؟
- چگونه باگهای مختلف موجود در محصول یا سرویس را به تیمهای مناسب ارجاع دهم؟
- چگونه باگهای زیرساختی موجود در محصول را برطرف کنم؟
- من به عنوان یک مهندس دوآپس چگونه میتوانم از سلامت و کارایی همهٔ سرویسها مطمئن شوم؟
سخن پایانی
در واقع DevOps آمیزه و مخلوطی از چندین نقش بوده و هدف نهایی آن در کنار هم قرار دادن دولوپرها و مهندسان اجرایی است. فرهنگ DevOps ویژگیها و قابلیتهای جدید محصول را با زیرساختهای آن سازگار مینماید و سبب میشود تا این دو بتوانند در کنار هم به خوبی عمل کنند. @BIMining
Post #1021
2.19K