فعالیت مهندسان devops به صورت دورکاری در شرایط امروز
چهارشنبه 31 اردیبهشت 1399مهندسان devops در شرایط همه گیری بیماری کرونا از اهمیت بسیار زیادی برخوردار هستند، ما در این مطلب درباره مهندسان devops صحبت خواهیم کرد.
اگر شما مهندسان devops به صورت دورکاری و یا در تیم های توزیع شده فعالیت می کنید، احتمالا چالش های بسیار زیادی را در روش devops تجربه کرده اید که می توانند باعث جلوگیری از موفقیت هایی که می توانستید با روش agile بدست آورید، شوند. در این روش شما سختی های بیشتری را نسبت به توسعه دهندگان agile، مهندسان تضمین کیفیت، مهندسان پشتیبانی از سایت و سایر اپراتورهای سیستم ها تجربه می کنید.
چالش اول برای مهندسان devops
اولین چالشی که شما در این روش با آن روبرو هستید، مسئولیت ops است. شما باید در این روش اطمینان حاصل کنید که سیستم ها و سرویس ها به صورت قابل اطمینانی کار می کنند. بر اساس بررسی های اخیری که درباره آینده monitoring و AIops انجام شده است 61 درصد از افراد ادعا داشتند که هم مسئولین مرکز عملیات شبکه و هم مهندسان روش devops مسئولیت پاسخگویی به حوادثی که ممکن است برای برنامه پیش بیاید را بر عهده دارند. به همین علت بیشتر مهندسان depoves باید اقدام به حل مسائلی از قبیل مقیاس پذیری زیرساخت ها، تعامل با بلاک ها در زمان ساخت pipeline ها و یا داشتن تخصص در زمینه های مختلف امنیتی کنند.
چالش دوم برای مهندسان devops
دومین چالشی که در روش devops با آن روبرو هستید، مربوط به مسئولیت های dev است. به صورت اختصاصی می توان گفت شما باید اقدام به توسعه و پشتیبانی از CI/CD پایپ لاین ها، زیرساخت های کد و سایر فعالیت های خودکار کنید. مهندسان devops ممکن است از اعضای تیم های توسعه agile باشند و یکی از بخش های داستانی کاربران را دریافت کرده تا یکی از فعالیت های خودکار را ساخته و یا بهبود دهند. در سایر زمان ها مهندسان devops می توانند به عنوان بخشی از تیم های مربوط به سرویس اشتراک گذاری که از این فعالیت های خودکار پشتیبانی می کنند باشند و در چند تیم توسعه فعالیت داشته باشند. صرف نظر از رویکرد مورد استفاده ساخت CI/CD و زیرساخت های خودکار نیازمند همکاری های زیادی است تا بتوانید نیازمندی های واقعی و عملی را متوجه شوید، با محیط های توسعه کار کنید، عوامل سازگاری سیستم را پیدا کنید، وضعیت امنیتی را به ثبات برسانید و ملاحظات مربوط به عملکرد برنامه را نیز داشته باشید.
یک تعریف مناسب از devops و مهندسان devops
اگرچه مهندسان devops باید مسئولیت پذیری های dev و ops را بپذیرند ولی با این حال باید بدانید که devops صورت خاص مبتنی بر همکاری های بین تیم توسعه دهنده اپلیکیشن و تیم IT است. در واقع می توان گفت که devops تعریف واحدی از همکاری بین بخش های مختلف را ارائه می دهد. " Devops کاملا درباره فرهنگ، تعاملات مبتنی بر همکاری تیم ها و خودکارسازی فعالیت ها است که تیم توسعه و تیم اتوماسیون را با یکدیگر مرتبط می سازد. بنابراین این دو تیم می توانند با یک ذهنیت واحد تجربه مشتریان را بهبود دهند، سریع تر به نیازمندی های کسب و کار خود پاسخ دهند و اطمینان حاصل کنند که نوآوری های جدید تعادل میان امنیت و نیازهای عملیاتی کسب و کار را به خطر نمی اندازد.
Devops برای ایجاد همکاری و فرهنگ تعامل میان تیم ها نیازمند ایجاد برخی از اصول اولیه کار است. اگر شما خود را به عنوان یک مهندس devops در نظر بگیرید باید حتما سعی کنید که بهترین روش ها برای انجام این کار را بیاموزید تا بتوانید تیم ها را از راه دور مدیریت کنید. ما در ادامه برخی از این روش ها را برای شما بیان کرده ایم.
جلسات خود را از راه دور نیز به صورت مرتب برگزار کنید
اولین نکته ای که به عنوان یک مهندس devops باید در نظر بگیرید این است که با هم تیمی های خود آشنا شوید و بدانید که آنها از چه ابزارهایی برای همکاری با شما استفاده می کنند. این موضوع به نظر ساده می رسد اما ممکن است در بسیاری از سازمان های بزرگ به این سادگی ها نباشد چرا که تیم ها در این سازمان ها معمولا از استقلال کافی برخوردار هستند و می توانند ابزارهای خود را خودشان انتخاب کنند. این موضوع می تواند برای مهندسان devops پیچیده تر شود چرا که شما به عنوان یک مهندس devops باید از مجموعه ای از ابزارها برای مسئولیت پذیری های dev و از مجموعه دیگری از ابزارها برای مسئولیت پذیری های ops استفاده کنید.
مهندسین دور کار و تیم های توزیع شده devops نباید نگرانی زیادی درباره این پیچیدگی ها داشته باشند و یا سعی کنند که سایر تیم ها را مجبور کنند تا تنها از یک مجموعه ابزار و یک روش استفاده کنند. در صورتی که همکاری مبتنی بر مهندسی devops موفقیت آمیز باشد مهندسان می توانند به راحتی از راه دور و با استفاده از ابزارهای مختلف همکاری داشته باشند و محصولات مد نظر خود را به راحتی تولید کنند.
بر روی قابلیت های گزارش دهی و مستندسازی مهندسان devops سرمایه گذاری کنید
بخش بسیار بزرگی از devops بر روی خودکارسازی فرآیندها از جمله فرآیندهای ادغام سازی، تست، مستقر کردن کدها، زیرساخت ها و نظارت بر اپلیکیشن ها تمرکز کرده است. توسعه دهندگان نرم افزار مسئولیت پذیر به قدرتمندتر شدن و قابل اطمینان تر شدن اپلیکیشن ها کمک می کنند. مهندسان devops نیز باید همین کار را برای اتوماسیون های مختلف انجام دهند.
هر یک از این اتوماسیون ها دارای مشتری های خاص خود هستند و جزئیات عملیاتی خود را نیز دارند. به عنوان مثال مهندسان devops باید توسعه دهندگان اپلیکیشن را به عنوان مشتری های خود برای CI/CD پایپ لاین ها و عملکردهای سیستم IT در زیرساخت ها را به عنوان اسکریپت کردن کدها در نظر بگیرند. در صورتی که یک مهندس devops در هر یک از این مراحل ساخت با شکست روبرو شود هر دو گروه با مشکلات بسیار زیادی روبرو خواهند شد.
نکاتی مهم برای مهندسان devops
افزایش این چنینی مشکلات می تواند کار را برای مهندسان devops سخت تر کند و علاوه بر این مشکلات زیادی را برای تیم های توزیع شده که به صورت دورکاری فعالیت می کنند به وجود بیاورد. اگر یک مسئله یکی از بخش های تیم را دچار مشکل کند این موضوع می تواند بر روی فعالیت و بهره وری کل اعضای تیم تاثیرگذار باشد. در واقع دورکاری به این معنا است که شما نمی توانید به راحتی از مشکلاتی که برای هم تیمی شما به وجود آمده است بگذرید چرا که بر روی شما نیز تاثیر می گذارد.
با توجه به این که توسعه دهندگان devops سرویس هایی را برای سایر توسعه دهندگان فراهم می کنند این فرصت وجود دارد که این توسعه دهندگان فعالیت های اتوماسیون و شفاف بودن کدها و همینطور پشتیبانی از آنها را به دقت انجام دهند. طراحی گزارشات، داشبوردها و مستندات می تواند توسط برخی دیگر از اعضای تیم انجام شود. اتوماسیون ها نیز باید بر روی کنترل ورژن تمرکز کرده و مستندات مورد نیاز خود را تهیه کنند.
آخرین مورد درباره همکاری تیم ها
دقت داشته باشید که این نوع پیاده سازی نیازمند هشدارها و گزارشات مربوط به ورود به سیستم می باشد. تیم هایی که به صورت از راه دور فعالیت می کنند باید هشدارهای دقیقی را ایجاد کنند تا هم تیمی ها بتوانند به راحتی آنها را درک کنند. علاوه بر این ساخت پایپ لاین ها نیز نیازمند گزارشات کاملی است که به کاربران کمک کند تا بدانند که چرا یک عملیات مشخص با شکست روبرو شده است و چه زمانی و در کجا این اتفاق رخ داده است. در واقع باید اطلاعات دقیقی از زمانی که زیر ساخت نصب شده است، زمانی که تنظیمات به صورت خودکار بر روی کدها قرار داده شده است و زمانی که یک عملیات مشخص با ارور روبرو شده است و در کل تمامی این اطلاعات مربوط به لاگ به کاربران نمایش داده شود و این موضوع در همکاری هایی که به صورت دورکاری انجام می شوند از اهمیت بسیار زیادی برخوردار است.
سازمان خود را به سمت کیفیت و امنیت بهتر رهبری کنید( بخش اول)
یکی دیگر از خطرهایی که تیم های توزیع شده را تهدید می کند این است که به اشتباه تصور کنید که یک عملیات از اهمیت زیادی برخوردار نیست و در نتیجه به راحتی از آن بگذرید و یا این که گمان کنید این کار وظیفه شخص دیگری است. بسیاری از مهندسان devops بر روی تعیین شاخص های کلیدی در انجام وظایف تمرکز می کنند و علاوه بر این برای تعیین میانگین زمان مورد نیاز برای حل مسائل مختلف نیز وقت می گذارند. توجه داشته باشید که برای مهندسان devops این مسائل از اهمیت بیشتری نسبت به برخی از اقدامات مانند تست خودکار کدها برخوردار است.
در نظرسنجی که در یکی از گروه های مربوط به این مهندسان انجام شده بود 55 درصد از شرکت کنندگان معتقد بودند که حداقل هفته ای یک بار کدهای خود را مستقر می کنند و 18 درصد از آنها نیز ادعا داشتند که این کار را به صورت روزانه انجام می دهند. شاید برای شما جالب باشد که بدانید زمانی که از این مهندسان درباره امنیت اپلیکیشن پرسیده شد تقریبا 45 درصد از آنها پاسخ دادند با این که می دانند این موضوع از اهمیت بسیار زیادی برخوردار است ولی آنها فرصت کافی برای کار کردن بر روی این موضوع را ندارند.
امنیت تنها شکاف موجود نیست
در گزارشاتی که در سال 2019 به دست آمد تنها 25 درصد از مهندسان devops ادعا داشتند که بیش از 50 درصد از تست های خود را به صورت خودکار انجام می دهند. اگرچه این شکاف در بسیاری از شرکت های devops وجود دارد ولی باید بدانید که این موضوع شانس مهندسان devops برای موفق شدن را زمانی که به صورت دورکاری و در تیم های توزیع شده فعالیت می کنند کمتر می کند. در بسیاری از شرکت ها و سازمان ها زیر نظر گرفتن مسئولیت کار فنی بسیار سخت است و این موضوع برای تیم هایی که به صورت دورکاری فعالیت می کنند می تواند بسیار سخت تر نیز باشد.
صحبت پایانی
در صورتی که شکاف قابل توجهی در کیفیت اپلیکیشن و یا امنیت آن وجود داشته باشد مهندسان devops در تیم هایی که به صورت دورکاری همکاری می کنند باید آزمایش هایی را طراحی کنند تا بتوانند مطمئن شوند که تمامی بخش های به درستی کار می کنند. این موضوع یکی از مهمترین وظایف تیم ها و مهندسان devops به شمار می آید که مهندسان مربوطه باید توجه ویژه ای به آن داشته باشند و با این کار شکاف های موجود در این شیوه انجام کارها را پوشش دهند.
به عنوان آخرین نکته باید دقت داشته باشید که بعد از به اتمام رسیدن دوره کرونا احتمالا بسیاری از تیم ها و مهندسان devops فعالیت خود را به صورت دورکاری ادامه خواهند داد.
- C#.net
- 1k بازدید
- 0 تشکر