متدولوژی DevOps چیست و چه کسی به آن نیاز دارد

بیایید بفهمیم که ماهیت این روش چیست و چه کسی می تواند سودمند باشد.

ما همچنین در مورد متخصصان DevOps صحبت خواهیم کرد: وظایف، حقوق و مهارت های آنها.

متدولوژی DevOps چیست و چه کسی به آن نیاز دارد
عکس مت مور /Flickr/CC BY-SA

DevOps چیست

DevOps یک متدولوژی توسعه نرم افزار است که وظیفه آن ایجاد تعامل بین برنامه نویسان و مدیران سیستم در یک شرکت است. اگر متخصصان فناوری اطلاعات بخش‌های مختلف وظایف یکدیگر را درک نکنند، انتشار اپلیکیشن‌ها و به‌روزرسانی‌های جدید برای آنها به تأخیر می‌افتد.

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

این باعث بهبود تعامل بین بخش ها می شود. کارمندان شروع به درک بهتری می کنند که یک محصول نرم افزاری قبل از اینکه به دست کاربر برسد چه مراحلی را طی می کند.

زمانی که یک توسعه‌دهنده متوجه می‌شود که یک مدیر هنگام راه‌اندازی سرور با چه چیزی مواجه می‌شود، سعی می‌کند «گوشه‌های تیز» احتمالی را در کد هموار کند. این باعث کاهش تعداد اشکالات هنگام استقرار یک برنامه - طبق آمار، آن می شود کاهش می یابد حدود پنج بار

چه کسی به متدولوژی نیاز دارد و چه کسی نیاز ندارد

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

استثنا آرایش کن استارت آپ ها، اما در اینجا همه چیز به مقیاس پروژه بستگی دارد. اگر هدف شما راه اندازی یک محصول حداقل قابل دوام (MVP) برای آزمایش یک ایده جدید است، پس می توانید بدون DevOps این کار را انجام دهید. به عنوان مثال، بنیانگذار Groupon کار روی این سرویس را به صورت دستی آغاز کرد ارسال شده همه پیشنهادات در وب سایت و سفارشات جمع آوری شده او از هیچ ابزار اتوماسیونی استفاده نکرد.

پیاده‌سازی روش‌ها و ابزارهای اتوماسیون زمانی منطقی است که برنامه شروع به محبوبیت کند. این به ساده‌سازی فرآیندهای تجاری و سرعت بخشیدن به انتشار به‌روزرسانی‌ها کمک می‌کند.

نحوه پیاده سازی DevOps

در زیر چند توصیه برای تغییر روش به روش جدید آورده شده است.

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

  • چه چیزی هنگام به روز رسانی نرم افزار بیشترین زمان را می گیرد؟
  • آیا امکان خودکارسازی این فرآیند وجود دارد؟
  • آیا ساختار سازمان بر این امر تأثیر می گذارد؟

درباره شناسایی مشکلات در یک سازمان بیشتر بدانید را می توان در کتاب خواند «پروژه "ققنوس""و"راهنمای DevOps» از نویسندگان روش.

تغییر فرهنگ در شرکت مهم است که همه کارکنان را متقاعد کنیم که روش های معمول کار خود را تغییر دهند و دامنه شایستگی های خود را گسترش دهند. به عنوان مثال، در فیس بوک همه برنامه نویسان پاسخ برای کل چرخه عمر برنامه: از کدگذاری تا پیاده سازی. همچنین، فیس بوک بخش آزمایش جداگانه ای ندارد - آزمایش ها توسط خود توسعه دهندگان نوشته می شوند.

کوچک شروع کنید. فرآیندی را انتخاب کنید که بیشترین زمان و تلاش را هنگام انتشار به‌روزرسانی‌ها می‌گیرد و آن را خودکار کنید. این شاید فرآیند آزمایش یا استقرار برنامه کارشناسان توصیه اولین قدم پیاده سازی ابزارهای کنترل نسخه توزیع شده است. آنها مدیریت منابع را آسان تر می کنند. از جمله معروف ترین راه حل ها می توان به Git، Mercurial، Subversion (SVN) و CVS اشاره کرد.

همچنین توجه به سیستم های یکپارچه سازی مداوم که مسئول مونتاژ و آزمایش محصول نهایی هستند، ارزش دارد. نمونه هایی از این ابزارها: Jenkins، TeamCity و Bamboo.

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

انتقاد از DevOps

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

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

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

متدولوژی DevOps چیست و چه کسی به آن نیاز دارد
عکس اد ایوانوشکین /Flickr/CC BY-SA

چه کسی مهندس DevOps است

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

ترفند یک مهندس DevOps این است که او بسیاری از حرفه ها را ترکیب می کند: مدیر، توسعه دهنده، آزمایش کننده و مدیر.

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

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

چه کسی استخدام می کند

مهندسان DevOps می‌توانند به هر سازمانی که برنامه‌های کاربردی توسعه می‌دهند یا تعداد زیادی سرور را مدیریت می‌کنند، سود ببرند. مهندسان DevOps استخدام می کنند غول های فناوری اطلاعات مانند آمازون، ادوبی و فیسبوک. آنها همچنین در Netflix، Walmart و Etsy کار می کنند.

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

چقدر پرداخت

مهندسان DevOps بدست آوردن بیشتر از هر کسی در این صنعت میانگین درآمد چنین متخصصانی در سراسر جهان از 100 تا 125 هزار دلار در سال متغیر است.

در ایالات متحده آمریکا آنها گرفتن 90 هزار دلار در سال (500 هزار روبل در ماه). در کانادا آنها پرداخت شده 122 هزار دلار در سال (670 هزار روبل در ماه) و در انگلستان - 67,5 هزار پوند استرلینگ در سال (490 هزار روبل در ماه).

همانطور که برای روسیه، شرکت های مسکو آماده به متخصصان DevOps از 100 تا 200 هزار روبل در ماه پرداخت کنید. در سن پترزبورگ، کارفرمایان کمی سخاوتمندتر هستند - آنها 160-360 هزار روبل در ماه ارائه می دهند. در مناطق، حقوق 100-120 هزار روبل در ماه ذکر شده است.

چگونه یک متخصص DevOps شوید

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

بر این اساس می توان نتیجه گرفت که اول از همه، یک مهندس DevOps باید دید فنی خوبی داشته باشد. یادگیری مداوم ابزارها و فناوری های جدید برای چنین فردی مهم است.

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

برای درک اینکه کجا هنوز دانش کم است، می توانید استفاده کنید مینی ویکی پدیا در GitHub یا نقشه ذهنی. ساکنان هکر نیوز نیز توصیه خواندن کتاب ها "پروژه "ققنوس""و"راهنمای DevOps" (که در بالا ذکر کردیم) و "فلسفه DevOps هنر مدیریت فناوری اطلاعات» تحت مهر O'Reilly Media.

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

پست های وبلاگ ما:



منبع: www.habr.com

اضافه کردن نظر