دانلود فیلم های آموزشی شبکه هک امنیت | برنامه نویسی و دواپس مشاهده خدمات ما

دوره آموزش پیاده سازی دواپس Devops به صورت موفق در سازمان ها قسمت 1

دوره آموزش پیاده سازی دواپس Devops به صورت موفق در سازمان ها قسمت 1

دواپس چیه ؟ چه کاری انجام میده ؟ به چه دردی میخوره و چرا باید یاد بگیریم ؟
این که چرا باید یاد بگیریم به این خاطر است که در حال حاضر بازار کار فوق العاده خوبی داره و امکان کار به صورت ریموت داره
اوکی
میخوام در مورد سه موضوع صحبت کنم
1 – devops
2 – pipline
3 – ci/cd

دواپس چیه ؟
تعریف خیلی ساده از دواپس , مجموعه ای از روش ها و ابزارهای برای ایجاد ارتباط بین تیم های مختلف کاری است که عموما در حوزه نرم افزار مورد استفاده قرار می گیرد
پس اگر یک شرکت که وظیفه آن تولید نرم افزار است را مورد بررسی قرار دهیم , دواپس روش ها و ابزارهایی است که برای برقراری ارتباط بین تیم های کاری اون شرکت در جهت تولید و تحویل سریع برنامه به مشتری مورد استفاده قرار می گیره
به زبان ساده تر دواپس سه تیم را به هم متصل می کند
1 – تیم شبکه و زیرساخت
2 – تیم برنامه نویسان
3 – تیم مدیریت پروژه
پس دواپس ابزارها و روش هایی را ارائه می کنه که این سه تیم بتوانند با یکدیگر به صورت هماهنگ کار کنند
و همچنین دواپس باعث افزایش سرعت تحویل محصول به مشتری می شود

پس اگر ساختار دواپس را به صورت صحیح در شرکت ها پیاده سازی کنیم باعث افزایش راندام خواهد شد
شرکت های بزرگ از راه اندازی ابزارها و فرهنگ دواپس در مجموعه خود بسیار رضایت دارند و روند موفقیت آن ها رشد چشم گیری داشته است
در ابتدای این دوره من به صورت عملیاتی تدریس نمی کنم بلکه ابتدا مباحث را به صورت تئوری تحت یک سناریو مشخص توضیح می دهم
در واقع من میخواهم ابتدا یک big picture از کلیه مباحث این دوره برای شما ترسیم کنم . برای این منظور ابتدا تمامی ابزارهای دواپس را به صورت کوتاه برای شما توضیح خواهم داد
پس از آن سناریو استفاده از این ابزارها در یک شرکت تولید کننده نرم افزار را مطرح خواهیم کرد . تا با استفاده از این ابزارها یک pipline طراحی کنیم برمبنای ساختار ci/cd

منظور از pipline چیست ؟
در این آموزش ما در مورد پیاده سازی devops در یک شرکت نرم افزاری صحبت می کنیم . پس منظور من از pipline ایجاد یک نقشه راه برای مشخص کردن مراحل تولید و استقرار یک سامانه نرم افزاری به صورت automate است
به عنوان مثال فرض کنید ما یک شرکت تولید نرم افزار داریم
یک مشتری به ما مراجعه می کند و درخواست نوشتن یک برنامه تحت وب را دارد. شبیه به یک وب سایت برای فروش محصولات مختلف
برای این منظور با مشتری جلساتی تشکیل خواهیم داد و نیازهای او را مشخص می کنیم .
در مرحله بعدی باید نیازهای مشتری را تحلیل کنیم و یک طرح برای نوشتن پروژه مشتری آماده کنیم
در این طرح ما پروژه مشتری را به چند قسمت تقسیم می کنیم و هر قسمت توسط اعضای تیم ما به صورت گروهی برنامه نویسی می شود
بهتر است قسمت های پروژه به قدری کوتاه باشند که در بازه های زمانی دو هفته ای کدنویسی شوند
چون میخواهیم هر دو هفته یک بار یک جلسه برای مشخص شدن میزان پیشرفت پروژه برگزار کنیم
هر قسمت از پروژه که به اتمام برسد باید با سایر قسمت های پروژه ادغام شود
پس از ادغام شدن قسمت های مختلف پروژه با یکدیگر , باید پروژه را تست کنیم تا از صحت عملکرد آن مطمئن شویم

