در سالهای اخیر ، توسعه و استقرار برنامه ها به بخش فزاینده ای مهم در عملیات تجاری تبدیل شده اند. به همین دلیل ، نهادهای مختلف سعی در بهینه سازی روند توسعه محصول خود داشته اند. این امر منجر به افزایش محبوبیت DevOps شده که در راستای رسیدن به همین هدف طراحی گشته است. به عبارت ساده تر، کاربرد DevOps در طی مراحل توسعه نرم افزار و کاهش تعداد مراحل لازم برای عرضه نرم افزار به بازار است. این انتشارهای سریعتر و روندهای ساده به معنای دریافت بازخورد سریع تر از سمت کاربران خواهد بود. پیاده سازی DevOps همچنین بر مقیاس پذیری نرم افزار، میزان استقرار آن و همچنین نظارت و نگهداری پس از انتشارهای آینده متمرکز است. منتها این سیستم با اینکه بر تعامل و همکاری بین تیم های عملیات و توسعه تاکید دارد ولی نواقصی برای برنامه ریزی و مدیریت روندهای کاری اشخاص یا تیم هایی را با همین عنوان دارد. نهایتا این امر منجر به این شده که اقدامات Agile به طرز چشمگیری بر روی آنچه ممکن است به عنوان جنبه های مدیریت توسعه تحویل نرم افزار تعریف کنید، متمرکز شود. گرچه Agile به خودی خود تمرکز کمتری روی جنبه های عملیاتی دارد؛ از این رو، هر دو روش برای اجرای درست چرخه حیات توسعه نرم افزار هر محصولی کاملاً مهم هستند و باید به صورت مکمل در کنار یکدیگر قرار بگیرند.
تفکیک رویکردهای Agile و DevOps برای تولید نرم افزار منجر به ساخت محصول می شود اما هنگامی که استقرار، فرآیند خودکارسازی و همچنین مدیریت زیرساخت آن با مشکل روبرو می شود انگشت های اتهام اعضای تیم ها به سمت هم نشانه می رود علاوه بر این قابلیت همکاری مابین اعضای تیم ها رفته رفته به پس زمینه می رود و DevOps در قالب یک سیلوی جدید سازمانی خواهد رفت و عملا یکی از اهداف خود که فرهنگ تغییر، تعامل و همکاری در بین تیم های سازمان است را خود به خود مخدوش می نماید.
علاوه برآن DevOps و به ویژه ابزارهای مورد استفاده متخصصین آن نه تنها در حوزه توسعه محصولات فناوری اطلاعات از جمله نرم افزار کابرد دارند بلکه در فرآیند مدیریت زیرساخت فناوری اطلاعات و سرویس دهی از جمله شبکه، مراکز داده و پلتفرم های ابری بسیار کاربردی هستند و متخصصین آن تیم های مستقلی اغلب در شرکت های متوسط و بزرگ به خود اختصاص می دهند، منتها همانطور که اشاره شد خواه ناخواه سیلوهای سازمانی تقویت شده و مجددا نواقصی به لحاظ کار تیمی و عدم قطعیت در ارائه سرویس ها یا توسعه محصول اتفاق خواهد افتاد.
راه حل این موضوع ترکیب نمودن قابلیت های برنامه ریزی و تعاملی در روش های Agile و کار تیمی و عملیات یکپارچه ارائه شده توسط DevOps است. با این کار می توانید چرخه عمر توسعه و نگهداری از محصول خود را به تدریج بهینه کنید. این امر به رفع معضلی به نام عدم تعادل کمک می کند و مفهوم جدیدی را با عنوان Agile DevOps به وجود می آورد.
آنچه توسط ادغام DevOps و Agile انجام می شود:
- روند انتشار نرم افزار را ساده کرده و ارائه محصولات را بهبود می بخشد.
- امکان همکاری اعضای تیم های فنی را بهتر فراهم می کند.
- در عین اینکه برای هر نسخه ارزش بیشتری به ارمغان می آورد، خطر کمتری را در هنگام وجود ایرادات در محصول برای سازمان رقم می زند.
- اشکال کمتر و رفع اشکال سریعتر را در پی خواهد داشت.
- میدان دید بهتری به پروسه تولید محصول یا اجرای پروژه ایجاد می کند.
- نرخ رضایت کاربران نهایتا بالاتر خواهد بود از آنجا که محصولات و یا سرویس ها دارای کیفیت بیشتری هستند.
هنگام ادغام DevOps و Agile به چه مواردی باید توجه کرد:
در طی دوره برای ساده سازی فرآیند پیاده سازی DevOps در توسعه محصول و مدیریت به روش Agile، متداول ترین مشکلات را که ممکن است در طی این فرآیند اتفاق بیفتد جمع آوری کرده ایم و چگونگی جلوگیری از آن ها را با هم بررسی می کنیم تا بتوانیم به روان تر شدن جریان توسعه محصول کمک کنیم.
چرا DevOps و Agile هر دو موضوعاتی هستند که باید کانون توجه شرکت ها باشند؟ اگرچه این روشها به منظور ساده سازی و موثر واقع شدن فرآیندهای ایجاد و استقرار محصول است، اما ترکیب Agile و DevOps نیاز به تغییر اساسی سازمانها دارد. اما اگر تلاش خود را برای ترکیب مدیریت Agile و DevOps به روش صحیح انجام دهید، خواهید دید که چگونه این توانمندی وجود دارد که روند توسعه محصولات یا ارائه سرویس های شما بهبود بخشد و برنامه هایی قابل اطمینان، مقیاس پذیر و قابل نگهداری را نتیجه دهد.
آنچه خواهید آموخت
برخی از مواردی که در طول این دوره به آن توجه می شود به شرح ذیل است:
- چگونگی بهبود دادن جریان های کار تیمی
- تعریف چرخه حیات محصولات و سرویس ها
- تعریف وظایف DevOps در Sprint ها در تعامل با سایر تیم ها
- شامل کردن پروسه تضمین کیفیت (QA) در هر فاز تولید
- بهبود پروسه تحویل با تحت نظر قرار دادن Backlog Refinement توسط متخصصین DevOps
- معرفی ابزارهای متناسب با جریان کاری
- چگونگی خودکارسازی فرآیندهای مختلف در جریان های کاری
- چگونگی ایجاد معیارهای متنوع جهت اندازه گیری اثربخشی
سرفصل ها
- DevOps چیست و چه نوع فرهنگی را در سازمان شما پیاده می کند؟
- تعامل DevOps با سایر چارچوبهای مدیریت خدمات فناوری اطلاعات مانند ITIL
- برای رسیدن به رویای پیاده سازی DevOps یا DevOps Nirvana چه کنیم ؟
- رابطه DevOps و Agile در شرکتهای مقیاس پذیر.
- Agile چیست و در کدام بخش سازمان شما قابلیت پیاده سازی دارد؟
- استقرار متدولوژی های Scrum و Kanban در مدیریت پروژه و ارتباط آن با DevOps
- معرفی Agile DevOps و لزوم به کارگیری آن در سیستم های اطلاعاتی مدرن
- مفهوم یکپارچه سازی مداوم ، استقرار و تحویل مداوم محصولات فناوری اطلاعات
- لزوم بکارگیری ابزارهای DevOps در برقراری زیرساخت شرکتهای مقیاس پذیر
- چگونگی طراحی زیرساخت DevOps در کسب و کارهای با اندازه مختلف
- DevOps به عنوان تنها چرخه حیات مهندسی نرم افزار
- معماری Alpha-Beta Testing در محیط های Staging Lab
- معماری Blue-Green Deployment در محیط های Production
- حضور DevOps در حامیان خدمات شبکه و مراکز داده (DevNet)
- امنیت در پلتفرم های ارائه خدمات مبتنی بر DevOps (SecDevOps)
- رابطه DevOps با Data Sciense (با هوش مصنوعی، یادگیری ماشین، داده کاوی و …)
- مهندسی ابزار DevOps (برای متخصص شدن DevOps از کجا شروع کنیم و چه چیزهایی را یادبگیریم؟)
مخاطبین دوره
موقعیت های کاری مرتبط با این دوره:
- سرپرستان سیستم
- سرپرستان و مهندسان شبکه
- مدیران فناوری اطلاعات
- کارشناسان فنی
- مالکان محصول
- مربیان چابک
- مدیران تیم توسعه نرم افزار
پیش نیازها
شناخت اصطلاحات و مفاهیم پایه ای شبکه و سیستم عامل
هنوز بررسیای ثبت نشده است.