به عنوان جمع بندی تا اینجا می توان گفت :
ابتدا یک plan از پروژه ایجاد کردیم . سپس پروژه را به قسمت های کوچک تر تقسیم کردیم
در مرحله بعدی به صورت گروهی اقدام به کدنویسی کردیم و پس از اتمام قسمت های مختلف پروژه , آن را تست کردیم
برای اینکه مطمئن شویم که منظور مشتری را درست متوجه شده ایم , در جلساتی که هر دو هفته برگزار می کنیم مشتری نیز حضور دارد و روند کدنویسی پروژه را مدام تایید می کند و قسمت های مختلف پروژه را تحویل می گیرد
این فرآیند که به صورت مداوم پروژه نوشته می شود و تحویل مشتری می گردد را ci/cd می گوییم
که همان continuous integration and continuous delivery or deployment است
در واقع ci/cd بر روی مراحل تولید و استقرار سامانه نرم افزاری به صورت automate نظارت می کند.

تا اینجا سه مرحله از مراحل تولید پروژه را توضیح دادیم این سه مرحله به ترتیب این موارد هستند :
1-plan
2-code
3-test
این مراحل توسط تیم developers در مجموعه ما انجام می شود و سه مرحله اول تولید نرم افزار است
پس از اتمام تولید , هم اکنون باید نرم افزار در محل مشتری deploy شود
برای این منظور یک خروجی قابل اجرا به نام release از پروژه تولید خواهیم کرد و این خروجی را در محیط مشتری deploy و operate کنیم
و پس از آن پروژه را monitor می کنیم تا در محیط واقعی مشکلات پروژه مشخص شود
و در صورت وجود مشکل مجددا مراحل تولید و یا تغییر نرم افزار از سر گرفته می شود
مراحلی که در قسمت دوم بیان کردیم توسط تیم operation در مجموعه ما انجام می شود . مراحلی همچون
4 – Release
5 – Deploy or operate
6 – Monitor
Ci/cd به تمامی این مراحل نظارت می کند تا به صورت مستمر و مداوم به صورت اتوماتیک انجام شود

حال سوال اینجاست ci/cd چگونه بر روی این 6 مرحله نظارت می کند ؟
در واقع ci/cd بر روی pipline نظارت می کند . pipline همان خط تولید نرم افزار ماست .
مشابه خط تولید یک کارخانه : یک کارخانه مواد اولیه را وارد چرخه خط تولید می کند و در نهایت به محصول نهایی دست پیدا می کند

برای اینکه پروژه به صورت مداوم نوشته شود و به صورت مستمر در محل مشتری اجرا شود , به یک pipline نیاز داریم که 6 مرحله ای که قبلا در مورد آن صحبت کرده ایم را با استفاده از ابزارهای devops به صورت automatic اجرا کند.
ما ابزارهای devops را پشت سر هم تنظیم می کنیم تا به خروجی مورد نظر که تولید یک نرم افزار است برسیم
پس از آن devops ابزارهایی برای تست نرم افزار , مانیتورینگ و تحویل به مشتری در اختیار ما قرار می دهد تا تمامی مراحل تولید و استقرار نرم افزار به صورت automatic انجام شود

در این دوره ابزارهای دواپس را به شما معرفی خواهیم کرد تا شما بتوانید یک استراتژی برای پیاده سازی موفق دواپس در سازمان خود تدوین کنید

دانلود باکس

me

82 مطلب منتشر شده

درباره این مطلب نظر دهید !