SlideShare uma empresa Scribd logo
1 de 64
Baixar para ler offline
‫تعالی‬ ‫بسمه‬
podman
‫سواران‬ ‫اژدها‬ ‫برای‬
: ‫نویسنده‬
‫دخت‬ ‫اسمعیل‬ ‫یاشار‬ ‫مهندس‬
: ‫نسخه‬۰.۱
: ‫نویسنده‬ ‫باره‬ ‫در‬
‫رشته‬ ‫آموخته‬ ‫دانش‬ ‫دخت‬ ‫اسمعیل‬ ‫یاشار‬ ‫بنده‬cyber security. ‫هستم‬
‫از‬ ‫بیش‬۱۵. ‫دارم‬ ‫فعالیت‬ ‫سابقه‬ ‫سال‬
‫مولف‬ - ‫مدرس‬ - ‫مشاور‬ : ‫داد‬ ‫شرح‬ ‫زیر‬ ‫های‬ ‫ساختار‬ ‫در‬ ‫میتوان‬ ‫را‬ ‫بنده‬ ‫های‬ ‫فعالیت‬ ‫جمله‬ ‫از‬
gnu/linux system/network/security Engineer/administrator & oracle dba | Linux Trainer |
devops
. ): ‫جدید‬ ‫دنیاهای‬ ‫کشف‬ ‫و‬ ‫تحقیق‬ ‫و‬ ‫مطالعه‬ ‫به‬ ‫مند‬ ‫عالقه‬
. ‫کنم‬ ‫اشاره‬ ‫استراتژی‬ ‫های‬ ‫بازی‬ ‫و‬ ‫اوتلو‬ ‫و‬ ‫شطرنج‬ ‫بازی‬ ‫به‬ ‫میتوانم‬ ‫من‬ ‫های‬ ‫سرگرمی‬ ‫از‬ ‫واقع‬ ‫در‬
‫بنیان‬ ‫از‬ ‫یکی‬ ‫و‬ ‫گنو/لینوکس‬ ‫و‬ ‫باز‬ ‫متن‬ ‫دنیای‬ ‫عاشق‬ . ‫هستم‬ ‫عاشق‬ ‫یک‬ ‫من‬‫گذ‬‫تبریز‬ ‫الگ‬ ‫اران‬
: ‫کنید‬ ‫پیدا‬ ‫و‬ ‫کنید‬ ‫دنبال‬ ‫را‬ ‫من‬ ‫میتوانید‬ ‫چطور‬ ‫خب‬
Mob : 09141100257
Telegram ID
Telegram channel
Instagram Account
Linkedin Account
. ‫بشنوم‬ ‫را‬ ‫انتقادتون‬ ‫یا‬ ‫پیشنهاد‬ ‫هرگونه‬ ‫میشم‬ ‫خوشحال‬ ‫همچنین‬
‫چ‬: ‫کنید‬ ‫پیدا‬ ‫را‬ ‫من‬ ‫از‬ ‫ی‬ ‫دیگر‬ ‫های‬ ‫کتاب‬ ‫میتونید‬ ‫طور‬
‫توی‬slideshare‫را‬ ‫کردم‬ ‫منتشر‬ ‫آزاد‬ ‫بصورت‬ ‫که‬ ‫دیگری‬ ‫های‬ ‫کتاب‬ ‫میتونید‬ ‫بگردید‬ ‫من‬ ‫اسم‬ ‫دنبال‬ ‫گوگل‬ ‫یا‬
. ‫کنید‬ ‫پیدا‬
‫چ‬‫را‬podman:
. ‫میاد‬ ‫خوشم‬ ‫پادمن‬ ‫از‬ ‫من‬ ‫که‬ ‫هست‬ ‫دلیل‬ ‫هزاران‬
•‫میده‬ ‫بهم‬ ‫خوبی‬ ‫حس‬
•‫هست‬ ‫قدرتمند‬ ‫و‬ ‫هست‬ ‫کاربردی‬
•‫کر‬‫دا‬ ‫به‬ ‫نسبت‬ ‫داره‬ ‫شیفت‬ ‫اپن‬ ‫و‬ ‫کوبرنتیس‬ ‫با‬ ‫بیشتری‬ ‫سازگاری‬
•‫از‬OCI‫میکنه‬ ‫ساپورت‬
•‫هست‬ ‫ردهت‬ ‫پشتش‬
•. ‫کنی‬ ‫استفاده‬ ‫ایمیجش‬ ‫از‬ ‫میتونی‬ ‫و‬ ‫هست‬ )‫(سازگار‬ ‫انتگریت‬ ‫کر‬‫دا‬ ‫با‬ ‫کامال‬
•... ‫داره‬ ‫گفتن‬ ‫برای‬ ‫حرفی‬ ‫امنیت‬ ‫لحاظ‬ ‫از‬
•) ‫زیاد‬ ‫های‬ ‫(ریپوزیتوری‬ ‫میکنه‬ ‫ساپورت‬ ‫را‬ ‫زیادی‬ ‫های‬ ‫ایمیج‬
•: ‫جمله‬ ‫از‬ ‫هست‬ ‫سازگار‬ ‫ها‬ ‫اون‬ ‫با‬ ‫و‬ ‫داره‬ ‫ارتباط‬ ‫و‬ ‫رابطه‬ ‫زیادی‬ ‫جانبی‬ ‫ابزارهای‬ ‫با‬openshift
+kubernetes +buildah +cri-o +skope
•‫هست‬ ‫سریع‬
•‫دارم‬ ‫دوست‬ ‫را‬ ‫لوگوش‬
•‫دارای‬ ‫پروژه‬road map‫هست‬
•‫هست‬ ‫هت‬ ‫رد‬ ‫های‬ ‫پروژه‬ ‫از‬ ‫یکی‬
•… ‫و‬
: ‫است‬ ‫کسانی‬ ‫چه‬ ‫برای‬ ‫ابزار‬ ‫این‬ ‫و‬ ‫کتاب‬ ‫این‬
‫نیازمند‬ ‫ابزار‬ ‫و‬ ‫کانسپت‬ ‫یک‬ ‫انتخاب‬ ‫برای‬ ‫که‬ ‫چرا‬ . ‫بدم‬ ‫توضیح‬ ‫اینجا‬ ‫در‬ ‫را‬ ‫اون‬ ‫انواع‬ ‫و‬ ‫ها‬ ‫کانتینر‬ ‫نمیخوام‬
‫سپس‬ ‫و‬ ‫بشه‬ ‫نیازسنجی‬ ‫و‬ ‫بشه‬ ‫تحلیل‬ ‫کار‬ ‫و‬ ‫کسب‬ ‫نوع‬ ‫تا‬ . ‫هست‬ ‫کار‬ ‫و‬ ‫کسب‬ ‫اون‬ ‫سنجی‬ ‫نیاز‬ ‫و‬ ‫بررسی‬
. ‫بشه‬ ‫انتخاب‬
: ‫توجه‬
. ‫هست‬ ‫فاجعه‬ ‫کاری‬ ‫و‬ ‫کسب‬ ‫برای‬ ‫و‬ ‫هست‬ ‫عالی‬ ‫و‬ ‫خوب‬ ‫ابزار‬ ‫یک‬ ‫کردن‬ ‫استفاده‬ ‫کاری‬ ‫و‬ ‫کسب‬ ‫برای‬
) ‫پروژه‬ ‫(تحلیل‬ . ‫میشه‬ ‫حیاتی‬ ‫پروژه‬ ‫انتخاب‬ ‫برای‬ ‫مشاوره‬ ‫و‬ ‫تحلیل‬ ‫نیاز‬ ‫که‬ ‫هست‬ ‫اینجا‬
‫بزرگی‬ ‫اشتباه‬ ‫این‬ . ‫هست‬ ‫خوب‬ ‫هم‬ ‫من‬ ‫برای‬ . ‫میکنه‬ ‫استفاده‬ ‫کانسپت‬ ‫یک‬ ‫از‬ ‫شرکت‬ ‫فالن‬ ‫که‬ ‫عنوان‬ ‫این‬ ‫به‬
( . ‫میگم‬ ‫تکنولوژی‬ ‫های‬ ‫تله‬ ‫اون‬ ‫به‬ ‫من‬ ‫و‬ ‫هست‬Technology Trap)
‫های‬ ‫ابزار‬ ‫از‬ ‫استفاده‬ ‫مخصوصا‬ ‫و‬ ‫ابزار‬ ‫یک‬ ‫انتخاب‬ ‫از‬ ‫قبل‬ ‫پس‬Devops‫دواپس‬ ‫فرهنگ‬ ‫به‬ ‫سازمان‬ ‫باید‬
. ‫باشه‬ ‫داشته‬ ‫را‬ ‫اون‬ ‫آمادگی‬ ‫و‬ ‫برسه‬
. ‫دارید‬ ‫هم‬ ‫را‬ ‫من‬ ‫با‬ ‫تماس‬ ‫راههای‬ . ‫خدمتم‬ ‫در‬ ‫من‬ ‫داشتید‬ ‫مشاوره‬ ‫به‬ ‫نیاز‬ ‫اگر‬
‫های‬ ‫ابزار‬ ‫به‬ ‫نیاز‬ ‫کارتون‬ ‫و‬ ‫کسب‬ ‫که‬ ‫رسیدید‬ ‫نتیجه‬ ‫این‬ ‫به‬ ‫اگر‬Devops‫خوبی‬ ‫کمک‬ ‫میتونه‬ ‫کتاب‬ ‫این‬ . ‫داره‬
. ‫باشه‬ ‫براتون‬
: ‫خواننده‬ ‫با‬ ‫سخنی‬
. ‫دهید‬ ‫انجام‬ ‫را‬ ‫خود‬ ‫مالی‬ ‫های‬ ‫حمایت‬ ‫زیر‬ ‫لینک‬ ‫از‬ ‫‌توانید‬‫ی‬‫م‬ ‫نویسنده‬ ‫و‬ ‫کتاب‬ ‫از‬ ‫حمایت‬ ‫برای‬
http://zarinp.al/yashar
‫روز‬ ‫وپیشرفت‬ ‫آموزشی‬ ‫عدالت‬ ‫راههای‬ ‫از‬ ‫یکی‬ ‫این‬ ‫که‬ . ‫است‬ ‫جامعه‬ ‫در‬ ‫دونیت‬ ‫و‬ ‫باز‬ ‫متن‬ ‫فرهنگ‬ ‫ایجاد‬ ‫بنده‬ ‫تالش‬
. ‫‌باشد‬‫ی‬‫م‬ ‫جامعه‬ ‫همه‬ ‫برای‬ ‫افزون‬
‫رایگان‬ ‫نه‬ ‫است‬ ‫آزاد‬ ‫کتاب‬ ‫این‬ : ‫توجه‬
: ‫به‬ ‫تقدیم‬
‫خدا‬‫شتافت‬ ‫یاریم‬ ‫به‬ ‫که‬ ‫بود‬ ‫او‬ ‫تنها‬ ‫هایم‬ ‫سختی‬ ‫در‬ ‫که‬ ‫چرا‬
‫مادرم‬‫اویم‬ ‫مدیون‬ ‫که‬ ‫را‬ ‫حبت‬َ‫م‬ ‫و‬ ‫انسانیت‬ ‫داد‬ ‫یاد‬ ‫و‬ . ‫کرد‬ ‫تقدیم‬ ‫زندگی‬ ‫به‬ ‫مرا‬ ‫که‬ ‫چرا‬
‫پدرم‬‫اویم‬ ‫مدیون‬ ‫و‬ ‫بود‬ ‫من‬ ‫حامی‬ ‫همیشه‬ ‫روحش‬ ‫که‬
‫عشقم‬‫هست‬ ‫و‬ ‫بود‬ ‫مشوقم‬ ‫که‬
‫سورس‬ ‫اپن‬ ‫جامعه‬
‫بشریت‬
‫را‬ ‫هایش‬ ‫دانسته‬ ‫میکند‬ ‫منتشر‬ ‫و‬ ‫میخواند‬ ‫که‬ ‫او‬ ‫و‬
): ‫هیچ‬ ‫دیگر‬ ‫و‬ ‫جهانی‬ ‫صلح‬ ‫امید‬ ‫به‬ ‫و‬
‫لینوکس‬ ‫و‬ ‫گنو‬ ‫تاریخچه‬
“ ‫مخفف‬ ‫گنو‬ .‫‌باشد‬‫ی‬‫م‬ ‫سازگار‬ ‫یونیکس‬ ‫با‬ ‫‌ای‬‫ه‬‫فزایند‬ ‫ـور‬‫ـ‬‫ط‬ ‫به‬ ‫ـه‬‫ـ‬‫ک‬ ‫ـوده‬‫ـ‬‫ب‬ ‫آزاد‬ ‫کامال‬ ‫عامل‬ ‫ـستم‬‫ـ‬‫ی‬‫س‬ ‫یک‬ ‫گنو‬ ‫عامل‬ ‫سیستم‬
GNU’s Not Unix‫سپتامبر‬ ‫در‬ ‫را‬ ‫گنو‬ ‫پروژه‬ ‫اولیه‬ ‫اطالعیه‬ ‫استالمن‬ ‫ریچارد‬ .‫است‬ ”۱۹۸۳‫به‬ ‫آن‬ ‫‌تر‬‫ل‬‫کام‬ ‫نسخه‬ .‫کرد‬ ‫منتشر‬
‫سپتامبر‬ ‫در‬ ‫گنو‬ ‫اعالمیه‬ ‫نام‬۱۹۸۵.‫است‬ ‫شده‬ ‫ترجمه‬ ‫زبان‬ ‫چندین‬ ‫به‬ ‫که‬ ‫شد‬ ‫منتشر‬
“ ‫برای‬ ‫بازگشتی‬ ‫مخفف‬ ‫یک‬ ،‫نخست‬ ‫‌کند؛‬‫ی‬‫م‬ ‫ـرف‬‫ـ‬‫ط‬‫ـر‬‫ـ‬‫ب‬ ‫را‬ ‫ـازها‬‫ـ‬‫ی‬‫ن‬ ‫از‬ ‫تعدادی‬ ‫که‬ ‫است‬ ‫شده‬ ‫انتخاب‬ ‫علت‬ ‫این‬ ‫به‬ »‫«گنو‬ ‫نام‬
GNU’s Not Unix.‫است‬ ‫جالب‬ ‫آن‬ )‫خواندن‬ ‫(یا‬ ‫گفتن‬ ‫آهنگ‬ ،‫سوم‬ ،‫است‬ ‫واقعی‬ ‫کلمه‬ ‫یک‬ ،‫دوم‬ ،‫است‬ ”
‫است‬ ‫ممکن‬ ‫آزاد‬ ‫‌افزار‬‫م‬‫نر‬ ‫آوردن‬ ‫دست‬ ‫به‬ ‫برای‬ ‫شما‬ .‫قیمت‬ ‫نه‬ ،‫‌کند‬‫ی‬‫م‬ ‫اشاره‬ ‫آزادی‬ ‫به‬ »‫آزاد‬ ‫‌افزار‬‫م‬‫«نر‬ ‫در‬ »‫«آزاد‬ ‫کلمه‬
‫آن‬ ‫از‬ ‫استفاده‬ ‫برای‬ ‫ـژه‬‫ـ‬‫ی‬‫و‬ ‫آزادی‬ ‫ـه‬‫ـ‬‫س‬ ،‫باشید‬ ‫ـه‬‫ـ‬‫ت‬‫داش‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫‌افزار‬‫م‬‫نر‬ ‫ـی‬‫ت‬‫وق‬ ،‫صورت‬ ‫هر‬ ‫در‬ .‫نپردازید‬ ‫یا‬ ‫بپردازید‬ ‫مبلغی‬
‫ـرای‬‫ـ‬‫ب‬ ‫آزادی‬ ،‫دوم‬ ‫ـکاران؛‬‫ـ‬‫م‬‫ه‬ ‫و‬ ‫دوستان‬ ‫به‬ ‫آن‬ ‫دادن‬ ‫هدیه‬ ‫و‬ ‫برنامه‬ ‫از‬ ‫برداری‬ ‫نسخه‬ ‫برای‬ ‫آزادی‬ ،‫نخست‬ .‫داشت‬ ‫خواهید‬
‫نسخه‬ ‫توزیع‬ ‫برای‬ ‫آزادی‬ ،‫سوم‬ ‫منبع؛‬ ‫کدهای‬ ‫به‬ ‫کامل‬ ‫دسترسی‬ ‫داشتن‬ ‫با‬ ،‫دلخواه‬ ‫طور‬ ‫به‬ ‫برنامه‬ ‫در‬ ‫تغییرات‬ ‫اعمال‬
‫فیزیکی‬ ‫کار‬ ‫ـرای‬‫ـ‬‫ب‬ ‫ـید‬‫ن‬‫ـوا‬‫ـ‬‫ت‬‌‫ی‬‫م‬ ،‫نمایید‬ ‫توزیع‬ ‫را‬ ‫گنو‬ ‫‌افزار‬‫م‬‫نر‬ ‫مجددا‬ ‫(اگر‬ .‫جامعه‬ ‫ساخت‬ ‫به‬ ‫کمک‬ ‫نهایت‬ ‫در‬ ‫و‬ ‫یافته‬ ‫بهبود‬
.)‫کنید‬ ‫هدیه‬ ‫رایگان‬ ‫طور‬ ‫به‬ ‫را‬ ‫آنها‬ ‫یا‬ ‫و‬ ‫کنید‬ ‫دریافت‬ ‫را‬ ‫مبلغی‬ ‫نسخه‬ ‫یک‬ ‫انتقال‬
‫ـال‬‫ـ‬‫س‬ ‫در‬ .‫‌شود‬‫ی‬‫م‬ ‫نامیده‬ «‫گنو‬ ‫»پروژه‬ ،‫گنو‬ ‫سیستم‬ ‫توسعه‬ ‫پروژه‬۱۹۸۳‫روح‬ ‫بازگرداندن‬ ‫برای‬ ‫راهی‬ ‫عنوان‬ ‫به‬ ‫ـو‬‫ـ‬‫ن‬‫گ‬ ‫ـروژه‬‫ـ‬‫پ‬
‫که‬ ‫موانع‬ ‫بردن‬ ‫بین‬ ‫از‬ ‫با‬ ‫تا‬ ‫شد‬ ‫ایجاد‬ ‫ـت‬‫ش‬‫دا‬ ‫ـود‬‫ـ‬‫ج‬‫و‬ ‫ـوتر‬‫ـ‬‫ی‬‫کامپ‬ ‫کاربران‬ ‫جامعه‬ ‫بین‬ ‫در‬ ‫نخست‬ ‫روزهای‬ ‫در‬ ‫که‬ ‫همکاری‬
.‫سازد‬ ‫ممکن‬ ‫را‬ ‫همکاری‬ ‫دیگر‬ ‫بار‬ ‫یک‬ ،‫بودند‬ ‫شده‬ ‫تحمیل‬ ‫انحصاری‬ ‫‌افزارهای‬‫م‬‫نر‬ ‫صاحبان‬ ‫توسط‬
‫سال‬ ‫در‬۱۹۷۱‫دانشگاه‬ ‫در‬ ‫را‬ ‫خود‬ ‫کار‬ ‫استالمن‬ ‫ریچارد‬ ‫که‬ ‫هنگامی‬MIT‫آزاد‬ ‫‌افزار‬‫م‬‫نر‬ ‫از‬ ‫منحصرا‬ ‫ـه‬‫ـ‬‫ک‬ ‫ـروهی‬‫ـ‬‫گ‬ ‫در‬ ،‫کرد‬ ‫آغاز‬
‫در‬ ‫‌نویسان‬‫ه‬‫ـرنام‬‫ـ‬‫ب‬ .‫ـردند‬‫ـ‬‫ک‬‌‫ی‬‫م‬ ‫توزیع‬ ‫آزاد‬ ‫‌افزار‬‫م‬‫نر‬ ‫اغلب‬ ‫نیز‬ ‫کامپیوتری‬ ‫‌های‬‫ت‬‫شرک‬ ‫حتی‬ .‫پرداخت‬ ‫کار‬ ‫به‬ ‫‌کردند‬‫ی‬‫م‬ ‫استفاده‬
.‫‌دادند‬‫ی‬‫م‬ ‫انجام‬ ‫را‬ ‫کار‬ ‫همین‬ ‫نیز‬ ‫اغلب‬ ‫و‬ ‫بودند‬ ‫آزاد‬ ‫یکدیگر‬ ‫با‬ ‫همکاری‬
‫دهه‬ ‫در‬۱۹۸۰‫توسط‬ ‫همکاری‬ ‫آنها‬ ‫مالکان‬ ‫و‬ ‫داشتند‬ ‫مالک‬ ‫که‬ ‫معنی‬ ‫این‬ ‫ـه‬‫ـ‬‫ب‬ ،‫بودند‬ ‫انحصاری‬ ‫‌افزارها‬‫م‬‫نر‬ ‫تمام‬ ‫تقریبا‬
.‫‌کرد‬‫ی‬‫م‬ ‫ایجاب‬ ‫را‬ ‫گنو‬ ‫پروژه‬ ‫ضرورت‬ ‫کار‬ ‫این‬ ‫که‬ ‫‌کردند‬‫ی‬‫م‬ ‫منع‬ ‫را‬ ‫کاربزان‬
‫حتی‬ ‫ـما‬‫ش‬ ،‫ـد‬‫ش‬‫ـا‬‫ـ‬‫ب‬ ‫ـته‬‫ش‬‫ـدا‬‫ن‬ ‫ـود‬‫ـ‬‫ج‬‫و‬ ‫آزادی‬ ‫عامل‬ ‫ـستم‬‫ی‬‫ـ‬‫س‬ ‫ـر‬‫ـ‬‫گ‬‫ا‬ ‫دارند؛‬ ‫ـاز‬‫ـ‬‫ی‬‫ن‬ ‫عامل‬ ‫سیستم‬ ‫ـک‬‫ـ‬‫ی‬ ‫به‬ ‫کامپیوتر‬ ‫کاربران‬ ‫تمام‬
‫‌افزار‬‫م‬‫نر‬ ‫در‬ ‫ضرورت‬ ‫ـن‬‫ـ‬‫ی‬‫اول‬ ‫ـراین‬‫ـ‬‫ب‬‫ـا‬‫ـ‬‫ن‬‫ب‬ .‫کنید‬ ‫شروع‬ ‫را‬ ‫کامپیوتر‬ ‫با‬ ‫کار‬ ‫انحصاری‬ ‫‌افزارهای‬‫م‬‫نر‬ ‫از‬ ‫استفاده‬ ‫بدون‬ ‫‌توانید‬‫ی‬‫نم‬
.‫است‬ ‫آزاد‬ ‫عامل‬ ‫سیستم‬ ‫یک‬ ‫وجود‬ ،‫آزاد‬
‫محک‬ ‫قبال‬ ‫آن‬ ‫کلی‬ ‫ـراحی‬‫ـ‬‫ط‬ ‫زیرا‬ ‫بساند‬ ‫یونیکس‬ ‫با‬ ‫منطبق‬ ‫عاملی‬ ‫سیستم‬ ‫تا‬ ‫گرفتند‬ ‫تصمیم‬ ‫آزاد‬ ‫افزاری‬ ‫نرم‬ ‫جنبش‬
.‫‌کرد‬‫ی‬‫م‬ ‫آسان‬ ‫را‬ ‫گنو‬ ‫به‬ ‫یونیکس‬ ‫کاربران‬ ‫حرکت‬ ‫سازگاری‬ ‫این‬ ‫همچنین‬ ‫و‬ ،‫بود‬ ‫انتقال‬ ‫قابل‬ ‫و‬ ‫خورده‬
‫‌های‬‫ه‬‫برنام‬ ،‫ـرها‬‫گ‬‫ـ‬‫ـ‬‫ش‬‫ـرای‬‫ـ‬‫ی‬‫و‬ ،‫ـلرها‬‫ی‬‫ـا‬‫ـ‬‫پ‬‫کام‬ ‫ـل‬‫ـ‬‫م‬‫ـا‬‫ـ‬‫ش‬ ‫و‬ ‫ـت؛‬‫ـ‬‫س‬‫ا‬ ‫هسته‬ ‫یک‬ ‫از‬ ‫بیشتر‬ ‫خیلی‬ ‫یونیکس‬ ‫شبه‬ ‫عامل‬ ‫سیستم‬ ‫یک‬
‫بسیار‬ ‫کار‬ ‫کامل‬ ‫عامل‬ ‫سیستم‬ ‫یک‬ ‫نوشتن‬ ‫ـن‬‫ی‬‫بنابرا‬ .‫‌باشد‬‫ی‬‫م‬ ‫دیگر‬ ‫چیزهای‬ ‫خیلی‬ ‫و‬ ‫پستی‬ ‫‌افزارهای‬‫م‬‫نر‬ ،‫متن‬ ‫‌بندی‬‫ب‬‫قال‬
‫ژانویه‬ ‫در‬ .‫است‬ ‫بزرگی‬۱۹۸۴‫کتبر‬‫ا‬ ‫در‬ ‫آزاد‬ ‫‌افزار‬‫م‬‫نر‬ ‫بنیاد‬ .‫انجامید‬ ‫طول‬ ‫به‬ ‫سالها‬ ‫کردند‬ ‫کار‬ ‫به‬ ‫شروع‬۱۹۸۵‫برای‬ ‫بیشتر‬
.‫شد‬ ‫تاسیس‬ ‫گنو‬ ‫توسعه‬ ‫به‬ ‫کمک‬ ‫جهت‬ ‫سرمایه‬ ‫جذب‬
‫سال‬ ‫تا‬۱۹۹۰‫شبه‬ ‫هسته‬ ‫یک‬ ،‫لینوکس‬ ‫سپس‬ . ‫یافتند‬ ‫دست‬ ‫هسته‬ ‫ـز‬‫ـ‬‫ج‬ ‫ـه‬‫ـ‬‫ب‬ ،‫عامل‬ ‫سیستم‬ ‫اصلی‬ ‫اجزای‬ ‫تمامی‬ ‫به‬
‫سال‬ ‫در‬ ،‫یونیکس‬۱۹۹۱‫ـال‬‫ـ‬‫س‬ ‫در‬ ‫و‬ ‫کرد‬ ‫پیدا‬ ‫توسعه‬ ‫تروالدز‬ ‫لینوس‬ ‫توسط‬۱۹۹۲‫لینوکس‬ ‫ترکیب‬ .‫شد‬ ‫آزاد‬ ‫ـزار‬‫ف‬‫‌ا‬‫م‬‫ـر‬‫ـ‬‫ن‬ ‫ـک‬‫ـ‬‫ی‬
‫که‬ ‫‌شود‬‫ی‬‫م‬ ‫زده‬ ‫ـین‬‫ـ‬‫م‬‫تخ‬ .‫ـو/لینوکس‬‫ن‬‫گ‬ ‫سیستم‬ :‫شد‬ ‫ـامل‬‫ـ‬‫ک‬ ‫ـل‬‫ـ‬‫م‬‫عا‬ ‫سیستم‬ ‫یک‬ ‫به‬ ‫منجر‬ ‫گنو‬ ‫کامل‬ ‫تقریبا‬ ‫سیستم‬ ‫با‬
.‫‌کنند‬‫ی‬‫م‬ ‫استفاده‬ ‫ـره‬‫ی‬‫ـ‬‫غ‬ ‫و‬ ‫ـت‬‫ـ‬‫ه‬‫رد‬ ،‫ـان‬‫ـ‬‫ی‬‫دب‬ ،‫اسلکور‬ ‫ـل‬‫ـ‬‫م‬‫ـا‬‫ـ‬‫ش‬ ،‫گنو/لینوکس‬ ‫‌های‬‫م‬‫سیست‬ ‫از‬ ‫نفر‬ ‫میلیون‬ ‫‌ها‬‫ه‬‫د‬ ‫کنون‬‫‌ا‬‫م‬‫ه‬
‫مجموعه‬ ‫یک‬ ‫تا‬ ‫دارد‬ ‫نظر‬ ‫در‬ ‫آزاد‬ ‫‌افزار‬‫م‬‫نر‬ ‫بنیاد‬ .‫است‬ ‫نشده‬ ‫محدود‬ ‫عامل‬ ‫سیستم‬ ‫یک‬ ‫به‬ ‫فقط‬ ‫گنو‬ ‫پروژه‬ ،‫حال‬ ‫این‬ ‫با‬
‫ـل‬‫ـ‬‫م‬‫ـا‬‫ـ‬‫ش‬ ‫ـوع‬‫ـ‬‫ض‬‫ـو‬‫ـ‬‫م‬ ‫ـن‬‫ـ‬‫ی‬‫ا‬ .‫باشند‬ ‫داشته‬ ‫‌خواهند‬‫ی‬‫م‬ ‫ـران‬‫ـ‬‫ب‬‫کار‬ ‫از‬ ‫بسیاری‬ ‫که‬ ‫آنچه‬ ‫هر‬ ، ‫کند‬ ‫ایجاد‬ ‫را‬ ‫‌افزارها‬‫م‬‫نر‬ ‫از‬ ‫کامل‬
.‫‌شود‬‫ی‬‫م‬ ‫نیز‬ ‫کاربردی‬ ‫‌افزارهای‬‫م‬‫ـر‬‫ن‬
‫همین‬ ‫به‬ ‫کنند‬ ‫تهیه‬ ‫‌افزار‬‫م‬‫نر‬ ‫نیز‬ ‫ندارند‬ ‫مهارت‬ ‫ـوتر‬‫ی‬‫کامپ‬ ‫زمینه‬ ‫در‬ ‫که‬ ‫کاربرانی‬ ‫برای‬ ‫دارد‬ ‫قصد‬ ‫همچنین‬ ‫آزاد‬ ‫‌افزار‬‫م‬‫نر‬ ‫بنیاد‬
.‫کرد‬ ‫ایجاد‬ ،‫گنو‬ ‫سیستم‬ ‫از‬ ‫استفاده‬ ‫در‬ ‫‌کار‬‫ه‬‫تاز‬ ‫کاربران‬ ‫به‬ ‫کمک‬ ‫منظور‬ ‫به‬ ‫گرافیکی‬ ‫کار‬ ‫میز‬ ‫یک‬ ‫آزاد‬ ‫‌افزار‬‫م‬‫نر‬ ‫بنیاد‬ ‫جهت‬
‫در‬ ‫کنون‬‫‌ا‬‫م‬‫ه‬ ‫آزاد‬ ‫بازی‬ ‫تعدادی‬ .‫کند‬ ‫ایجاد‬ ‫نیز‬ ‫ـری‬‫ـ‬‫گ‬‫دی‬ ‫تفریح‬ ‫ابزارهای‬ ‫و‬ ‫‌ها‬‫ی‬‫باز‬ ‫ـواهد‬‫ـ‬‫خ‬‌‫ی‬‫م‬ ‫همچنین‬ ‫آزاد‬ ‫‌افزار‬‫م‬‫نر‬ ‫بنیاد‬
‫مانند‬ ‫قوانینی‬ ‫که‬ ‫زمانی‬ ‫جز‬ ‫ـه‬‫ب‬ ،‫ـدارد‬‫ن‬ ‫ـود‬‫ـ‬‫ج‬‫و‬ ‫محدودیتی‬ ‫هیچ‬ ‫برود؟‬ ‫پیش‬ ‫‌تواند‬‫ی‬‫م‬ ‫کجا‬ ‫تا‬ ‫آزاد‬ ‫‌افزار‬‫م‬‫نر‬ .‫است‬ ‫دسترس‬
‫تمام‬ ‫انجام‬ ‫برای‬ ‫آزاد‬ ‫‌افزارهای‬‫م‬‫نر‬ ‫کردن‬ ‫فراهم‬ ‫ـایی‬‫ه‬‫ـ‬‫ـ‬‫ن‬ ‫ـدف‬‫ـ‬‫ه‬ .‫ـد‬‫ـ‬‫ن‬‫کن‬ ‫منع‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫را‬ ‫گنو‬ ‫‌افزار‬‫م‬‫نر‬ ،‫انحصاری‬ ‫سیستم‬
.‫‌باشد‬‫ی‬‫م‬ ‫انحصاری‬ ‫‌افزارهای‬‫م‬‫نر‬ ‫کردن‬ ‫مطرود‬ ‫نتیجه‬ ‫در‬ ‫و‬ ‫دهند‬ ‫انجام‬ ‫‌خواهند‬‫ی‬‫م‬ ‫کامپیوتر‬ ‫کاربران‬ ‫که‬ ‫کارهایی‬
‫باز‬ ‫متن‬ ‫افزار‬ ‫نرم‬
Open Source
Software
‫مقدمه‬
‫کوسیستم‬‫ا‬ ‫در‬ ‫‌گذاران‬‫ه‬‫سرمای‬ ‫اقتصادی‬ ‫رفتار‬ ‫بر‬ ‫که‬ ‫‌ای‬‫ه‬‫مالحظ‬ ‫قابل‬ ‫تأثیر‬ ‫با‬ ‫‌باز‬‫ن‬‫مت‬ ‫افزار‬ ‫نرم‬
‫‌کنند‬‫ی‬‫م‬ ‫سعی‬ ‫‌دهنگان‬‫ه‬‫توسع‬ ‫تازه‬ ‫محیط‬ ‫این‬ ‫در‬ .‫است‬ ‫داده‬ ‫تغییر‬ ‫را‬ ‫بازی‬ ‫قواعد‬ ‫گذاشته‬ ‫‌افزار‬‫م‬‫نر‬
‫فروشندگان‬ ‫و‬ ‫‌کنند‬‫ی‬‫م‬ ‫حس‬ ‫را‬ ‫‌باز‬‫ن‬‫مت‬ ‫محصوالت‬ ‫تولید‬ ‫فشار‬ ‫شرکتها‬ ،‫باشند‬ ‫کد‬ ‫کننده‬ ‫اعمال‬
.‫‌کشند‬‫ی‬‫م‬ ‫را‬ ‫سرشاری‬ ‫سود‬ ‫انتظار‬ ‫سیستم‬
۱‫معرفی‬ .
‫اتفاق‬ ‫این‬ .‫است‬ ‫آورده‬ ‫بار‬ ‫به‬ ‫کاربران‬ ‫برای‬ ‫ارزانتر‬ ‫‌افزار‬‫م‬‫نر‬ ‫از‬ ‫بیش‬ ‫چیزی‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌افزار‬‫م‬‫نر‬ ‫ظهور‬
.‫است‬ ‫کرده‬ ‫ایجاد‬ ‫‌افزار‬‫م‬‫نر‬ ‫حوزه‬ ‫بازیگران‬ ‫بین‬ ‫اقتصادی‬ ‫انفعال‬ ‫و‬ ‫فعل‬ ‫در‬ ‫عمده‬ ‫تغییراتی‬
- ‫زندگی‬ ‫از‬ ‫سبکی‬ ‫حتی‬ ‫یا‬ - ‫‌افزار‬‫م‬‫نر‬ ‫توسعه‬ ‫به‬ ‫ویژه‬ ‫نگاهی‬ ‫تجسم‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌افزار‬‫م‬‫نر‬ ‫‌ها‬‫ی‬‫خیل‬ ‫برای‬
‫که‬ ‫است‬ ‫این‬ ‫گابریل‬ ‫ریچارد‬ ‫و‬ ‫گلدمن‬ ‫ران‬ ‫پیشنهاد‬ .‫هست‬ ‫هم‬ ‫تجاری‬ ‫تدبیر‬ ‫نوعی‬ ‫معنای‬ ‫به‬ ‫اما‬ ‫است‬
‫اطراف‬ ‫زنده‬ ‫محیطی‬ ‫و‬ ‫کنند‬ ‫استفاده‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌افزار‬‫م‬‫نر‬ ‫از‬ ‫کاربرانشان‬ ‫جامعه‬ ‫رشد‬ ‫برای‬ ‫باید‬ ‫شرکتها‬
.‫نمایند‬ ‫ایجاد‬ ‫خدماتشان‬ ‫و‬ ‫محصوالت‬
‫کاربر‬ ‫احتیاجات‬ ‫با‬ ‫آن‬ ‫دادن‬ ‫تطبیق‬ ‫برای‬ ‫که‬ ‫را‬ ‫کد‬ ‫متن‬ ‫و‬ ‫است‬ ‫رایگان‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌افزار‬‫م‬‫نر‬ ‫معمول‬ ‫بطور‬
‫بعالوه‬ ‫‌افزار‬‫م‬‫نر‬ ‫بازپخش‬ ‫اجازه‬ ‫کاربر‬ ‫به‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌های‬‫ه‬‫پروان‬ ‫اغلب‬ .‫دارد‬ ‫همراه‬ ‫به‬ ‫است‬ ‫نیاز‬ ‫مورد‬
‫کد‬ ‫متن‬ ‫تغییرات‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫‌دهند‬‫ی‬‫م‬ ‫بازپخش‬ ‫برای‬ ‫مبلغی‬ ‫دریافت‬ ‫ازای‬ ‫در‬ ‫را‬ ‫ممکن‬ ‫تغییرات‬
( ‫باشد‬ ‫دسترس‬ ‫در‬ ‫عمومی‬ ‫بصورت‬www.opensource.org.)
‫بجای‬ .‫‌دهد‬‫ی‬‫م‬ ‫توسعه‬ ‫جامعه‬ ‫که‬ ‫است‬ ‫‌افزاری‬‫م‬‫نر‬ ‫جمعی‬ ‫‌باز‬‫ن‬‫مت‬ .‫دارد‬ ‫وجود‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌افزار‬‫م‬‫نر‬ ‫نوع‬ ‫دو‬
‫تصمیم‬ ‫داوطلبان‬ ‫از‬ ‫برگزیده‬ ‫گروهی‬ ‫گاهی‬ ‫باشد‬ ‫‌افزار‬‫م‬‫نر‬ ‫مالک‬ ‫حقوقی‬ ‫شخصیت‬ ‫یک‬ ‫اینکه‬
‫و‬ ‫شوند‬ ‫پذیرفته‬ ‫اصلی‬ ‫کد‬ ‫متن‬ ‫به‬ ‫ورود‬ ‫برای‬ ‫شده‬ ‫اعمال‬ ‫همکاریهای‬ ‫از‬ ‫یک‬ ‫کدام‬ ‫که‬ ‫‌گیرند‬‫ی‬‫م‬
‫بخصوص‬ ‫شرکت‬ ‫یک‬ ‫نه‬ ‫و‬ ‫کد‬ ‫کنندگان‬ ‫اعمال‬ ،‫شخصی‬ ‫‌دهندگان‬‫ه‬‫توسع‬ .‫برود‬ ‫سو‬ ‫کدام‬ ‫به‬ ‫‌افزار‬‫م‬‫نر‬
( ‫آپاچی‬ ‫وب‬ ‫سرور‬ ‫مورد‬ ‫مانند‬ ‫‌گیرند‬‫ی‬‫م‬ ‫تصمیم‬ ‫‌افزار‬‫م‬‫نر‬ ‫درباره‬httpd.apache.org.)
‫شرکت‬ .‫است‬ ‫آن‬ ‫‌دهنده‬‫ه‬‫توسع‬ ‫و‬ ‫مالک‬ ،‫سود‬ ‫پی‬ ‫در‬ ‫شخصیتی‬ ‫که‬ ‫است‬ ‫‌افزاری‬‫م‬‫نر‬ ‫تجاری‬ ‫‌باز‬‫ن‬‫مت‬
‫در‬ ‫و‬ ‫بپذیرد‬ ‫اصلی‬ ‫کد‬ ‫متن‬ ‫به‬ ‫ورود‬ ‫برای‬ ‫را‬ ‫کد‬ ‫کدام‬ ‫که‬ ‫‌کند‬‫ی‬‫م‬ ‫تعیین‬ ‫و‬ ‫دارد‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫تالیف‬ ‫حق‬
‫مورد‬ ‫مانند‬ ‫دهد‬ ‫انجام‬ ‫کاری‬ ‫چه‬ ‫آینده‬MySQL‫داده‬ ‫پایگاه‬ ‫و‬MySQL (www.mysql.com).
‫اقتصاد‬ ‫بر‬ ‫اغلب‬ ‫جامعه‬ ‫بوسیله‬ ‫شده‬ ‫داده‬ ‫توسعه‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌افزار‬‫م‬‫نر‬ ‫اقتصاد‬ ‫درباره‬ ‫پیشین‬ ‫مطالعات‬
‫‌باز‬‫ن‬‫مت‬ ‫‌افزار‬‫م‬‫نر‬ ‫به‬ ‫‌آوری‬‫ب‬‫تعج‬ ‫فراوان‬ ‫داوطلبانه‬ ‫کار‬ ‫میزان‬ ‫آن‬ ‫در‬ ‫که‬ ‫است‬ ‫متمرکز‬ ‫کار‬ ‫نیروی‬
‫از‬ ‫ناشی‬ ‫شخصی‬ ‫لذت‬ ‫بخاطر‬ ‫‌دهندگان‬‫ه‬‫توسع‬ ‫که‬ ‫‌کند‬‫ی‬‫م‬ ‫اشاره‬ ‫ریموند‬ ‫اریک‬ .‫‌یابد‬‫ی‬‫م‬ ‫تخصیص‬
‫در‬ ‫همکارانش‬ ‫و‬ ‫هارووی‬ ‫ارنان‬ ‫‌کنند‬‫ی‬‫م‬ ‫کمک‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌های‬‫ه‬‫پروژ‬ ‫به‬ ‫همتایانشان‬ ‫بین‬ ‫اعتبار‬ ‫افزایش‬
. ‫رسیدند‬ ‫مشابهی‬ ‫نتیجه‬ ‫به‬ ‫نیز‬ ‫خود‬ ‫تجربی‬ ‫مطالعه‬
‫و‬ ‫فنی‬ ‫تواناییهای‬ ‫کردن‬ ‫مستند‬ ‫برای‬ ‫‌دهندگان‬‫ه‬‫توسع‬ ‫که‬ ‫‌کنند‬‫ی‬‫م‬ ‫استدالل‬ ‫تیروله‬ ‫جین‬ ،‫لرنرو‬ ‫جاشوا‬
‫الخانیو‬ ‫کریم‬ ‫و‬ ‫‌کنند‬‫ی‬‫م‬ ‫کمک‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌های‬‫ه‬‫پروژ‬ ‫به‬ ‫آتی‬ ‫کارفرمایان‬ ‫برای‬ ‫شغلی‬ ‫‌انداز‬‫م‬‫چش‬ ‫بهبود‬
‫به‬ ‫‌دهندگان‬‫ه‬‫توسع‬ ‫کمک‬ ‫برای‬ ‫مهمی‬ ‫ذاتی‬ ‫محرک‬ ‫کار‬ ‫از‬ ‫بردن‬ ‫لذت‬ ‫که‬ ‫‌کنند‬‫ی‬‫م‬ ‫گزارش‬ ‫گلف‬ ‫رابرت‬
.‫‌اند‬‫م‬‫مه‬ ‫هم‬ ‫مالی‬ ‫‌های‬‫ه‬‫انگیز‬ ‫که‬ ‫‌دهد‬‫ی‬‫م‬ ‫نشان‬ ‫مطالعه‬ ‫این‬ ‫گرچه‬ ‫است‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌های‬‫ه‬‫پروژ‬
‫چرا‬ ‫که‬ ‫‌دهد‬‫ی‬‫نم‬ ‫شرح‬ ‫را‬ ‫این‬ ‫اما‬ ‫است‬ ‫داوطلبانه‬ ‫کار‬ ‫برای‬ ‫توضیحات‬ ‫از‬ ‫‌ای‬‫ه‬‫پار‬ ‫اینها‬ ‫که‬ ‫حالی‬ ‫در‬
‫کمک‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌افزار‬‫م‬‫نر‬ ‫‌های‬‫ه‬‫پروژ‬ ‫به‬ ‫شرکت‬ ‫کاری‬ ‫زمان‬ ‫در‬ ‫که‬ ‫‌کنند‬‫ی‬‫م‬ ‫استخدام‬ ‫را‬ ‫اشخاصی‬ ‫شرکتها‬
‫آپاچی‬ ‫افزار‬ ‫نرم‬ ‫بنیاد‬ ‫پروژه‬ ‫به‬ ‫که‬ ‫کسانی‬ ‫حقوق‬ ‫که‬ ‫دریافتند‬ ‫همکارانش‬ ‫و‬ ‫هان‬ ‫هورن‬ ‫ایل‬ .‫‌کنند‬‫ی‬‫م‬
‫که‬ ‫گرفتند‬ ‫نتیجه‬ ‫محققین‬ ‫پس‬ .‫دارد‬ ‫آپاچی‬ ‫تشکیالت‬ ‫در‬ ‫آنها‬ ‫رتبه‬ ‫با‬ ‫مستقیمی‬ ‫رابطه‬ ‫‌کنند‬‫ی‬‫م‬ ‫کمک‬
‫بکار‬ ‫مولد‬ ‫‌های‬‫ی‬‫توانای‬ ‫سنجش‬ ‫برای‬ ‫معیاری‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫بنیاد‬ ‫در‬ ‫‌دهندگان‬‫ه‬‫توسع‬ ‫رتبه‬ ‫کارفرمایان‬
.‫‌گیرند‬‫ی‬‫م‬
‫د‬: ‫چیست‬ ‫واپس‬
‫سیس‬ ‫ساالنه‬ ‫همایش‬ ‫در‬ ‫که‬ ‫هاست‬ ‫ادمین‬ ‫سیس‬ ‫راه‬ ‫ادامه‬ ‫دواپس‬ ‫واقع‬ ‫در‬ : ‫شد‬ ‫شروع‬ ‫کجا‬ ‫از‬ ‫دواپس‬
‫فاصله‬ ‫این‬ ‫تا‬ ‫باشد‬ ‫هم‬ ‫کنار‬ ‫در‬ ‫باهم‬ ‫عملیات‬ ‫و‬ ‫توسعه‬ ‫میتوان‬ ‫چطور‬ ‫که‬ . ‫شد‬ ‫معرفی‬ ‫کانسپت‬ ‫این‬ ‫ها‬ ‫ادمین‬
. ‫شود‬ ‫حل‬
‫ر‬‫داشتند‬ ‫وجود‬ ‫تیم‬ ‫دو‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫ها‬ ‫شرکت‬ ‫در‬ ‫وزگاری‬ ‫ها‬ ‫آن‬ ‫از‬ ‫یکی‬ ،‫نبودند‬ ‫دوست‬ ‫یکدیگر‬ ‫با‬ ‫که‬Dev
‫دیگری‬ ‫آن‬ ‫و‬ ‫توسعه‬ ‫تیم‬ ‫یا‬Ops‫بود‬ ‫عملیات‬ ‫تیم‬ ‫یا‬.‫یکسان‬ ‫مدیریتی‬ ‫فرمان‬ ‫تحت‬ ‫واحد‬ ‫یک‬ ‫در‬ ‫ظاهر‬ ‫به‬ ‫شاید‬
‫پروژه‬ ‫روی‬ ‫بر‬(‫های‬)‫بود‬ ‫متضاد‬ ‫کامال‬ ‫آنها‬ ‫اهداف‬ ‫ولی‬ ‫کردند‬ ‫می‬ ‫کار‬ ‫مشترک‬.‫ساخت‬ ‫توسعه‬ ‫تیم‬ ‫هدف‬
‫عملیات‬ ‫تیم‬ ‫ولی‬ ‫بود‬ ‫محصول‬ ‫روی‬ ‫بر‬ ‫زیاد‬ ‫تغییرات‬ ‫و‬ ‫جدید‬ ‫های‬ ‫ویژگی‬ ‫داشتن‬ ‫نگه‬ ‫ثابت‬ ‫و‬ ‫پایداری‬ ‫بدنبال‬
‫های‬ ‫سرویس‬ ‫وضعیت‬. ‫بود‬ ‫موجود‬
‫می‬ ‫وجود‬ ‫به‬ )‫مرئی‬ ‫دیوارهای‬ ‫ایران‬ ‫در‬ ‫ما‬ ‫تجربه‬ ‫در‬ ‫گاها‬ ‫(و‬ ‫نامرئی‬ ‫دیوار‬ ‫یک‬ ‫تیم‬ ‫دو‬ ‫این‬ ‫مابین‬ ‫همین‬ ‫برای‬
‫مفهوم‬ .‫آمد‬DevOps‫افزایش‬ ‫و‬ ،‫ها‬ ‫تیم‬ )‫نامرئی‬ ‫یا‬ ‫(مرئی‬ ‫مابین‬ ‫دیوار‬ ‫بردن‬ ‫بین‬ ‫از‬ ‫با‬ ‫که‬ ‫است‬ ‫این‬ ‫بدنبال‬
.‫شود‬ ‫مشتری‬ ‫به‬ ‫ارزش‬ ‫تحویل‬ ‫سرعت‬ ‫افزایش‬ ‫موجب‬ ،‫نفرات‬ ‫تعامل‬ ،‫ساده‬ ‫خیلی‬ ‫پس‬DevOps ‫فرآیندی‬
‫تحویل‬ ‫برای‬ ‫است‬ ‫تحویل‬ ‫فرآیند‬ ‫در‬ ‫کندی‬ ‫باعث‬ ‫که‬ ‫مشکل‬ ‫نوع‬ ‫هر‬ ‫بردن‬ ‫بین‬ ‫از‬ ‫و‬ ‫مشتری‬ ‫به‬ ‫ارزش‬ ‫سریع‬
.‫شود‬ ‫ارزش‬ 
‫شد؟‬ ‫مهم‬ ‫چرا‬ ‫مفهوم‬ ‫این‬
‫با‬ ‫بحث‬ ‫شدن‬ ‫جدی‬Cloud‫حرکت‬ ‫و‬ ‫ا‬ ‫چابک‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫سمت‬ ‫به‬ ‫ها‬ ‫تیم‬(‫ها‬ ‫سرویس‬ ‫روش‬ ‫این‬ ‫در‬ ‫ینکه‬
‫رفت‬ ‫پیش‬ ‫آنها‬ ‫نظرات‬ ‫اساس‬ ‫بر‬ ‫تغییر‬ ‫و‬ ‫مشتریان‬ ‫با‬ ‫همیشگی‬ ‫تعامل‬ ‫و‬ ‫بودن‬ ‫زنده‬ ‫سمت‬ ‫به‬)‫بر‬ ‫نیاز‬ ‫دائما‬ ،
‫بگیرد‬ ‫قرار‬ ‫مشتریان‬ ‫دسترس‬ ‫در‬ ‫محصول‬ ‫جدید‬ ‫های‬ ‫نسخه‬ ‫که‬ ‫داشتیم‬ ‫این‬.‫مابین‬ ‫ضعیف‬ ‫ارتباط‬ ‫های‬ ‫تیم‬
‫عملیات‬ ،‫کیفیت‬ ‫تضمین‬ ‫بار‬ ‫هر‬ ‫و‬ ‫باشد‬ ‫بر‬ ‫زمان‬ ‫تحویل‬ ‫و‬ ‫انتشار‬ ،‫تست‬ ‫فرآیند‬ ‫شد‬ ‫می‬ ‫باعث‬ ،‫توسعه‬ ‫تیم‬ ‫و‬
‫شد‬ ‫می‬ ‫مشاهده‬ ‫مشکلی‬ ‫هر‬ ‫کردند‬ ‫می‬ ‫محکوم‬ ‫و‬ ‫سرزنش‬ ‫را‬ ‫همدیگر‬ ‫ها‬ ‫تیم‬ ‫این‬.
‫مفهوم‬ ‫در‬DevOps‫اتوماتیک‬ ‫البته‬ ‫و‬ ‫بهتر‬ ‫همکاری‬ ‫و‬ ‫تعامل‬ ‫با‬ ‫و‬ ‫شوند‬ ‫تر‬ ‫نزدیک‬ ‫هم‬ ‫به‬ ‫ها‬ ‫تیم‬ ‫این‬ ‫کنیم‬ ‫می‬ ‫سعی‬ ‫ما‬
‫نشود‬ ‫کندی‬ ‫یا‬ ‫مشکل‬ ‫دچار‬ ‫مشتری‬ ‫به‬ ‫ارزش‬ ‫تحویل‬ ،‫تکراری‬ ‫های‬ ‫روال‬ ‫از‬ ‫بسیاری‬ ‫کردن‬.
‫مورد‬ ‫در‬ ‫ها‬ ‫فهمی‬ ‫کج‬DevOps
‫و‬ ‫نیست‬ ‫ایران‬ ‫در‬ ‫فقط‬ ‫این‬ ‫البته‬ ‫و‬ ،‫دارد‬ ‫وجود‬ ‫مورد‬ ‫این‬ ‫در‬ ‫زیادی‬ ‫های‬ ‫فهمی‬ ‫کج‬ ،‫مفهوم‬ ‫این‬ ‫بودن‬ ‫جدید‬ ‫به‬ ‫توجه‬ ‫با‬
‫ندارند‬ ‫درستی‬ ‫درک‬ ‫مورد‬ ‫این‬ ‫در‬ ‫نیز‬ ‫ها‬ ‫خارجی‬ ‫برخی‬.
DevOps‫فقط‬ Continuous Delivery‫نیست‬
‫کنند‬ ‫می‬ ‫فکر‬ ‫دوستان‬ ‫از‬ ‫خیلی‬DevOps‫همان‬ Continuous Delivery‫است‬.‫ابزار‬ ‫در‬ ‫ما‬ ‫اینکه‬ ‫یعنی‬TFS‫یا‬Gitlab‫یا‬
Jenkins‫و‬‫یک‬CI‫عملیات‬ ‫و‬ ‫بیاندازیم‬ ‫راه‬ Deployment‫ما‬ ‫پس‬ ،‫کنیم‬ ‫اتوماتیک‬ ‫را‬DevOps‫هستم‬.‫از‬ ‫بعضی‬ ‫در‬ ‫حتی‬
‫مهندس‬ ‫عنوان‬ ‫با‬ ‫جاها‬DevOps‫ابزار‬ ‫که‬ ‫هستند‬ ‫کسی‬ ‫دنبال‬ ‫فقط‬ ‫شغل‬ ‫شرح‬ ‫در‬ ‫که‬ ‫زنند‬ ‫می‬ ‫استخدام‬ ‫آگهی‬CI‫را‬
‫کنند‬ ‫پیکربندی‬.
‫از‬ ‫بخشی‬ ‫فقط‬ ،‫مشتری‬ ‫بار‬ ‫تحت‬ ‫سرورهای‬ ‫یا‬ ‫تست‬ ‫سرورهای‬ ‫به‬ ‫محصول‬ ‫انتشار‬ ‫یا‬ ‫تحویل‬ ‫روال‬ ‫کردن‬ ‫اتوماتیک‬
‫کلی‬ ‫چارچوب‬DevOps‫است‬.
DevOps‫تیم‬ ‫یک‬ ‫نیست‬
‫که‬ ‫کنند‬ ‫می‬ ‫فکر‬ ‫نفرات‬ ‫بعضی‬DevOps‫یک‬ ‫یعنی‬ ‫عملیات‬ ‫های‬ ‫بچه‬ ‫و‬ ‫نویسان‬ ‫برنامه‬ ‫از‬ ‫متشکل‬ ‫تیم‬.‫این‬ ‫ساخت‬ ‫خود‬
‫مفهوم‬ ‫تیم‬DevOps‫این‬ ‫سازمان‬ ‫از‬ ‫بسیاری‬ ‫در‬ ‫شاید‬ ‫و‬ ‫باشد‬ ‫فرآیند‬ ‫این‬ ‫به‬ ‫رسیدن‬ ‫برای‬ ‫روش‬ ‫یک‬ ‫شاید‬ ‫ولی‬ ‫نیست‬
‫باشد‬ ‫نارکارآمد‬ ‫روش‬.
‫چارچوب‬CALMS
CALMS‫فرآیند‬ ‫به‬ ‫رسیدن‬ ‫برای‬ ‫راهنما‬ ‫چارچوب‬ ‫یک‬Devops‫است‬:
Culture
،‫شد‬ ‫گفته‬ ‫که‬ ‫همانطور‬DevOps ‫سازی‬ ‫پیاده‬ ‫را‬ ‫آن‬ ‫که‬ ‫نیست‬ ‫خاصی‬ ‫چیز‬ ‫دقیقا‬ ‫یعنی‬ ،‫است‬ ‫فرهنگی‬ ‫مفهوم‬ ‫یک‬ ‫بیشتر‬
‫کنید‬.‫آنها‬ ‫متضاد‬ ‫اهداف‬ ‫و‬ ‫باشند‬ ‫داشته‬ ‫هم‬ ‫با‬ ‫خوبی‬ ‫تعامل‬ ‫آنها‬ ‫تا‬ ‫شود‬ ‫شکسته‬ ‫ها‬ ‫تیم‬ ‫و‬ ‫افراد‬ ‫بین‬ ‫دیوار‬ ‫تا‬ ‫داریم‬ ‫نیاز‬
‫شود‬ ‫مشترک‬ ‫اهداف‬ ‫به‬ ‫تبدیل‬.
Automation
‫مفاهیم‬ ‫دقیقا‬ ‫اینجا‬ ‫در‬ Continuous Delivery – Continuous Integration – Continuous  Deployment‫می‬ ‫مطرح‬
‫فرآیندهای‬ ‫ما‬ ‫کنید‬ ‫ادعا‬ ‫شما‬ ‫ندارد‬ ‫امکان‬ ،‫شود‬ DevOps‫مثال‬ ‫ابزارهای‬ ‫از‬ ‫ولی‬ ‫داریم‬ ‫را‬CI‫همه‬ ‫و‬ ‫کنیم‬ ‫نمی‬ ‫استفاده‬
‫شود‬ ‫می‬ ‫انجام‬ ‫دستی‬ ‫را‬ ‫کارها‬.‫است‬ ‫زیاد‬ ‫آنها‬ ‫در‬ ‫انسانی‬ ‫خطای‬ ‫امکان‬ ‫و‬ ‫هستند‬ ‫کند‬ ‫دستی‬ ‫فرآیندهای‬.‫تا‬ ‫همین‬ ‫برای‬
‫محصول‬ ‫تحویل‬ ‫فرآیند‬ ‫تمام‬ ‫باید‬ ‫دارد‬ ‫امکان‬ ‫که‬ ‫آنجایی‬(‫واقعی‬ ‫مشتری‬ ‫تا‬ ‫ها‬ ‫نویس‬ ‫برنامه‬ ‫کامپیوتر‬ ‫از‬)‫شده‬ ‫اتوماتیک‬
‫باشند‬.
Lean
‫است‬ ‫شده‬ ‫اشاره‬ ‫آن‬ ‫به‬ ‫کامال‬ ‫اینجا‬ ‫در‬ ‫که‬ ‫افزار‬ ‫نرم‬ ‫ناب‬ ‫تولید‬ ‫اصلی‬ ‫اصول‬ ‫بر‬ ‫تکیه‬.‫بین‬ ‫از‬ ،‫تفکر‬ ‫این‬ ‫اصلی‬ ‫اصول‬ ‫از‬ ‫یکی‬
‫است‬ ‫زاید‬ ‫کارهای‬ ‫و‬ ‫فرآیندها‬ ‫تمامی‬ ‫بردن‬.‫شوند‬ ‫حذف‬ ‫باید‬ ‫کنند‬ ‫نمی‬ ‫ارزش‬ ‫تولید‬ ‫که‬ ‫فعالیتی‬ ،‫فرآیند‬ ،‫ویژگی‬ ‫هر‬ ‫یعنی‬.
‫دارد‬ ‫تاکید‬ ‫ارزشمندی‬ ‫غیر‬ ‫فعالیت‬ ‫نوع‬ ‫هر‬ ‫کاهش‬ ‫و‬ ‫ها‬ ‫فعالیت‬ ‫بودن‬ ‫محور‬ ‫ارزش‬ ‫بر‬ ‫ناب‬.
‫کم‬ ،‫کاری‬ ‫دوباره‬ ‫کردن‬ ‫کم‬ ،‫دارد‬ ‫نیاز‬ ‫واقعا‬ ‫مشتری‬ ‫که‬ ‫هایی‬ ‫ویژگی‬ ‫توسعه‬ ،‫توسعه‬ ‫های‬ ‫تیم‬ ‫بودن‬ ‫کوچک‬ ،‫مثال‬ ‫برای‬
‫کردن‬Task Switch… ‫و‬.
Measurement
‫برویم‬ ‫خواهیم‬ ‫می‬ ‫کجا‬ ‫که‬ ‫دانست‬ ‫نخواهیم‬ ،‫هستیم‬ ‫کجا‬ ‫ندانیم‬ ‫زمانیکه‬ ‫تا‬.
،‫بهتر‬ ‫گیری‬ ‫تصمیم‬ ‫و‬ ‫شفافیت‬ ‫ایجاد‬ ‫برای‬ ،‫داریم‬ ‫سطوح‬ ‫کلیه‬ ‫در‬ ‫شفافیت‬ ‫به‬ ‫نیاز‬ ،‫منظم‬ ‫و‬ ‫خوب‬ ‫فرآیند‬ ‫یک‬ ‫ایجاد‬ ‫برای‬
‫کنیم‬ ‫ارزیابی‬ ‫را‬ ‫موجود‬ ‫وضعیت‬ ‫بتوانیم‬ ‫تا‬ ‫داریم‬ ‫نیاز‬.‫چنین‬ ‫به‬ ‫سرویسی‬ ‫نوع‬ ‫برای‬ ‫افزار‬ ‫نرم‬ ‫سطح‬ ‫هر‬ ‫در‬ ‫معموال‬
‫است‬ ‫نیاز‬ ‫هایی‬ ‫مانیتورینگ‬:
•Infrastructure Monitoring
•Log Management
•Application and Performance Management
‫گاها‬ ،‫نیست‬ ‫کافی‬ ‫ارزش‬ ‫کردن‬ ‫کثری‬‫حدا‬ ‫برای‬ ‫هایی‬ ‫گیری‬ ‫اندازه‬ ‫چنین‬ ‫فقط‬ ‫اما‬ ‫است‬ ‫نیاز‬ ‫میزان‬ ،‫مشتریان‬ ‫تبدیل‬ ‫نرخ‬
‫کثری‬‫حدا‬ ‫در‬ ‫که‬ ‫معیاری‬ ‫و‬ ‫متر‬ ‫هر‬ ‫و‬ ‫نسخه‬ ‫هر‬ ‫تحویل‬ ‫میانگین‬ ‫سرعت‬ ،‫نسخه‬ ‫هر‬ ‫های‬ ‫باگ‬ ‫تعداد‬ ، ‫ویژگی‬ ‫هر‬ ‫از‬ ‫استفاده‬
‫بدانیم‬ ‫را‬ ‫کنند‬ ‫می‬ ‫کمک‬ ‫ما‬ ‫به‬ ‫ارزش‬ ‫کردن‬.
Sharing
‫است‬ ‫یادگرفته‬ ‫های‬ ‫درس‬ ‫گزاری‬ ‫ک‬‫اشترا‬ ‫مورد‬ ‫در‬ ‫مفهوم‬ ‫این‬.‫گرفتیم؟‬ ‫درسی‬ ‫چه‬ ‫مانتیتورینگ‬ ‫و‬ ‫ها‬ ‫گیری‬ ‫اندازه‬ ‫از‬ ‫ما‬
‫تکرار‬ ‫مکررا‬ ‫اشتباهات‬ ، ‫نشوند‬ ‫پخش‬ ‫تیم‬ ‫اعضای‬ ‫بین‬ ‫ها‬ ‫درس‬ ‫این‬ ‫شد‬ ‫می‬ ‫باعث‬ ‫تیم‬ ‫اعضای‬ ‫مابین‬ ‫دیوار‬ ‫وجود‬ ‫پیشتر‬
‫رفت‬ ‫می‬ ‫پیش‬ ‫زدن‬ ‫غر‬ ‫با‬ ‫صرفا‬ ‫کارها‬ ‫و‬ ‫میشد‬.
… ‫و‬ ‫دهیم‬ ‫انجام‬ ‫پیشگیرانه‬ ‫اقدامات‬ ‫یا‬ ،‫نکنیم‬ ‫تکرار‬ ‫را‬ ‫اشتباهات‬ ‫دیگر‬ ‫که‬ ‫بگیریم‬ ‫درس‬ ‫اینکه‬.
‫کاربرد‬DevOps‫کجاست؟‬
‫و‬ ‫کند‬ ‫می‬ ‫تغییر‬ ‫بازار‬ ‫بازخورد‬ ‫یا‬ ‫مشتری‬ ‫نظرات‬ ‫اساس‬ ‫بر‬ ‫دائم‬ ‫که‬ ‫کنید‬ ‫می‬ ‫تولید‬ ‫محصولی‬ ‫یا‬ ‫سرویس‬ ‫یک‬ ‫شما‬ ‫اگر‬
‫پس‬ ،‫است‬ ‫مشتری‬ ‫به‬ ‫خوب‬ ‫سرویس‬ ‫ارائه‬ ‫شما‬ ‫رقابتی‬ ‫مزیت‬ ‫کنید‬ ‫می‬ ‫فکر‬ ‫و‬ ‫شود‬ ‫می‬ ‫اضافه‬ ‫آن‬ ‫به‬ ‫جدید‬ ‫های‬ ‫ویژگی‬
‫باشید‬ ‫مفهوم‬ ‫این‬ ‫بدنبال‬ ‫باید‬ ‫احتماال‬.‫خیلی‬ ‫های‬ ‫تکنولوژی‬ ‫با‬ ‫هایی‬ ‫سرویس‬ ‫که‬ ‫هستید‬ ‫هایی‬ ‫سازمان‬ ‫در‬ ‫اگر‬ ‫معموال‬ ‫اما‬
‫نمی‬ ‫را‬ ‫شما‬ ‫به‬ ‫شدن‬ ‫اتوماتیک‬ ‫اجازه‬ ‫سازمانی‬ ‫های‬ ‫روال‬ ‫و‬ ‫شود‬ ‫می‬ ‫انجام‬ ‫دستی‬ ‫چیز‬ ‫همه‬ ‫اصوال‬ ‫و‬ ‫دارند‬ ‫وجود‬ ‫قدیمی‬
‫باشد‬ ‫سختی‬ ‫بسیار‬ ‫کار‬ ‫مفهوم‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫شاید‬ ،‫دهند‬.
: ‫واقع‬ ‫در‬
‫دواپس‬(DevOps)‫است‬ ‫اعتماد‬ ‫و‬ ‫همکاری‬ ‫فرهنگ‬ ‫بر‬ ‫مبتنی‬.‫تضمین‬ ،‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫بین‬ ‫اتحاد‬ ‫و‬ ‫همکاری‬ ‫این‬
‫است‬ ‫عملیات‬ ‫و‬ ‫کنترل‬ ‫و‬ ‫امنیت‬ ،‫کیفیت‬.
‫است‬ ‫عملیات‬ ‫به‬ ‫توسعه‬ ‫از‬ ‫‌افزار‬‫م‬‫نر‬ ‫سریع‬ ‫انتقال‬ ،‫نتیجه‬.‫و‬ ‫‌ها‬‫ه‬‫روی‬ ‫به‬ ‫گفتیم‬ ‫که‬ ‫اعتمادی‬ ‫مورد‬ ‫شرکای‬ ‫اگر‬ ،‫حال‬ ‫این‬ ‫با‬
‫نیست‬ ‫سریع‬ ‫و‬ ‫روان‬ ‫دیگر‬ ‫افزار‬ ‫نرم‬ ‫حرکت‬ ،‫باشند‬ ‫پایبند‬ ‫بخواهند‬ ‫خود‬ ‫کند‬ ‫و‬ ‫رسمی‬ ‫فرایندهای‬.
‫نام‬ ‫با‬ ‫‌افزار‬‫م‬‫نر‬ ‫و‬ ‫راهکار‬ ‫توسعه‬ ‫عمر‬ ‫چرخه‬ ‫از‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫چرخه‬ ‫در‬ ‫ما‬ ‫که‬ ‫است‬ ‫ها‬ ‫سال‬SDLC.‫کردیم‬ ‫می‬ ‫استفاده‬
.‫است‬ ‫گرفته‬ ‫سرچشمه‬ ‫تولید‬ ‫و‬ ‫ساختار‬ ‫از‬ ‫واترفال‬ ‫صورت‬ ‫به‬ ‫الزامات‬ ”‫“همه‬ ‫استخراج‬ ‫از‬ ‫است‬ ‫عبارت‬ ‫فرایند‬ ‫این‬
“ ‫و‬ .‫افزار‬ ‫نرم‬ ‫آزمایش‬ ‫و‬ ‫طراحی‬ ،‫توسعه‬ ،‫مقدماتی‬voila.‫است‬ ‫استقرار‬ ‫برای‬ ”‫“آماده‬ ‫و‬ ”‫شده‬ ‫داده‬ ‫“تحویل‬ ‫افزار‬ ‫نرم‬ ”
.‫یابد‬ ‫ارتقا‬ ،‫استقرار‬ ‫ریسک‬ ‫کنترل‬ ‫های‬ ‫دروازه‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ‫طریق‬ ‫از‬ ‫باید‬ ‫هم‬ ‫هنوز‬ ‫اما‬ ،‫است‬ ”‫“آماده‬ ‫افزار‬ ‫نرم‬ ‫بنابراین‬
‫وجود‬ ‫سرویس‬ ‫باالی‬ ‫سطح‬ ‫و‬ ‫پایدار‬ ،‫ایمن‬ ‫محیط‬ ‫یک‬ ‫که‬ ‫شود‬ ‫حاصل‬ ‫اطمینان‬ ‫تا‬ ‫است‬ ‫تولید‬ ‫از‬ ‫محافظت‬ ‫ها‬ ‫دروازه‬ ‫محور‬
.‫دارد‬
:‫از‬ ‫عبارتند‬ ‫کنترلی‬ ‫های‬ ‫دروازه‬ ‫معمول‬ ‫طور‬ ‫به‬
•،‫داده‬ ‫و‬ ‫کاربردی‬ ‫غیر‬ ،‫کاربردی‬ ‫یکپارچگی‬ :‫کیفیت‬ ‫تضمین‬
•،‫صنعت‬ ‫استانداردهای‬ ‫با‬ ‫مطابق‬ :‫کنترل‬ ‫و‬ ‫امنیت‬
•‫خدمات‬ ‫سطح‬ ‫توافق‬ ‫هر‬ ‫در‬ ‫دسترسی‬ ‫انطباق‬ :‫عملیات‬
‫به‬ ‫سختگیرانه‬ ‫بررسی‬ ‫های‬ ‫روش‬ ‫از‬ ‫یک‬ ‫هر‬ .‫هستند‬ ‫توسعه‬ ‫از‬ ‫پس‬ ‫خطر‬ ‫های‬ ‫دروازه‬ ‫این‬ ‫از‬ ‫یک‬ ‫هر‬ ‫که‬ ‫باشید‬ ‫داشته‬ ‫توجه‬
‫ممکن‬ ‫جدید‬ ‫های‬ ‫ویژگی‬ ‫و‬ ‫پیشرفت‬ ‫درخواست‬ ‫انجام‬ً‫احتماال‬ ‫حتی‬ ‫و‬ ،‫استاندارد‬ ‫های‬ ‫بازرسی‬ ،‫ناموفق‬ ‫آزمایشات‬ ‫دلیل‬
.‫شوند‬ ‌‫ا‬‫تنگن‬ ‫یا‬ ‫و‬ ‫تاخیر‬ ‫موجب‬ ‫است‬
‫کنترلی‬ ‫های‬ ‫دروازه‬ ‫وجود‬ ‫با‬ ،‫دواپس‬ ‫چابک‬ ‫رویکرد‬
‫رویکرد‬ ‫بعد‬ ‫سالها‬ ‫چابک‬ ‫یک‬ ‫چابک‬ .‫آمد‬SDLC‫بهتر‬ ‫روشی‬ ‫عنوان‬ ‫به‬ .‫گیرد‬ ‫می‬ ‫بر‬ ‫در‬ ‫را‬ ‫تغییرات‬ ‫که‬ ‫است‬ ‫آمیز‬ ‫موفقیت‬
‫انتخاب‬ ‫برای‬ ‫فرایند‬ ‫این‬ ‫کند؛‬ ‫می‬ ‫کار‬ ‫و‬ .‫است‬ ‫شده‬ ‫شناخته‬ ‫تر‬ ‫کوتاه‬ ‫زمان‬ ‫در‬ ‫ارائه‬ ‫و‬ ‫ناپایدار‬ ‫الزامات‬ ‫مدیریت‬ ‫برای‬
‫و‬ ”‫شده‬ ‫داده‬ ‫“تحویل‬ ‫افزار‬ ‫نرم‬ ‫و‬ ، ‫تغییر‬ ‫الزامات‬ ”‫“باقی‬ ‫انتخاب‬ ‫حین‬ ‫در‬ ‫و‬ ‫کوچک‬ ‫تکرارهای‬ ‫در‬ ‫الزامات‬ ‫از‬ ”‫“برخی‬
‫رویکرد‬ ‫مانند‬ ‫استقرار‬ ‫های‬ ‫دروازه‬ ‫حال‬ ‫این‬ ‫با‬ .‫است‬ ‫استقرار‬ ‫برای‬ ”‫“آماده‬Waterfall.‫پابرجاست‬ ‫همچنان‬
‫منفی‬ ‫تجارب‬ ‫است؟‬ ‫شده‬ ‫ها‬ ‫دروازه‬ ‫این‬ ‫ایجاد‬ ‫باعث‬ ‫چیزی‬ ‫چه‬ ‫خطر؟‬ ‫دروازه‬ ‫چرا‬
:‫است‬ ‫شده‬ ‫بیان‬ ‫آنها‬ ‫از‬ ‫نمونه‬ ‫چند‬ ‫اینجا‬ ‫در‬
‫جداگانه‬ ‫کیفیت‬ ‫تضمین‬ ‫دروازه‬ ‫یک‬ ‫و‬ ‫است‬ ‫پاسخگو‬ ‫مدیریت‬ .‫شود‬ ‫خارج‬ ‫تولید‬ ‫از‬ ‫باید‬ ‫افزار‬ ‫نرم‬ :‫عملکردی‬ ‫خطاهای‬ _
.‫کند‬ ‫می‬ ‫ایجاد‬ ‫مستقل‬ ‫آزمایش‬ ‫برای‬
‫های‬ ‫داده‬ ‫و‬ ‫برند‬ ‫کار‬ ‫و‬ ‫کسب‬ ‫ارزش‬ ‫رفتن‬ ‫بین‬ ‫از‬ ‫باعث‬ ‫نقض‬ ‫این‬ .‫شود‬ ‫محافظت‬ ‫بالفاصله‬ ‫باید‬ ‫تولید‬ :‫امنیت‬ ‫نقض‬ _
‫و‬ ‫کنترل‬ ‫و‬ ‫امنیت‬ ‫مستقل‬ ‫بررسی‬ ‫برای‬ ‫جداگانه‬ ‫کنترل‬ ‫و‬ ‫امنیتی‬ ‫دروازه‬ ‫یک‬ ‫و‬ ‫دهد‬ ‫می‬ ‫پاسخ‬ ‫مدیریت‬ .‫شود‬ ‫می‬ ‫مشتری‬
.‫کند‬ ‫می‬ ‫ایجاد‬ ‫یافته‬ ‫بهبود‬ ‫استانداردهای‬
‫بررسی‬ ‫و‬ ‫مهاجرت‬ ‫های‬ ‫پنجره‬ ‫طول‬ ‫در‬ ‫محدودیت‬ ‫با‬ ‫مدیریت‬ .‫شود‬ ‫نمی‬ ‫برآورده‬ ‫خدمات‬ ‫سطح‬ ‫نامه‬ ‫توافق‬ :‫خدمات‬ ‫قطع‬
.‫دهد‬ ‫می‬ ‫پاسخ‬ ‫مشتریان‬ ‫به‬ ‫خدمات‬ ‫ساالنه‬
‫را‬ ‫سازمانی‬ ‫تغییرات‬ ‫مدیریت‬ ،‫بنابراین‬ .‫است‬ ‫رفته‬ ‫دست‬ ‫از‬ ‫منفی‬ ‫تجربیات‬ ‫دلیل‬ ‫به‬ ‫اعتماد‬ ‫که‬ ‫است‬ ‫این‬ ‫اصلی‬ ‫نکته‬
‫مدیریت‬ ،‫حال‬ ‫این‬ ‫با‬ .‫شود‬ ‫می‬ ‫استقرار‬ ‫فرایند‬ ‫در‬ )‫جداگانه‬ ‫های‬ ‫شرکت‬ ‫(مانند‬ ‫کاربری‬ ‫تغییر‬ ‫باعث‬ ‫که‬ ‫کند‬ ‫می‬ ‫دنبال‬
‫در‬ ‫بینش‬ ‫بدون‬ ً‫ا‬‫مطمئن‬ ‫و‬ ،‫استقرار‬ ‫روند‬ ‫اصلی‬ ‫زمان‬ ‫بر‬ ‫تاثیر‬ ‫گرفتن‬ ‫نظر‬ ‫در‬ ‫بدون‬ ‫را‬ ‫سازمانی‬ ‫تغییرات‬ ‫این‬ ‫است‬ ‫ممکن‬
.‫باشد‬ ‫داده‬ ‫انجام‬ ،‫مشتری‬ ‫مداوم‬ ‫بازخورد‬ ‫به‬ ‫رقابتی‬ ‫نیاز‬ ‫و‬ ”‫بازار‬ ‫در‬ ‫“اول‬ ‫کوسیستم‬‫ا‬ ‫آینده‬ ‫مورد‬
،‫خالصه‬ ‫طور‬ ‫به‬ ‫؛؛‬DevOps‫استقرار‬ ‫و‬ ‫توسعه‬ ‫امکان‬ ‫مشتری‬ ‫مداوم‬ ‫بازخورد‬ ‫با‬ ‫که‬ ‫است‬ ‫مفهوم‬ ‫چندین‬ ‫از‬ ‫ترکیبی‬
‫که‬ ‫دارند‬ ‫وجود‬ ‫موفق‬ ‫شرکت‬ ‫چندین‬ .‫کند‬ ‫می‬ ‫فراهم‬ ‫را‬ ‫سریع‬DevOps‫و‬ ‫استقرار‬ ‫زمان‬ ‫متوجه‬ ‫و‬ ‫اند‬ ‫کرده‬ ‫سازی‬ ‫پیاده‬ ‫را‬
‫؛؛‬ .‫اند‬ ‫شده‬ ‫کمتر‬ ‫شکست‬ ‫همراه‬ ‫به‬ ‫سریع‬ ‫ریکاوری‬
. ‫است‬ ‫شده‬ ‫برداشته‬ ‫کسب‬ ‫کارو‬ ‫و‬ ‫چابک‬ ‫دنیای‬ ‫سایت‬ ‫از‬ ‫دواپس‬ ‫مقاله‬ ‫از‬ ‫قسمتی‬ : ‫توجه‬
… ‫آمدید‬ ‫خوش‬ ‫جدید‬ ‫دنیای‬ ‫به‬
‫کانتینر‬ ‫مفهوم‬ ‫با‬ ‫آشنایی‬
‫و‬ ‫تست‬ ،‫دیباگ‬ ،‫کدنویسی‬ ‫خود‬ ‫سیستم‬ ‫روی‬ ‫را‬ ‫اپلیکیشنی‬ً‫مثال‬ ‫که‬ ‫هستند‬ ‫مواجه‬ ‫مشکل‬ ‫این‬ ‫با‬ ‫همواره‬ ‫دولوپرها‬
‫همچون‬ ‫دیگری‬ ‫پلتفرم‬ ‫یا‬ ‫محیط‬ ‫به‬ ‫را‬ ‫آن‬ ‫که‬ ‫همین‬ ‫اما‬ ‫‌کنند‬‫ی‬‫م‬ ‫حاصل‬ ‫اطمینان‬ ‫آن‬ ‫عملکرد‬ ‫صحت‬ ‫از‬ ‫و‬ ‫کرده‬ ‫اجرا‬
‫که‬ ‫است‬ ‫اینجا‬ ‫و‬ ‫‌کنند‬‫ی‬‫م‬ ‫تجربه‬ ‫را‬ ‫بسیاری‬ ‫‌وغریب‬‫ب‬‫عجی‬ ‫مشکالت‬ ‫و‬ ‫‌ها‬‫گ‬‫با‬ ،‫‌کنند‬‫ی‬‫م‬ ‫دیپلوی‬ ‫سرور‬ ‫یک‬
Container‫‌کند‬‫ی‬‫م‬ ‫خودنمایی‬.،‫دیگر‬ ‫عبارت‬ ‫به‬ ‫اپلیکیشن‬ ‫که‬ ‫‌کند‬‫ی‬‫م‬ ‫حاصل‬ ‫را‬ ‫اطمینان‬ ‫این‬ ‫کانتینر‬(‫‌افزار‬‫م‬‫نر‬)‫فارغ‬
‫دیپلوی‬ ‫پلتفرمی‬ ‫چه‬ ‫روی‬ ‫اینکه‬ ‫از‬ ‫تا‬ ‫گرفته‬ ‫دولوپر‬ ‫سیستم‬ ‫روی‬ ‫که‬ ‫طوری‬ ‫به‬ ‫گردد‬ ‫اجرا‬ ‫درستی‬ ‫به‬ً‫کامال‬ ،‫گردد‬
‫داشت‬ ‫خواهد‬ ‫یکسانی‬ ‫عملکرد‬ ‫کلود‬ ‫حتی‬ ‫یا‬ ‫مجازی‬ ‫سرور‬ ‌،‫تست‬ ‫محیط‬.
‫اپلیکیشن‬ ‫که‬ ‫باشد‬ ‫داشته‬ ‫وجود‬ ‫است‬ ‫ممکن‬ ‫دلیلی‬ ‫چه‬ ‫که‬ ‫آید‬ ‫پیش‬ ‫پرسش‬ ‫این‬ ‫است‬ ‫ممکن‬ ‫حال‬ ‫دیپلوی‬ ‫از‬ ‫پس‬
‫نگردد‬ ‫اجرا‬ ‫درستی‬ ‫به‬ ‫مختلف‬ ‫‌های‬‫ط‬‫محی‬ ‫در‬.‫حین‬ ‫در‬ ‫که‬ ‫‌ایم‬‫ه‬‫نوشت‬ ‫اپلیکیشنی‬ ‫کنیم‬ ‫فرض‬ ‫سٔوال‬ ‫این‬ ‫به‬ ‫پاسخ‬ ‫در‬
ٔ‫ه‬‫نسخ‬ ،‫توسعه‬ ‫فرایند‬ 7.1PHP ‫همچون‬ ‫نسخه‬ ‫این‬ ‫‌های‬‫ی‬‫ویژگ‬ ‫برخی‬ ‫از‬ ‫و‬ ‫است‬ ‫بوده‬ ‫نصب‬ ‫‌مان‬‫پ‬‫‌تا‬‫پ‬‫ل‬ ‫روی‬
‫اپراتور‬ ?? ‫‌ایم‬‫ه‬‫کرد‬ ‫استفاده‬ ‫خود‬ ‫کدهای‬ ‫در‬.ٔ‫ه‬‫نسخ‬ ‫که‬ ‫اصلی‬ ‫سرور‬ ‫روی‬ ‫را‬ ‫پروژه‬ ‫که‬ ‫زمانی‬ ‫حال‬ PHP 5.6 ‫دارا‬ ‫را‬
‫کرد‬ ‫خواهیم‬ ‫برخورد‬ ‫مشکل‬ ‫به‬ ً‫ا‬‫مسلم‬ ،‫‌کنیم‬‫ی‬‫م‬ ‫دیپلوی‬ ‫است‬.
‫که‬ ‫است‬ ‫اینجا‬ ‫یک‬ ‫شامل‬ ‫فناوری‬ ‫این‬ ‫که‬ ‫طوری‬ ‫به‬ ‫‌آید‬‫ی‬‫م‬ ‫‌افزار‬‫م‬‫نر‬ ٔ‫ه‬‫توسع‬ ‫‌های‬‫م‬‫تی‬ ‫کمک‬ ‫به‬ ‫کانتینر‬ ‫اجرای‬ ‫محیط‬
‫کامل‬ ‫‌بندی‬‫ه‬‫پیکر‬ ‫‌های‬‫ل‬‫فای‬ ،‫‌ها‬‫ک‬‫فریمور‬ ،‫‌ها‬‫ی‬‫الیبرر‬ ‫‌جمله‬‫ن‬‫م‬ ‫‌هایش‬‫ی‬‫وابستگ‬ ٔ‫ه‬‫کلی‬ ‫انضمام‬ ‫به‬ ‫اپلیکیشن‬ ‫که‬ ‫است‬
‫یک‬ ‫قالب‬ ‫در‬ ‫که‬ ‫‌شود‬‫ی‬‫م‬ ‫شامل‬ ‫را‬ ‫غیره‬ ‫و‬ ‫پکیج‬ ‫‌شوند‬‫ی‬‫م‬ ‫عرضه‬(‫خاطر‬ ‫به‬ ‫کانتینرها‬ ٔ‫ه‬‫تسمی‬ ‫وجه‬ ،‫واقع‬ ‫در‬
‫‌شوند‬‫ی‬‫م‬ ‫مشاهده‬ ‫فوق‬ ‫تصویر‬ ‫در‬ ‫که‬ ‫دارند‬ ‫کانتینرهایی‬ ‫با‬ ‫که‬ ‫است‬ ‫شباهتی‬.‫محیطی‬ ‫کانتینر‬ ‫هر‬ ،‫دیگر‬ ‫عبارت‬ ‫به‬
‫کانتینرها‬ ‫تمامی‬ ‫که‬ ‫است‬ ‫حالی‬ ‫در‬ ‫این‬ ‫اما‬ ‫داد‬ ‫قرار‬ ‫‌توان‬‫ی‬‫م‬ ‫را‬ ‫مختلفی‬ ‫کاالهای‬ ‫آن‬ ‫داخل‬ ‫که‬ ‫است‬ ‫مجزا‬ً‫کامال‬
‫دارند‬ ‫قرار‬ ،‫کشتی‬ ،‫واحد‬ ‫پلتفرم‬ ‫یک‬ ‫روی‬).
‫مجازی‬ ‫ماشین‬ ‫و‬ ‫کانتینر‬ ‫‌های‬‫ت‬‫تفاو‬ ‫با‬ ‫آشنایی‬
‫فناوری‬ ‫از‬ ‫استفاده‬ ‫با‬Virtualization(‫‌سازی‬‫ی‬‫مجاز‬)‫یک‬ ‫قالب‬ ‫در‬ ‫را‬ ‫شد‬ ‫اشاره‬ ‫بدان‬ ‫باال‬ ‫در‬ ‫که‬ ‫پکیجی‬ ‌، Virtual
Machine(‫مجازی‬ ‫ماشین‬)‫ماشین‬ ‫این‬ ‫که‬ ‫است‬ ‫حالی‬ ‫در‬ ‫این‬ ‫و‬ ‫کرد‬ ‫‌جا‬‫ه‬‫جاب‬ ‫‌توان‬‫ی‬‫م‬ ‫مختلف‬ ‫‌های‬‫م‬‫پلتفر‬ ‫مابین‬
‫کامل‬ ‫‌عامل‬‫م‬‫سیست‬ ‫یک‬ ‫حاوی‬ ‫مجازی‬+‫است‬ ‫‌هایش‬‫ی‬‫وابستگ‬ ‫و‬ ‫اپلیکیشن‬:
‫واقع‬ ‫در‬ ‫است‬ ‫اجرا‬ ‫حال‬ ‫در‬ ‫آن‬ ‫روی‬ ‫مجازی‬ ‫ماشین‬ ‫سه‬ ‫که‬ ‫سروری‬ ،‫‌شود‬‫ی‬‫م‬ ‫مالحظه‬ ‫فوق‬ ‫تصویر‬ ‫در‬ ‫که‬ ‫‌طور‬‫ن‬‫ما‬
‫چهار‬ ‫که‬ ‫سروری‬ ‫مقابل‬ ‫در‬ ‫اما‬ ‫‌باشد‬‫ی‬‫م‬ ‫اجرا‬ ‫حال‬ ‫در‬ ‫آن‬ ‫روی‬ ‫یکدیگر‬ ‫از‬ ‫مجزا‬ ‫‌عامل‬‫م‬‫سیست‬ ‫سه‬ ‫آن‬ ‫روی‬ ‫کانتینر‬
‫از‬ ‫یک‬ ‫هر‬ ‫و‬ ‫داشت‬ ‫خواهد‬ ‫وجود‬ ‫‌عامل‬‫م‬‫سیست‬ ‫یک‬ ً‫ا‬‫صرف‬ ،‫باشد‬ ‫داشته‬ ‫وجود‬ ‫به‬ ‫را‬ ‫‌عامل‬‫م‬‫سیست‬ ‫ِل‬‫ن‬‫ِر‬‫ک‬ ،‫کانتینرها‬
‫صورت‬ ‫کی‬‫اشترا‬ ‫داد‬ ‫خواهد‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬.‫مراتب‬ ‫به‬ ‫کانتینرها‬ ،‫دیگر‬ ‫عبارت‬ ‫به‬ ‫‌تر‬‫ک‬‫سب‬ ‫‌های‬‫ن‬‫ماشی‬ ‫از‬
‫کرد‬ ‫خواهند‬ ‫استفاده‬ ‫کمتری‬ ‫منابع‬ ‫و‬ ‫بود‬ ‫خواهند‬ ‫مجازی‬. ‫‌عامل‬‫م‬‫سیست‬ ‫همچنین‬ ‫کل‬ ‫‌تر‬‫ه‬‫بهین‬ ‫مدیریت‬ ‫منظور‬ ‫به‬
‫همچون‬ ‫سیستمی‬ ‫منابع‬ ‫به‬ ‫کانتینر‬ ‫هر‬ ‫دسترسی‬ ‫میزان‬ ‫سیستم‬RAM‫و‬CPU‫کانتینر‬ ‫یک‬ ‫تا‬ ‫‌سازد‬‫ی‬‫م‬ ‫محدود‬ ‫را‬
‫برخورند‬ ‫مشکل‬ ‫به‬ ‫کانتینرها‬ ‫سایر‬ ‫بالتبع‬ ‫و‬ ‫کرده‬ ‫استفاده‬ ‫را‬ ‫سیستمی‬ ‫منابع‬ ‫تمامی‬ ‫نتواند‬ ‫‌خصوص‬‫ه‬‫ب‬.
‫چیست؟‬ ‫کانتینرها‬ ‫از‬ ‫استفاده‬ ‫مزایای‬
‫حجم‬ ‫اینکه‬ ‫به‬ ‫توجه‬ ‫با‬ ‫بود‬ ‫خواهد‬ ‫قادر‬ ‫سادگی‬ ‫به‬ ‫سرور‬ ‫یک‬ ،‫است‬ ‫مجازی‬ ‫‌های‬‫ن‬‫ماشی‬ ‫از‬ ‫کمتر‬ ‫خیلی‬ ‫کانتینرها‬
‫تعداد‬ ‫که‬ ‫نست‬ ‫توضیح‬ ‫به‬ ‫نیاز‬ ‫و‬ ‫کند‬ ‫میزبانی‬ ‫خود‬ ‫روی‬ ‫را‬ ‫مجازی‬ ‫ماشین‬ ‫به‬ ‫نسبت‬ ‫بیشتری‬ ‫مراتب‬ ‫به‬ ‫کانتینر‬
‫مگابایت‬ ‫صد‬ ‫چند‬ ‫به‬ ً‫ا‬‫نهایت‬ ‫کانتینرها‬ ‫کثر‬‫ا‬ ‫حجم‬ ‫اما‬ ‫برسد‬ ‫گیگابایت‬ ‫چند‬ ‫به‬ ‫است‬ ‫ممکن‬ ‫مجازی‬ ‫ماشین‬ ‫هر‬ ‫حجم‬
‫رسید‬ ‫خواهد‬.
‫‌های‬‫ت‬‫مزی‬ ‫با‬ ‫ارتباط‬ ‫در‬ ‫که‬ ‫دیگری‬ ٔ‫ه‬‫نکت‬ ً‫ا‬‫نسبت‬ ‫زمان‬ ‫مجازی‬ ‫‌های‬‫ن‬‫ماشی‬ ‫که‬ ‫است‬ ‫این‬ ‫دارد‬ ‫وجود‬ ‫کانتینرها‬
‫که‬ ‫است‬ ‫حالی‬ ‫در‬ ‫این‬ ‫و‬ ‫دارند‬ ‫نیاز‬ ‫‌شان‬‫ل‬‫‌عام‬‫م‬‫سیست‬ ‫شدن‬ ‫بوت‬ ‫برای‬ ‫‌توجهی‬‫ل‬‫قاب‬ ‫اجرا‬ ‫‌تر‬‫ع‬‫سری‬ ‫خیلی‬ ‫کانتینرها‬
‫یک‬ ً‫ا‬‫صرف‬ ‫کانتینر‬ ‫که‬ ‫چرا‬ ‫‌شوند‬‫ی‬‫م‬Process(‫پروسه‬)‫روی‬ ‫‌باشد‬‫ی‬‫م‬ ‫‌عاملی‬‫م‬‫سیست‬ ‫است‬ ‫اجرا‬ ‫حال‬ ‫در‬ ‫که‬.
‫یس‬ِ‫ب‬ ‫کانتینر‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫کانتینری‬ ‫از‬ ‫ج‬ِ‫ایم‬ ‫یک‬ ً‫ا‬‫اصطالح‬ ‫تا‬ ‫شده‬ ‫فراهم‬ ‫امکان‬ ‫این‬ ‫همچنین‬(‫پایه‬)‫گرفته‬ ‫نظر‬ ‫در‬ ‫و‬
‫باشند‬ ‫آن‬ ‫به‬ ‫وابسته‬ ‫‌ها‬‫ج‬ِ‫ایم‬ ‫دیگر‬.‫‌های‬‫ل‬‫فای‬ ،‫‌عامل‬‫م‬‫سیست‬ ‫شامل‬ ‫که‬ ‫‌ای‬‫ه‬‫پای‬ ‫ج‬ِ‫ایم‬ ‫یک‬ ‫‌شود‬‫ی‬‫م‬ ،‫دیگر‬ ‫عبارت‬ ‫به‬
‫‌افزار‬‫م‬‫نر‬ ٔ‫ه‬‫توسع‬ ‫تیم‬ ‫سپس‬ ‫کرد‬ ‫ایجاد‬ ‫را‬ ‫‌باشد‬‫ی‬‫م‬ ‫‌ها‬‫ک‬‫فریمور‬ ‫و‬ ‫‌ها‬‫ی‬‫الیبرر‬ ‫همچون‬ ‫‌ها‬‫ی‬‫وابستگ‬ ‫دیگر‬ ‫و‬ ‫پیکربندی‬
ً‫ا‬‫مجدد‬ ‫مسئله‬ ‫همین‬ ‫و‬ ‫کنند‬ ‫ایجاد‬ ‫را‬ ‫است‬ ‫‌ای‬‫ه‬‫پای‬ ‫ج‬ِ‫ایم‬ ‫آن‬ ‫بر‬ ‫مبتنی‬ ‫که‬ ‫اپلیکیشن‬ ‫‌کد‬‫س‬‫سور‬ ‫حاوی‬ ‫جی‬ِ‫ایم‬ ً‫ا‬‫صرف‬
‫شد‬ ‫خواهد‬ ‫‌افزار‬‫م‬‫نر‬ ‫دیپلوی‬ ٔ‌‫ه‬‫توسع‬ ‫سرعت‬ ‫به‬ ‫منجر‬.
‫از‬ ‫استفاده‬ ‫دیگر‬ ‫مزیت‬ ‫است‬ ‫ماژوالر‬ ‫‌های‬‫ن‬‫اپلیکیش‬ ‫از‬ ‫بردن‬ ‫بهره‬ ‫امکان‬ ‫کانتینرها‬.‫اجرای‬ ‫جای‬ ‫به‬ ،‫دیگر‬ ‫عبارت‬ ‫به‬
‫یک‬ ‫قالب‬ ‫در‬ ‫پیچیده‬ ‫و‬ ‫حجیم‬ ‫اپلیکیشن‬ ‫یک‬ ‫که‬ ‫مجزا‬ ‫ماژول‬ ‫یکسری‬ ‫صورت‬ ‫به‬ ‫را‬ ‫خود‬ ‫اپلیکیشن‬ ‫‌توان‬‫ی‬‫م‬ ،‫کانتینر‬
‫عنوان‬ ‫تحت‬ ً‫ا‬‫اصطالح‬ ‫میکروسرویس‬ ‫روی‬ ‫پکیج‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫‌ها‬‫ن‬‫آ‬ ‫از‬ ‫یک‬ ‫هر‬ ‫و‬ ‫کرده‬ ‫طراحی‬ ‫‌شوند‬‫ی‬‫م‬ ‫شناخته‬
‫داد‬ ‫قرار‬ ‫سرور‬
‫‌شوند‬‫ی‬‫م‬ ‫مدیریت‬ ‫‌تر‬‫ه‬‫ساد‬ ‫مراتب‬ ‫به‬ ‫‌شوند‬‫ی‬‫م‬ ‫طراحی‬ ‫میکروسرویس‬ ‫معماری‬ ‫با‬ ‫که‬ ‫‌هایی‬‫ن‬‫اپلیکیش‬ ،‫کلی‬ ‫طور‬ ‫به‬
‫بود‬ ‫نخواهد‬ ‫اپلیکیشن‬ ‫کل‬ ‫مجدد‬ ‫کردن‬ ‫بیلد‬ ‫به‬ ‫نیازی‬ً‫اصال‬ ،‫‌ها‬‫ل‬‫ماژو‬ ‫از‬ ‫یکی‬ ‫در‬ ‫تغییر‬ ‫ِعمال‬‫ا‬ ‫به‬ ‫نیاز‬ ‫صورت‬ ‫در‬ ‫و‬.
‫است‬ ‫فناوری‬ ‫این‬ ‫‌های‬‫ت‬‫مزی‬ ‫از‬ ‫دیگر‬ ‫یکی‬ ‫هم‬ ‫کانتینرها‬ ‫‌بندی‬‫ه‬‫نسخ‬.‫ورژن‬ ‫یک‬ ‫کانتینر‬ ‫هر‬ ‫برای‬ ‫‌شود‬‫ی‬‫م‬ ،‫واقع‬ ‫در‬
‫قبلی‬ ‫‌های‬‫ن‬‫ورژ‬ ‫به‬ ،‫نیاز‬ ‫صورت‬ ‫در‬ ‫و‬ ‫ساخت‬ ‫مشخص‬ ‫را‬ ‫یکدیگر‬ ‫با‬ ‫مختلف‬ ‫‌های‬‫ن‬‫ورژ‬ ‫تفاوت‬ ،‫گرفت‬ ‫نظر‬ ‫در‬
ً‫ا‬‫اصطالح‬ ‫کانتینرها‬Roll-back(‫بازگشت‬)‫کرد‬.
‫تا‬ ‫باشیم‬ ‫داشته‬ ‫نیاز‬ ‫اینکه‬ ‫بدون‬ ‫تا‬ ‫بود‬ ‫خواهیم‬ ‫قادر‬ ‫سادگی‬ ‫به‬ ‫کانتینر‬ ‫فناوری‬ ‫از‬ ‫استفاده‬ ‫با‬ ،‫کلی‬ ‫طور‬ ‫به‬
،‫کنیم‬ ‫کانفیگ‬ ‫خود‬ ‫اپلیکیشن‬ ‫‌های‬‫ی‬‫نیازمند‬ ‫به‬ ‫بسته‬ ‫را‬ ‫مختلف‬ ‫سرورهای‬ ‫را‬ ‫اپلیکیشن‬ ‫یک‬ ‫راحت‬ ‫خیال‬ ‫با‬
‫برد‬ ‫خواهد‬ ‫باال‬ ‫را‬ ‫اپلیکیشن‬ ‫جدید‬ ‫‌های‬‫ه‬‫نسخ‬ ‫انتشار‬ ‫سرعت‬ ‫مسئله‬ ‫همین‬ ‫و‬ ‫کنیم‬ ‫دیپلوی‬.
‫چیست؟‬ ‫کانتینرها‬ ‫ضعف‬ ‫نقاط‬
‫استفاده‬ ‫واحد‬ ‫‌عامل‬‫م‬‫سیست‬ ‫یک‬ ‫از‬ ‫کانتینر‬ ‫چندین‬ ‫و‬ ‫نیستند‬ ‫‌عامل‬‌‫م‬‫سیست‬ ‫از‬ ‫مستقل‬ ‫کانتینرها‬ ‫اینکه‬ ‫به‬ ‫توجه‬ ‫با‬
‫است‬ ‫‌تر‬‫گ‬‫پررن‬ ‫‌سازی‬‫ی‬‫مجاز‬ ‫فناوری‬ ‫نسبت‬ ‫به‬ ‫امنیتی‬ ‫تهدیدات‬ ،‫‌کند‬‫ی‬‫م‬.
‫‌گردد‬‫ی‬‫م‬ ‫باز‬ ‫‌عامل‬‫م‬‫سیست‬ ‫یک‬ ‫به‬ ‫‌ها‬‫ن‬‫آ‬ ‫وابستگی‬ ‫به‬ ‫مجدد‬ ،‫است‬ ‫کانتینرها‬ ‫متوجه‬ ‫که‬ ‫دیگری‬ ‫ضعف‬ ‫نقطه‬.‫به‬
‫نیست‬ ‫ویندوزی‬ ‫پلتفرم‬ ‫یک‬ ‫روی‬ ‫‌اجرا‬‫ل‬‫قاب‬ ،‫باشد‬ ‫شده‬ ‫طراحی‬ ‫لینوکس‬ ‫پلتفرم‬ ‫بر‬ ‫مبتنی‬ ‫که‬ ‫کانتینری‬ ،‫دیگر‬ ‫عبارت‬
‫تکنولوژی‬ ٔ‫ه‬‫‌دهند‬‫ه‬‫ارائ‬ ‫‌های‬‫س‬‫سروی‬ ‫کدامند؟‬ ‫کانتینر‬
‫تا‬ ‫گرفته‬ ‫رایگان‬ ‫و‬ ‫‌سورس‬‫ن‬‫اپ‬ ‫‌های‬‫س‬‫سروی‬ ‫از‬ ،‫خود‬ ‫‌های‬‫ی‬‫نیازمند‬ ‫و‬ ‫بودجه‬ ‫میزان‬ ‫به‬ ‫بسته‬ ‫‌توانند‬‫ی‬‫م‬ ‫دولوپرها‬
‫اینترپرایز‬ ‫‌های‬‫س‬‫سروی‬(‫تجاری‬)‫کرد‬ ‫خواهیم‬ ‫معرفی‬ ‫را‬ ‫‌ها‬‫ن‬‫آ‬ ‫‌ترین‬‫م‬‫مه‬ ‫از‬ ‫برخی‬ ‫ادامه‬ ‫در‬ ‫که‬ ‫کنند‬ ‫استفاده‬:
- Kubernetes:‫که‬ ‫است‬ ‫رایگان‬ ‫و‬ ‫‌سورس‬‫ن‬‫اپ‬ ‫کانتینر‬ ‫‌ترین‬‫ف‬‫معرو‬ ‫و‬ ‫‌ترین‬‫ه‬‫‌شد‬‫ه‬‫شناخت‬ ‫عنوان‬ ‫به‬ ‫سرویس‬ ‫این‬
‫شد‬ ‫طراحی‬ ‫گوگل‬ ‫کمپانی‬ ‫در‬ ‫آن‬ ‫‌های‬‫ه‬‫نسخ‬ ‫اولین‬(ٔ‫ه‬‫واژ‬Kubernetes‫صورت‬ ‫به‬ ‫باید‬«‫ِتیس‬‫ن‬‫ر‬ِ‫ب‬‫کو‬»‫گردد‬ ‫تلفظ‬).
- (Docker (EE:ٔ‫ه‬‫نسخ‬ Docker Enterprise Edition‫فناوری‬ ‫اینترپرایز‬ ‫پلتفرم‬ ‫‌ترین‬‫ف‬‫معرو‬ ‫‌توان‬‫ی‬‫م‬ ‫نوعی‬ ‫به‬ ‫را‬
‫کرد‬ ‫معرفی‬ ‫کانتینر‬.‫است‬ ‫‌اجرا‬‫ل‬‫قاب‬ ‫هم‬ ‫غیره‬ ‫و‬ ‫آژور‬ ،‫ویندوز‬ ‫‌عامل‬‫م‬‫سیست‬ ‫روی‬ ،‫لینوکس‬ ‫بر‬ ‫عالوه‬ ‫کر‬‫دا‬.
- Open Shift Container Platform:‫شرکت‬ ‫از‬ ‫محصولی‬ ‫کانتینر‬ ‫سرویس‬ ‫این‬ ‫مبتنی‬ ‫که‬ ‫است‬ ‫َت‬‫ه‬‫د‬ِ‫ر‬
‫بر‬ Kubernetes‫توزیع‬ ‫لینوکس‬ ‫و‬ Red Hat Enterprise‫‌باشد‬‫ی‬‫م‬.
- Rancher:‫بر‬ ‫مبتنی‬ ‫هم‬ ‫سرویس‬ ‫این‬ Kubernetes٪ ،‫‌اش‬‫ی‬‫رسم‬ ‫سایت‬ ٔ‫ه‬‫گفت‬ ‫به‬ ‫که‬ ‫است‬۱۰۰‫‌سورس‬‫ن‬‫اپ‬
‫است‬.
‫کانتیرها‬ ‫اجرای‬ ‫مناسب‬ ‫لینوکسی‬ ‫‌های‬‫ع‬‫توزی‬ ‫با‬ ‫آشنایی‬
‫غیرضروری‬ ‫کانتیرها‬ ‫اجرای‬ ‫برای‬ ‫که‬ ‫هستند‬ ‫اضافی‬ ‫فیچرهایی‬ ‫دارای‬ ‫لینوکسی‬ ‫‌های‬‫ع‬‫توزی‬ ‫از‬ ‫برخی‬ ‫‌رسد‬‫ی‬‫م‬ ‫نظر‬ ‫به‬
‫عرضه‬ ‫بازار‬ ‫به‬ ‫کانتینرها‬ ‫میزبانی‬ ‫برای‬ ً‫ا‬‫اختصاص‬ ‫لینوکس‬ ‫از‬ ‫ک‬ُ‫ب‬‫س‬ ‫توزیع‬ ‫یکسری‬ ‫راستا‬ ‫همین‬ ‫در‬ ‫که‬ ‫‌باشند‬‫ی‬‫م‬
‫از‬ ‫عبارتند‬ ‫‌ها‬‫ن‬‫آ‬ ‫‌ترین‬‫م‬‫مه‬ ‫از‬ ‫برخی‬ ‫که‬ ‌‫ه‬‫شد‬:
- RancherOS:‫اختیار‬ ‫در‬ ‫کانتینرها‬ ‫میزبانی‬ ‫برای‬ ‫ساده‬ ‫مدیریتی‬ ‫با‬ ‫حال‬ ‫عین‬ ‫در‬ ‫و‬ ‫‌اعتماد‬‫ل‬‫قاب‬ ‫محیطی‬ ‫توزیع‬ ‫این‬
‫‌گذارد‬‫ی‬‫م‬ ‫دولوپرها‬.
- Photon OS:‫کمپانی‬ ‫توسط‬ ‫که‬ ‫است‬ ‫لینوکس‬ ‫از‬ ‫ک‬ُ‫ب‬‫س‬ ‫توزیعی‬VMWare‫برای‬ ً‫ا‬‫اختصاص‬ ‫که‬ ‫شده‬ ‫عرضه‬
‫‌های‬‫م‬‫پلتفر‬ ‫میزبانی‬ VMWare‫است‬ ‫شده‬ ‫طراحی‬.
- Ubuntu Core:‫‌ها‬‫ی‬‫فناور‬ ‫برای‬ ‫که‬ ‫است‬ ‫اوبونتو‬ ‫محبوب‬ ‫‌عامل‬‫م‬‫سیست‬ ‫از‬ ‫ک‬ُ‫ب‬‫س‬ ‫و‬ ‫کوچک‬ ‫توزیعی‬‫ی‬ ‫اینترنت‬
‫اشیاء‬ ‫است‬ ‫شده‬ ‫عرضه‬ ‫کانتینرها‬ ‫و‬. 
‫‌بندی‬‫ع‬‫جم‬
‫که‬ ‫پرسش‬ ‫این‬ ‫به‬ ‫پاسخ‬ ‫در‬«‫گرفت؟‬ ‫خواهند‬ ‫را‬ ‫مجازی‬ ‫‌های‬‫ن‬‫ماشی‬ ‫جای‬ً‫کامال‬ ‫کانتینرها‬ ‫آیا‬»‫که‬ ‫کرد‬ ‫اعتراف‬ ‫باید‬
‫نزدیک‬ ٔ‫ه‬‫آیند‬ ‫در‬ ‫دلیل‬ ‫یک‬ ‫به‬ ‫حداقل‬ ‫چیزی‬ ‫چنین‬ ‫که‬ ‫‌آید‬‫ی‬‫برم‬ ‫امر‬ ‫شواهد‬ ‫از‬ ‫اما‬ ‫ندارد‬ ‫وجود‬ ‫شفافی‬ ‫جواب‬
‫اینکه‬ ‫هم‬ ‫آن‬ ‫و‬ ‫بود‬ ‫نخواهد‬ ‫‌پذیر‬‫ن‬‫امکا‬ ‫که‬ ‫است‬ ‫این‬ ‫داشته‬ ‫نگاه‬ ‫محبوب‬ ‫را‬ ‫‌سازی‬‫ی‬‫مجاز‬ ‫فناوری‬ ‫کماکان‬ ‫که‬ ‫چیزی‬
‫مجازی‬ ‫‌های‬‫ن‬‫ماشی‬ ،‫کانتینرها‬ ‫به‬ ‫نسبت‬ ‫مجازی‬ ‫‌های‬‫ن‬‫ماشی‬ ‫بودن‬ ‫‌تر‬‫ه‬‫ایزول‬ ‫دلیل‬ ‫به‬ ‫‌تر‬‫ن‬‫ام‬ ‫‌باشند‬‫ی‬‫م‬.
: ‫کنیم‬ ‫اشاره‬ ‫را‬ ‫زیر‬ ‫موارد‬ ‫میتوانیم‬ ‫که‬ ‫داریم‬ ‫را‬ ‫کانتینر‬ ‫حوزه‬ ‫در‬ ‫ساختار‬ ‫انواع‬ ‫ما‬
‫دو‬ ‫ما‬ ‫کانتینر‬ ‫حوزه‬ ‫در‬ ‫واقع‬ ‫در‬Type: ‫داریم‬
1.Os base container‫مثل‬ :LXC... ‫و‬
2.Application base‫و‬ ‫کر‬‫دا‬ ‫مثل‬ : ‫کانتینر‬rkt , podman… ‫و‬
. ‫هست‬ ‫متفاوت‬ ‫ها‬ ‫بیزینس‬ ‫برای‬ ‫انواع‬ ‫این‬ ‫از‬ ‫کدام‬ ‫هر‬ ‫انتخاب‬ : ‫نکته‬
‫های‬ ‫ویژگی‬PODMAN:
‫کلی‬ ‫طور‬ ‫به‬podman. ‫باشد‬ ‫می‬ ‫دارا‬ ‫را‬ ‫ها‬ ‫ساختار‬ ‫این‬
Overview and scope
At a high level, the scope of Podman and libpod is the following:
•Support for multiple container image formats, including OCI and Docker images.
•Full management of those images, including pulling from various sources (including trust
and verification), creating (built via Containerfile or Dockerfile or committed from a
container), and pushing to registries and other storage backends.
•Full management of container lifecycle, including creation (both from an image and from an
exploded root filesystem), running, checkpointing and restoring (via CRIU), and removal.
•Support for pods, groups of containers that share resources and are managed together.
•Support for running containers and pods without root or other elevated privileges.
•Resource isolation of containers and pods.
•Support for a Docker-compatible CLI interface.
•No manager daemon, for improved security and lower resource utilization at idle.
•Support for a REST API providing both a Docker-compatible interface and an improved
interface exposing advanced Podman functionality.
•In the future, integration with CRI-O to share containers and backend code.
Podman presently only supports running containers on Linux. However, we are building a remote
client which can run onWindows and OS X and manage Podman containers on a Linux system via
the REST API using SSH tunneling.
Out of scope
•Specialized signing and pushing of images to various storage backends. See Skopeo for those
tasks.
•Support for the Kubernetes CRI interface for container management.The CRI-O daemon
specializes in that.
•Supporting docker-compose.We believe that Kubernetes is the defacto standard for composing
Pods and for orchestrating containers, making KubernetesYAML a defacto standard file
format. Hence, Podman allows the creation and execution of Pods from a KubernetesYAML
file (see podman-play-kube). Podman can also generate KubernetesYAML based on a
container or Pod (see podman-generate-kube), which allows for an easy transition from a local
development environment to a production Kubernetes cluster. If Kubernetes does not fit your
requirements, there are other third-party tools that support the docker-compose format such
as kompose and podman-compose that might be appropriate for your environment.This
situation may change with the addition of the REST API.
OCI Projects Plans
The plan is to use OCI projects and best of breed libraries for different aspects:
•Runtime:We use the OCI runtime tools to generate OCI runtime configurations that can be
used with any OCI-compliant runtime, like crun and runc.
•Images: Image management uses the containers/image library.
•Storage: Container and image storage is managed by containers/storage.
•Networking: Networking support through use of CNI.
•Builds: Builds are supported via Buildah.
•Conmon: Conmon is a tool for monitoring OCI runtimes, used by both Podman and CRI-O.
•Seccomp: A unified Seccomp policy for Podman, Buildah, and CRI-O.
‫روند‬ ‫و‬ ‫ساختار‬podman
‫از‬ ‫مثال‬ ‫یک‬podman:
‫و‬ ‫کر‬‫دا‬ ‫تفاوت‬podman:
‫بین‬ ‫°ی‬°‫س‬‫اسا‬ ‫°اوت‬°‫ف‬‫ت‬ ‫°ک‬°‫ی‬Podman‫و‬Docker‫°ور‬°‫ت‬‫مو‬ ‫°ه‬°‫ک‬ ‫°انی‬°‫م‬‫ز‬ ‫°ه‬°‫ک‬ ‫°ت‬°‫س‬‫ا‬ ‫این‬Docker‫°وان‬°‫ن‬‫ع‬ ‫°ه‬°‫ب‬service‫در‬host‫°ار‬°‫ک‬
. ‫کند‬ ‫می‬
host‫°ه‬‫م‬‫ه‬ ‫و‬action‫در‬ ‫°ا‬‫م‬‫ا‬ ‫°ود‬‫ش‬ ‫می‬ ‫°ام‬‫ج‬‫ان‬ ‫°ر‬‫ک‬‫دا‬ ‫°رویس‬‫س‬ ‫°ط‬‫س‬‫تو‬ ‫°ا‬‫ه‬podman‫°ورت‬‫ص‬ ‫°ه‬‫ب‬standalone‫می‬ ‫°را‬‫ج‬‫ا‬
. ‫است‬ ‫مستقل‬ ‫عملیات‬ ‫یک‬ ‫کدام‬ ‫هر‬ ‫که‬ ‫طوری‬ ‫به‬ ‫شود‬
‫°تی‬°‫ق‬‫و‬ ‫°ه‬‫ک‬ ‫°را‬°‫چ‬ ، ‫°ت‬‫س‬‫ا‬ ‫مهم‬ ‫تفاوت‬ ‫این‬security model‫°ع‬‫ق‬‫وا‬ ‫در‬ ‫°د‬‫ن‬‫ک‬ ‫می‬ ‫°دا‬‫ی‬‫پ‬ ‫°یر‬‫ی‬‫تغ‬images‫و‬containers‫°ور‬°‫ط‬ ‫°ه‬°‫ب‬
. ‫میکنند‬ ‫پیدا‬ ‫تعغیر‬ ‫توجهی‬ ‫قابل‬
‫عملیات‬ ‫که‬ ‫آنجا‬ ‫از‬Podman. ‫شود‬ ‫اجرا‬ ‫آن‬ ‫در‬ ‫خاص‬ ‫کاربر‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫که‬ ‫نیست‬ ‫دایمون‬ ‫سرویس‬ ‫یک‬ ‫به‬ ‫وابسته‬
، ‫سیستم‬podman‫ساده‬ ‫اندازه‬ ‫همان‬ ‫به‬ ‫که‬ ‫است‬ ‫معنی‬ ‫بدان‬ ‫این‬ .‫کند‬ ‫می‬ ‫فراهم‬ ‫کر‬‫دا‬ ‫به‬ ‫نسبت‬ ‫بیشتری‬ ‫انزوای‬
‫است‬
Podman‫که‬ ‫همانطور‬ ‫کنید‬ ‫اجرا‬ ‫استاندارد‬ ‫کاربر‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫را‬Podman.‫کنید‬ ‫می‬ ‫اجرا‬ ‫روت‬ ‫کاربر‬ ‫عنوان‬ ‫به‬ ‫را‬
Podman‫از‬namespaces‫توانند‬ ‫می‬ ‫همه‬ ‫میزبان‬ ‫یک‬ ‫در‬ ‫کاربر‬ ‫چندین‬ ‫که‬ ‫معناست‬ ‫بدان‬ ‫این‬ . ‫میکند‬ ‫کاربراستفاده‬
‫کنند‬ ‫کار‬
‫و‬ ‫کانتینرها‬local image stores‫کانتینر‬ ‫چون‬ . ‫کنند‬ ‫کار‬ ‫توانند‬ ‫می‬ ‫کانفیلیکت‬ ‫وجود‬ ‫از‬ ‫نگرانی‬ ‫بدون‬
‫در‬ ‫اجرا‬ ‫حال‬ ‫در‬user's namespace، ‫است‬ ‫میزبان‬ ‫سیستم‬ ‫در‬ ‫کاربر‬ ‫در‬ ‫موجود‬ ‫مجوزهای‬ ‫به‬ ‫محدود‬
‫کلی‬ ‫طور‬ ‫به‬Podman.‫کند‬ ‫می‬ ‫فراهم‬ ‫را‬ ‫کر‬‫دا‬ ‫به‬ ‫نسبت‬ ‫بیشتری‬ ‫امنیت‬ ‫واقع‬ ‫در‬
‫؟‬ ‫چیست‬ ‫نام‬ ‫فضای‬ ‫اما‬
Namespace‫آن‬ ‫هدف‬ ،‫شود‬ ‫می‬ ‫استفاده‬ ‫شیء‬ ‫متفاوت‬ ‫انواع‬ ‫به‬ ‫‌دادن‬‫ن‬‫سازما‬ ‫برای‬ ‫آن‬ ‫از‬ ‫که‬ ‫‌باشد‬‫ی‬‫م‬ ‫نماد‬ ‫مجموعه‬ ‫یک‬
‫شوند‬ ‫ارجاع‬ ‫نام‬ ‫توسط‬ ‫بتوانند‬ ‫اشیا‬ ‫این‬ ‫که‬ ‫است‬.‫همه‬ ‫که‬ ‫کند‬ ‫تضمین‬ ‫باید‬ ‫نام‬ ‫فضای‬ ‫یک‬‫ی‬ ‫شناسه‬ ‫ه‬‫آن‬ ‫در‬ ‫موجود‬ ‫ای‬
‫باشند‬ ‫می‬ ‫شناسایی‬ ‫قابل‬ ‫راحتی‬ ‫به‬ ‫اشیاء‬ ‫نتیجه‬ ‫در‬ ‫و‬ ‫دارند‬ ‫یکتایی‬ ‫نام‬
‫است‬ ‫مختلف‬ ‫های‬ ‫زمینه‬ ‫در‬ ‫ها‬ ‫نام‬ ‫از‬ ‫مجدد‬ ‫استفاده‬ ‫امکان‬ ‫امر‬ ‫این‬ ‫دلیل‬ ،‫هستند‬ ‫مراتبی‬ ‫سلسله‬ ‫معموال‬ ‫نام‬ ‫فضاهای‬
‫شام‬ ‫نام‬ ‫فضای‬ ‫از‬ ‫برجسته‬ ‫های‬ ‫مثال‬: ‫ل‬
•‫‌بندی‬‫ل‬‫فای‬ ‫سیستم‬:‫کند‬ ‫می‬ ‫منتسب‬ ‫را‬ ‫نامی‬ ‫ها‬ ‫فایل‬ ‫به‬ ‫که‬ ‫است‬ ‫نامی‬ ‫فضای‬
•‫از‬ ‫بعضی‬ ‫نویسی‬ ‫برنامه‬ ‫های‬ ‫زبان‬ ‫نام‬ ‫فضای‬ ‫ی‬ ‫وسیله‬ ‫به‬ ‫متغیر‬ ‫و‬ ‫ها‬ ‫رویه‬ ‫کنند‬ ‫می‬ ‫دهی‬ ‫سازمان‬ ‫را‬ ‫هایشان‬
•‫در‬ ‫ای‬ ‫رایانه‬ ‫ی‬ ‫شبکه‬ ‫و‬ ‫شده‬ ‫توزیع‬ ‫های‬ ‫سیستم‬ ،‫ها‬ ‫کامپیوتر‬ ‫به‬ ‫مثال‬ ،‫شود‬ ‫می‬ ‫منتسب‬ ‫منابع‬ ‫به‬ ‫هایی‬ ‫نام‬
،‫پرینترها‬ ‫ها‬ ‫سایت‬ ‫وب‬‫ها‬ ‫فایل‬ ،(‫دور‬ ‫و‬ ‫بیرونی‬)‫غیره‬ ‫و‬ ،.
•‫عامل‬ ‫های‬ ‫سیستم‬ ‫کرنل‬ ‫منابع‬ ‫توانند‬ ‫می‬(‫مثل‬ID‫شکبه‬ ‫سوکت‬ ،‫کاربران‬ ،‫پردازش‬)‫بخش‬ ‫مجرد‬ ‫نام‬ ‫فضای‬ ‫توسط‬ ‫را‬
‫از‬ ‫تا‬ ،‫کنند‬ ‫بندی‬ ‫‌عامل‬‫م‬‫سیست‬ ‫سطح‬ ‫‌سازی‬‫ه‬‫شبی‬ ‫کنند‬ ‫پشتیبانی‬.
‫واقع‬ ‫در‬podman‫محیط‬ ‫برای‬ ‫کر‬‫دا‬ ‫از‬ ‫تر‬ ‫بهینه‬ ‫بسیار‬Kubernetes‫و‬openshift‫هست‬
‫دستور‬ ‫راهنمای‬podman:
‫دستور‬pull:
‫دستور‬ ‫بواسطه‬pull. ‫داریم‬ ‫را‬ ‫مختلف‬ ‫های‬ ‫ریپوزیتوری‬ ‫از‬ ‫ایمیج‬ ‫گرفتن‬ ‫امکان‬
– ‫کل‬‫اورا‬ ‫ریپوزیوری‬ – ‫فدورا‬ ‫ریپوزیتوری‬ - ‫هاب‬ ‫کر‬‫دا‬ : ‫جمله‬ ‫از‬ ، ‫کنیم‬ ‫استفاده‬ ‫مختلف‬ ‫های‬ ‫ایمیج‬ ‫از‬ ‫توانیم‬ ‫می‬ ‫ما‬
quay.io… ‫و‬
‫دستور‬inspect:
Podman inspect debian
. ‫میگیرد‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫ایمیج‬ ‫ساختار‬ ‫نمایش‬ ‫برای‬ ‫دستور‬ ‫این‬
podman-inspect(1)() podman-inspect(1)()
NAME
podman-inspect - Display a container, image, volume, network, or pod's configuration
SYNOPSIS
podman inspect [options] name [...]
DESCRIPTION
This displays the low-level information on containers and images identified by name or ID. By
de‐
fault, this will render all results in a JSON array. If the inspect type is all, the order of in‐
spection is: containers, images, volumes, network, pods.
So, if a container has the same name as an image, then the container JSON will be returned,
and
so on.
If a format is specified, the given template will be executed for each result.
For more inspection options, see:
podman container inspect
podman image inspect
podman network inspect
podman pod inspect
podman volume inspect
OPTIONS
--type, -t=type
Return JSON for the specified type. Type can be 'container', 'image', 'volume', 'network',
'pod', or 'all' (default: all) (Only meaningful when invoked as podman inspect)
--format, -f=format
Format the output using the given Go template. The keys of the returned JSON can be used as
the
values for the --format flag (see examples below).
--latest, -l
Instead of providing the container name or ID, use the last created container. If you use methods
other than Podman to run containers such as CRI-O, the last started container could be from
ei‐
ther of those methods.
This option can be used to inspect the latest pod created when used with --type pod
The latest option is not supported on the remote client or when invoked as podman image
inspect.
--size, -s
In addition to normal output, display the total file size if the type is a container.
EXAMPLE
# podman inspect fedora
[
{
"Id": "f0858ad3febdf45bb2e5501cb459affffacef081f79eaa436085c3b6d9bd46ca",
"Digest":
"sha256:d4f7df6b691d61af6cee7328f82f1d8afdef63bc38f58516858ae3045083924a",
"RepoTags": [
"docker.io/library/fedora:latest"
],
# podman inspect a04 --format "{{.ImageName}}"
fedora
# podman inspect a04 --format "{{.GraphDriver.Name}}"
overlay
# podman image inspect --format "size: {{.Size}}" alpine
size: 4405240
podman container inspect --latest --format {{.EffectiveCaps}}
[CAP_CHOWN CAP_DAC_OVERRIDE CAP_FSETID CAP_FOWNER CAP_MKNOD
CAP_NET_RAW CAP_SETGID CAP_SETUID CAP_SETFCAP CAP_SETPCAP
CAP_NET_BIND_SERVICE CAP_SYS_CHROOT CAP_KILL CAP_AUDIT_WRITE]
# podman inspect myPod --type pod --format "{{.Name}}"
myPod
# podman inspect myVolume --type volume --format "{{.Name}}"
myVolume
# podman inspect nyNetwork --type network --format "{{.name}}"
myNetwork
‫دستور‬images:
. ‫میباشد‬ ‫مشاهده‬ ‫قابل‬ ‫ها‬ ‫ایمیج‬ ‫لیست‬ ‫اینجا‬ ‫در‬
EXAMPLE
# podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/kubernetes/pause latest e3d42bcaf643 3 years ago 251 kB
<none> <none> ebb91b73692b 4 weeks ago 27.2 MB
docker.io/library/ubuntu latest 4526339ae51c 6 weeks ago 126 MB
# podman images --quiet
e3d42bcaf643
ebb91b73692b
4526339ae51c
# podman images --noheading
docker.io/kubernetes/pause latest e3d42bcaf643 3 years ago 251 kB
<none> <none> ebb91b73692b 4 weeks ago 27.2 MB
docker.io/library/ubuntu latest 4526339ae51c 6 weeks ago 126 MB
# podman images --no-trunc
# podman images --format "table {{.ID}} {{.Repository}} {{.Tag}}"
IMAGE ID REPOSITORY TAG
e3d42bcaf643 docker.io/kubernetes/pause latest
ebb91b73692b <none> <none>
4526339ae51c docker.io/library/ubuntu latest
# podman images --filter dangling=true
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> ebb91b73692b 4 weeks ago 27.2 MB
‫دستور‬rmi:
podman rmi container-registry.oracle.com/os/oraclelinux:7-slim
podman rmi debian
. ‫دارد‬ ‫کاربرد‬ ‫ایمیج‬ ‫حذف‬ ‫برای‬ ‫دستور‬ ‫این‬
Remove an image by its short ID
$ podman rmi c0ed59d05ff7
Remove an image and its associated containers.
$ podman rmi --force imageID
Remove multiple images by their shortened IDs.
$ podman rmi c4dfb1609ee2 93fd78260bd1 c0ed59d05ff7
Remove all images and containers.
$ podman rmi -a -f
‫دستور‬info:
‫های‬ ‫ويژگی‬ ‫و‬ ‫ساختار‬ ‫مشاهده‬ ‫برای‬ ‫دستور‬ ‫این‬podman , container. ‫میگیره‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬
‫دستور‬create
‫شده‬ ‫دانلود‬ ‫ایمیج‬ ‫از‬ ‫کانتینر‬ ‫ساختن‬
‫دستور‬RUN:
. ‫میگیرد‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫ما‬ ‫دستورات‬ ‫اجرای‬ ‫برای‬ ‫دستور‬ ‫این‬
. ‫شویم‬ ‫آن‬ ‫وارد‬ ‫و‬ ‫بسازیم‬ ‫را‬ ‫خود‬ ‫کانتینر‬ ‫ایمیج‬ ‫از‬ ‫همزمان‬ ‫داریم‬ ‫را‬ ‫امکان‬ ‫این‬ ‫ما‬
--name ‫نام‬ ‫برای‬
-i makes the container interactive
-t connects the local terminal to the container
‫دستور‬start
. ‫میگیرد‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫کانتینر‬ ‫کردن‬ ‫استارت‬ ‫برای‬ ‫دستور‬ ‫این‬
‫دستور‬PS
‫دستور‬ps. ‫میگیرد‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫شده‬ ‫روشن‬ ‫های‬ ‫کانتینر‬ ‫نمایش‬ ‫برای‬
‫دستور‬stats
‫ا‬. ‫میدهد‬ ‫نشان‬ ‫را‬ ‫کانتینر‬ ‫هر‬ ‫شده‬ ‫استفاده‬ ‫منابع‬ ‫مشاهده‬ ‫برای‬ ‫دستور‬ ‫ین‬
‫دستورات‬ ‫راهنمای‬PODMAN
: ‫نمایید‬ ‫استفاده‬ ‫زیر‬ ‫موارد‬ ‫از‬ ‫میتوانید‬ ‫دستورات‬ ‫راهنمای‬ ‫از‬ ‫استفاده‬ ‫برای‬
podman help ps
man podman-ps
‫دستور‬STOP:
. ‫میگیرد‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫کانتینر‬ ‫کردن‬ ‫خاموش‬ ‫برای‬ ‫دستور‬ ‫این‬
Stop one or more containers
Description:
Stops one or more running containers. The container name or ID can be used.
A timeout to forcibly stop the container can also be set but defaults to 10 seconds otherwise.
Usage:
podman stop [options] CONTAINER [CONTAINER...]
Examples:
podman stop ctrID
podman stop --latest
podman stop --time 2 mywebserver 6e534f14da9d
Options:
-a, --all Stop all running containers
--cidfile stringArray Read the container ID from the file
-i, --ignore Ignore errors when a specified container is missing
-l, --latest Act on the latest container podman is aware of
Not supported with the "--remote" flag
-t, --time uint Seconds to wait for stop before killing the container (default 10)
‫دستور‬Logs:
. ‫میگیرد‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫گیری‬ ‫الگ‬ ‫و‬ ‫کانتینر‬ ‫در‬ ‫مرتبط‬ ‫تعغیرات‬ ‫مشاهده‬ ‫برای‬ ‫دستور‬ ‫این‬
Description:
Retrieves logs for one or more containers.
This does not guarantee execution order when combined with podman run (i.e., your run may not have generated any
logs at the time you execute podman logs).
Usage:
podman logs [options] CONTAINER [CONTAINER...]
Examples:
podman logs ctrID
podman logs --names ctrID1 ctrID2
podman logs --tail 2 mywebserver
podman logs --follow=true --since 10m ctrID
podman logs mywebserver mydbserver
Options:
-f, --follow Follow log output. The default is false
-l, --latest Act on the latest container podman is aware of
Not supported with the "--remote" flag
-n, --names Output the container name in the log
--since string Show logs since TIMESTAMP
--tail int Output the specified number of LINES at the end of the logs. Defaults to -1, which prints all lines
(default -1)
-t, --timestamps Output the timestamps in the log
‫ب‬‫عضی‬‫حال‬ … ‫و‬ ‫هایی‬ ‫ساختار‬ ‫نصب‬ ‫نمونه‬ ‫برای‬ . ‫بدهید‬ ‫آن‬ ‫به‬ ‫اجرا‬ ‫برای‬ ‫را‬ ‫دستوراتی‬ ‫و‬ ‫بسازید‬ ‫گراند‬ ‫بک‬ ‫در‬ ‫کانتینر‬ ‫یک‬ ‫دارید‬ ‫نیاز‬ ‫شما‬ ‫مواقع‬
‫؟‬ ‫کرد‬ ‫توان‬ ‫می‬ ‫چه‬ ‫کار‬ ‫این‬ ‫برای‬
podman run -d --name=oracledaemon 
container-registry.oracle.com/os/oraclelinux:7-slim 
su -c 'yum install httpd && httpd -Dforeground'
‫دارد‬ ‫ادامه‬.…
‫بررسی‬ ‫به‬ ‫کتاب‬ ‫بعدی‬ ‫نسخه‬ ‫در‬pod‫در‬ ‫استوریج‬ ‫و‬podman
. ‫پرداخت‬ ‫خواهیم‬

Mais conteúdo relacionado

Mais procurados

File permission in linux
File permission in linuxFile permission in linux
File permission in linuxPrakash Poudel
 
Access control list acl - permissions in linux
Access control list acl  - permissions in linuxAccess control list acl  - permissions in linux
Access control list acl - permissions in linuxSreenatha Reddy K R
 
File system hiearchy
File system hiearchyFile system hiearchy
File system hiearchysritolia
 
Data storage in cloud computing
Data storage in cloud computingData storage in cloud computing
Data storage in cloud computingjamunaashok
 
Learn REST in 18 Slides
Learn REST in 18 SlidesLearn REST in 18 Slides
Learn REST in 18 SlidesSuraj Gupta
 
Hardware virtualization basic
Hardware virtualization basicHardware virtualization basic
Hardware virtualization basicSanoj Kumar
 
Kubecon US 2019: Kubernetes Multitenancy WG Deep Dive
Kubecon US 2019: Kubernetes Multitenancy WG Deep DiveKubecon US 2019: Kubernetes Multitenancy WG Deep Dive
Kubecon US 2019: Kubernetes Multitenancy WG Deep DiveSanjeev Rampal
 
OVS Hardware Offload with TC Flower
OVS Hardware Offload with TC FlowerOVS Hardware Offload with TC Flower
OVS Hardware Offload with TC FlowerNetronome
 
Network and System Administration chapter 2
Network and System Administration chapter 2Network and System Administration chapter 2
Network and System Administration chapter 2IgguuMuude
 
Linux LVM Logical Volume Management
Linux LVM Logical Volume ManagementLinux LVM Logical Volume Management
Linux LVM Logical Volume ManagementManolis Kartsonakis
 
Introduction to Hadoop
Introduction to HadoopIntroduction to Hadoop
Introduction to Hadoopjoelcrabb
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to RedisKnoldus Inc.
 
Full cloud computing ppt
Full cloud computing pptFull cloud computing ppt
Full cloud computing pptBhuvneshYadav13
 

Mais procurados (20)

File permission in linux
File permission in linuxFile permission in linux
File permission in linux
 
Access control list acl - permissions in linux
Access control list acl  - permissions in linuxAccess control list acl  - permissions in linux
Access control list acl - permissions in linux
 
File system hiearchy
File system hiearchyFile system hiearchy
File system hiearchy
 
Linux: LVM
Linux: LVMLinux: LVM
Linux: LVM
 
Nfs
NfsNfs
Nfs
 
Data storage in cloud computing
Data storage in cloud computingData storage in cloud computing
Data storage in cloud computing
 
Users and groups
Users and groupsUsers and groups
Users and groups
 
Learn REST in 18 Slides
Learn REST in 18 SlidesLearn REST in 18 Slides
Learn REST in 18 Slides
 
Hardware virtualization basic
Hardware virtualization basicHardware virtualization basic
Hardware virtualization basic
 
Kubecon US 2019: Kubernetes Multitenancy WG Deep Dive
Kubecon US 2019: Kubernetes Multitenancy WG Deep DiveKubecon US 2019: Kubernetes Multitenancy WG Deep Dive
Kubecon US 2019: Kubernetes Multitenancy WG Deep Dive
 
OVS Hardware Offload with TC Flower
OVS Hardware Offload with TC FlowerOVS Hardware Offload with TC Flower
OVS Hardware Offload with TC Flower
 
cloud computing ppt
cloud computing pptcloud computing ppt
cloud computing ppt
 
Network and System Administration chapter 2
Network and System Administration chapter 2Network and System Administration chapter 2
Network and System Administration chapter 2
 
Hadoop and Big Data
Hadoop and Big DataHadoop and Big Data
Hadoop and Big Data
 
Apache ppt
Apache pptApache ppt
Apache ppt
 
Linux LVM Logical Volume Management
Linux LVM Logical Volume ManagementLinux LVM Logical Volume Management
Linux LVM Logical Volume Management
 
Introduction to Hadoop
Introduction to HadoopIntroduction to Hadoop
Introduction to Hadoop
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Full cloud computing ppt
Full cloud computing pptFull cloud computing ppt
Full cloud computing ppt
 

Semelhante a Podman (20)

Hamayesh
HamayeshHamayesh
Hamayesh
 
how add and remove Mgr in ceph cluster
how add and remove  Mgr in ceph  clusterhow add and remove  Mgr in ceph  cluster
how add and remove Mgr in ceph cluster
 
how add and delete new mon in ceph cluster
how add  and delete new  mon in ceph clusterhow add  and delete new  mon in ceph cluster
how add and delete new mon in ceph cluster
 
radosgw
radosgw radosgw
radosgw
 
openstack designate
openstack designateopenstack designate
openstack designate
 
Systemd and its various uses and capabilities.
Systemd and its various uses and capabilities.Systemd and its various uses and capabilities.
Systemd and its various uses and capabilities.
 
process
processprocess
process
 
cachefs
cachefs cachefs
cachefs
 
bcache and cachefs its benefits.
bcache and cachefs   its benefits. bcache and cachefs   its benefits.
bcache and cachefs its benefits.
 
Lug
LugLug
Lug
 
nbd
nbdnbd
nbd
 
nbd and it's benefits
nbd and it's benefitsnbd and it's benefits
nbd and it's benefits
 
Nfs Acl
Nfs AclNfs Acl
Nfs Acl
 
virsh vmware
virsh vmwarevirsh vmware
virsh vmware
 
Package management
Package managementPackage management
Package management
 
تجارت الکترونبکی با opencart
تجارت الکترونبکی با opencartتجارت الکترونبکی با opencart
تجارت الکترونبکی با opencart
 
Beowolf
BeowolfBeowolf
Beowolf
 
ips/ids
ips/idsips/ids
ips/ids
 
Zabbix monitoring website
Zabbix monitoring websiteZabbix monitoring website
Zabbix monitoring website
 
‫سطح دسترسی و کنترل لیست و سهمیه بندی‬ ‫در گنو/لینوکس‬
‫سطح دسترسی و کنترل لیست و سهمیه بندی‬ ‫در گنو/لینوکس‬‫سطح دسترسی و کنترل لیست و سهمیه بندی‬ ‫در گنو/لینوکس‬
‫سطح دسترسی و کنترل لیست و سهمیه بندی‬ ‫در گنو/لینوکس‬
 

Mais de Yashar Esmaildokht

how install and config sdn in proxmox virtualization
how install and config sdn in proxmox virtualizationhow install and config sdn in proxmox virtualization
how install and config sdn in proxmox virtualizationYashar Esmaildokht
 
service registery and the service discovery
service registery and the service discoveryservice registery and the service discovery
service registery and the service discoveryYashar Esmaildokht
 
نحوه ایجاد snapshot و ایجاد point در سیستم‌های گنو/لینوکسی برای ایجاد sys...
 نحوه ایجاد snapshot  و ایجاد point  در سیستم‌های گنو/لینوکسی  برای ایجاد sys... نحوه ایجاد snapshot  و ایجاد point  در سیستم‌های گنو/لینوکسی  برای ایجاد sys...
نحوه ایجاد snapshot و ایجاد point در سیستم‌های گنو/لینوکسی برای ایجاد sys...Yashar Esmaildokht
 
how create linux image for cloud
how create linux image for cloud how create linux image for cloud
how create linux image for cloud Yashar Esmaildokht
 
‫‪Wazuh‬‬ ‫و‬ ‫‪Ossec‬‬ ‫‪Wazuh‬‬ ‫به‬ ‫‪ossec‬‬ ‫از‬ ‫مهاجرت‬ ‫نحوه‬ ‫همچنین‬
‫‪Wazuh‬‬ ‫و‬ ‫‪Ossec‬‬ ‫‪Wazuh‬‬ ‫به‬ ‫‪ossec‬‬ ‫از‬ ‫مهاجرت‬ ‫نحوه‬ ‫همچنین‬‫‪Wazuh‬‬ ‫و‬ ‫‪Ossec‬‬ ‫‪Wazuh‬‬ ‫به‬ ‫‪ossec‬‬ ‫از‬ ‫مهاجرت‬ ‫نحوه‬ ‫همچنین‬
‫‪Wazuh‬‬ ‫و‬ ‫‪Ossec‬‬ ‫‪Wazuh‬‬ ‫به‬ ‫‪ossec‬‬ ‫از‬ ‫مهاجرت‬ ‫نحوه‬ ‫همچنین‬Yashar Esmaildokht
 

Mais de Yashar Esmaildokht (15)

how install and config sdn in proxmox virtualization
how install and config sdn in proxmox virtualizationhow install and config sdn in proxmox virtualization
how install and config sdn in proxmox virtualization
 
service registery and the service discovery
service registery and the service discoveryservice registery and the service discovery
service registery and the service discovery
 
raid with megacli
raid with megacliraid with megacli
raid with megacli
 
Openstack Rally
Openstack RallyOpenstack Rally
Openstack Rally
 
OpenStack and its service
OpenStack and its serviceOpenStack and its service
OpenStack and its service
 
نحوه ایجاد snapshot و ایجاد point در سیستم‌های گنو/لینوکسی برای ایجاد sys...
 نحوه ایجاد snapshot  و ایجاد point  در سیستم‌های گنو/لینوکسی  برای ایجاد sys... نحوه ایجاد snapshot  و ایجاد point  در سیستم‌های گنو/لینوکسی  برای ایجاد sys...
نحوه ایجاد snapshot و ایجاد point در سیستم‌های گنو/لینوکسی برای ایجاد sys...
 
linux industry
linux industrylinux industry
linux industry
 
squid
squidsquid
squid
 
how use iptables
how use iptables how use iptables
how use iptables
 
how upgrade ceph
how upgrade cephhow upgrade ceph
how upgrade ceph
 
how create linux image for cloud
how create linux image for cloud how create linux image for cloud
how create linux image for cloud
 
how config Naxsi
how config Naxsi how config Naxsi
how config Naxsi
 
How Create Waf With Naxsi
How Create Waf With NaxsiHow Create Waf With Naxsi
How Create Waf With Naxsi
 
‫‪Wazuh‬‬ ‫و‬ ‫‪Ossec‬‬ ‫‪Wazuh‬‬ ‫به‬ ‫‪ossec‬‬ ‫از‬ ‫مهاجرت‬ ‫نحوه‬ ‫همچنین‬
‫‪Wazuh‬‬ ‫و‬ ‫‪Ossec‬‬ ‫‪Wazuh‬‬ ‫به‬ ‫‪ossec‬‬ ‫از‬ ‫مهاجرت‬ ‫نحوه‬ ‫همچنین‬‫‪Wazuh‬‬ ‫و‬ ‫‪Ossec‬‬ ‫‪Wazuh‬‬ ‫به‬ ‫‪ossec‬‬ ‫از‬ ‫مهاجرت‬ ‫نحوه‬ ‫همچنین‬
‫‪Wazuh‬‬ ‫و‬ ‫‪Ossec‬‬ ‫‪Wazuh‬‬ ‫به‬ ‫‪ossec‬‬ ‫از‬ ‫مهاجرت‬ ‫نحوه‬ ‫همچنین‬
 
how enable ceph dashboard
how enable  ceph dashboardhow enable  ceph dashboard
how enable ceph dashboard
 

Podman

  • 1. ‫تعالی‬ ‫بسمه‬ podman ‫سواران‬ ‫اژدها‬ ‫برای‬ : ‫نویسنده‬ ‫دخت‬ ‫اسمعیل‬ ‫یاشار‬ ‫مهندس‬ : ‫نسخه‬۰.۱
  • 2. : ‫نویسنده‬ ‫باره‬ ‫در‬ ‫رشته‬ ‫آموخته‬ ‫دانش‬ ‫دخت‬ ‫اسمعیل‬ ‫یاشار‬ ‫بنده‬cyber security. ‫هستم‬ ‫از‬ ‫بیش‬۱۵. ‫دارم‬ ‫فعالیت‬ ‫سابقه‬ ‫سال‬ ‫مولف‬ - ‫مدرس‬ - ‫مشاور‬ : ‫داد‬ ‫شرح‬ ‫زیر‬ ‫های‬ ‫ساختار‬ ‫در‬ ‫میتوان‬ ‫را‬ ‫بنده‬ ‫های‬ ‫فعالیت‬ ‫جمله‬ ‫از‬ gnu/linux system/network/security Engineer/administrator & oracle dba | Linux Trainer | devops . ): ‫جدید‬ ‫دنیاهای‬ ‫کشف‬ ‫و‬ ‫تحقیق‬ ‫و‬ ‫مطالعه‬ ‫به‬ ‫مند‬ ‫عالقه‬ . ‫کنم‬ ‫اشاره‬ ‫استراتژی‬ ‫های‬ ‫بازی‬ ‫و‬ ‫اوتلو‬ ‫و‬ ‫شطرنج‬ ‫بازی‬ ‫به‬ ‫میتوانم‬ ‫من‬ ‫های‬ ‫سرگرمی‬ ‫از‬ ‫واقع‬ ‫در‬ ‫بنیان‬ ‫از‬ ‫یکی‬ ‫و‬ ‫گنو/لینوکس‬ ‫و‬ ‫باز‬ ‫متن‬ ‫دنیای‬ ‫عاشق‬ . ‫هستم‬ ‫عاشق‬ ‫یک‬ ‫من‬‫گذ‬‫تبریز‬ ‫الگ‬ ‫اران‬ : ‫کنید‬ ‫پیدا‬ ‫و‬ ‫کنید‬ ‫دنبال‬ ‫را‬ ‫من‬ ‫میتوانید‬ ‫چطور‬ ‫خب‬ Mob : 09141100257 Telegram ID Telegram channel Instagram Account Linkedin Account . ‫بشنوم‬ ‫را‬ ‫انتقادتون‬ ‫یا‬ ‫پیشنهاد‬ ‫هرگونه‬ ‫میشم‬ ‫خوشحال‬ ‫همچنین‬ ‫چ‬: ‫کنید‬ ‫پیدا‬ ‫را‬ ‫من‬ ‫از‬ ‫ی‬ ‫دیگر‬ ‫های‬ ‫کتاب‬ ‫میتونید‬ ‫طور‬ ‫توی‬slideshare‫را‬ ‫کردم‬ ‫منتشر‬ ‫آزاد‬ ‫بصورت‬ ‫که‬ ‫دیگری‬ ‫های‬ ‫کتاب‬ ‫میتونید‬ ‫بگردید‬ ‫من‬ ‫اسم‬ ‫دنبال‬ ‫گوگل‬ ‫یا‬ . ‫کنید‬ ‫پیدا‬
  • 3. ‫چ‬‫را‬podman: . ‫میاد‬ ‫خوشم‬ ‫پادمن‬ ‫از‬ ‫من‬ ‫که‬ ‫هست‬ ‫دلیل‬ ‫هزاران‬ •‫میده‬ ‫بهم‬ ‫خوبی‬ ‫حس‬ •‫هست‬ ‫قدرتمند‬ ‫و‬ ‫هست‬ ‫کاربردی‬ •‫کر‬‫دا‬ ‫به‬ ‫نسبت‬ ‫داره‬ ‫شیفت‬ ‫اپن‬ ‫و‬ ‫کوبرنتیس‬ ‫با‬ ‫بیشتری‬ ‫سازگاری‬ •‫از‬OCI‫میکنه‬ ‫ساپورت‬ •‫هست‬ ‫ردهت‬ ‫پشتش‬ •. ‫کنی‬ ‫استفاده‬ ‫ایمیجش‬ ‫از‬ ‫میتونی‬ ‫و‬ ‫هست‬ )‫(سازگار‬ ‫انتگریت‬ ‫کر‬‫دا‬ ‫با‬ ‫کامال‬ •... ‫داره‬ ‫گفتن‬ ‫برای‬ ‫حرفی‬ ‫امنیت‬ ‫لحاظ‬ ‫از‬ •) ‫زیاد‬ ‫های‬ ‫(ریپوزیتوری‬ ‫میکنه‬ ‫ساپورت‬ ‫را‬ ‫زیادی‬ ‫های‬ ‫ایمیج‬ •: ‫جمله‬ ‫از‬ ‫هست‬ ‫سازگار‬ ‫ها‬ ‫اون‬ ‫با‬ ‫و‬ ‫داره‬ ‫ارتباط‬ ‫و‬ ‫رابطه‬ ‫زیادی‬ ‫جانبی‬ ‫ابزارهای‬ ‫با‬openshift +kubernetes +buildah +cri-o +skope •‫هست‬ ‫سریع‬ •‫دارم‬ ‫دوست‬ ‫را‬ ‫لوگوش‬ •‫دارای‬ ‫پروژه‬road map‫هست‬ •‫هست‬ ‫هت‬ ‫رد‬ ‫های‬ ‫پروژه‬ ‫از‬ ‫یکی‬ •… ‫و‬
  • 4. : ‫است‬ ‫کسانی‬ ‫چه‬ ‫برای‬ ‫ابزار‬ ‫این‬ ‫و‬ ‫کتاب‬ ‫این‬ ‫نیازمند‬ ‫ابزار‬ ‫و‬ ‫کانسپت‬ ‫یک‬ ‫انتخاب‬ ‫برای‬ ‫که‬ ‫چرا‬ . ‫بدم‬ ‫توضیح‬ ‫اینجا‬ ‫در‬ ‫را‬ ‫اون‬ ‫انواع‬ ‫و‬ ‫ها‬ ‫کانتینر‬ ‫نمیخوام‬ ‫سپس‬ ‫و‬ ‫بشه‬ ‫نیازسنجی‬ ‫و‬ ‫بشه‬ ‫تحلیل‬ ‫کار‬ ‫و‬ ‫کسب‬ ‫نوع‬ ‫تا‬ . ‫هست‬ ‫کار‬ ‫و‬ ‫کسب‬ ‫اون‬ ‫سنجی‬ ‫نیاز‬ ‫و‬ ‫بررسی‬ . ‫بشه‬ ‫انتخاب‬ : ‫توجه‬ . ‫هست‬ ‫فاجعه‬ ‫کاری‬ ‫و‬ ‫کسب‬ ‫برای‬ ‫و‬ ‫هست‬ ‫عالی‬ ‫و‬ ‫خوب‬ ‫ابزار‬ ‫یک‬ ‫کردن‬ ‫استفاده‬ ‫کاری‬ ‫و‬ ‫کسب‬ ‫برای‬ ) ‫پروژه‬ ‫(تحلیل‬ . ‫میشه‬ ‫حیاتی‬ ‫پروژه‬ ‫انتخاب‬ ‫برای‬ ‫مشاوره‬ ‫و‬ ‫تحلیل‬ ‫نیاز‬ ‫که‬ ‫هست‬ ‫اینجا‬ ‫بزرگی‬ ‫اشتباه‬ ‫این‬ . ‫هست‬ ‫خوب‬ ‫هم‬ ‫من‬ ‫برای‬ . ‫میکنه‬ ‫استفاده‬ ‫کانسپت‬ ‫یک‬ ‫از‬ ‫شرکت‬ ‫فالن‬ ‫که‬ ‫عنوان‬ ‫این‬ ‫به‬ ( . ‫میگم‬ ‫تکنولوژی‬ ‫های‬ ‫تله‬ ‫اون‬ ‫به‬ ‫من‬ ‫و‬ ‫هست‬Technology Trap) ‫های‬ ‫ابزار‬ ‫از‬ ‫استفاده‬ ‫مخصوصا‬ ‫و‬ ‫ابزار‬ ‫یک‬ ‫انتخاب‬ ‫از‬ ‫قبل‬ ‫پس‬Devops‫دواپس‬ ‫فرهنگ‬ ‫به‬ ‫سازمان‬ ‫باید‬ . ‫باشه‬ ‫داشته‬ ‫را‬ ‫اون‬ ‫آمادگی‬ ‫و‬ ‫برسه‬ . ‫دارید‬ ‫هم‬ ‫را‬ ‫من‬ ‫با‬ ‫تماس‬ ‫راههای‬ . ‫خدمتم‬ ‫در‬ ‫من‬ ‫داشتید‬ ‫مشاوره‬ ‫به‬ ‫نیاز‬ ‫اگر‬ ‫های‬ ‫ابزار‬ ‫به‬ ‫نیاز‬ ‫کارتون‬ ‫و‬ ‫کسب‬ ‫که‬ ‫رسیدید‬ ‫نتیجه‬ ‫این‬ ‫به‬ ‫اگر‬Devops‫خوبی‬ ‫کمک‬ ‫میتونه‬ ‫کتاب‬ ‫این‬ . ‫داره‬ . ‫باشه‬ ‫براتون‬
  • 5. : ‫خواننده‬ ‫با‬ ‫سخنی‬ . ‫دهید‬ ‫انجام‬ ‫را‬ ‫خود‬ ‫مالی‬ ‫های‬ ‫حمایت‬ ‫زیر‬ ‫لینک‬ ‫از‬ ‫‌توانید‬‫ی‬‫م‬ ‫نویسنده‬ ‫و‬ ‫کتاب‬ ‫از‬ ‫حمایت‬ ‫برای‬ http://zarinp.al/yashar ‫روز‬ ‫وپیشرفت‬ ‫آموزشی‬ ‫عدالت‬ ‫راههای‬ ‫از‬ ‫یکی‬ ‫این‬ ‫که‬ . ‫است‬ ‫جامعه‬ ‫در‬ ‫دونیت‬ ‫و‬ ‫باز‬ ‫متن‬ ‫فرهنگ‬ ‫ایجاد‬ ‫بنده‬ ‫تالش‬ . ‫‌باشد‬‫ی‬‫م‬ ‫جامعه‬ ‫همه‬ ‫برای‬ ‫افزون‬ ‫رایگان‬ ‫نه‬ ‫است‬ ‫آزاد‬ ‫کتاب‬ ‫این‬ : ‫توجه‬
  • 6. : ‫به‬ ‫تقدیم‬ ‫خدا‬‫شتافت‬ ‫یاریم‬ ‫به‬ ‫که‬ ‫بود‬ ‫او‬ ‫تنها‬ ‫هایم‬ ‫سختی‬ ‫در‬ ‫که‬ ‫چرا‬ ‫مادرم‬‫اویم‬ ‫مدیون‬ ‫که‬ ‫را‬ ‫حبت‬َ‫م‬ ‫و‬ ‫انسانیت‬ ‫داد‬ ‫یاد‬ ‫و‬ . ‫کرد‬ ‫تقدیم‬ ‫زندگی‬ ‫به‬ ‫مرا‬ ‫که‬ ‫چرا‬ ‫پدرم‬‫اویم‬ ‫مدیون‬ ‫و‬ ‫بود‬ ‫من‬ ‫حامی‬ ‫همیشه‬ ‫روحش‬ ‫که‬ ‫عشقم‬‫هست‬ ‫و‬ ‫بود‬ ‫مشوقم‬ ‫که‬ ‫سورس‬ ‫اپن‬ ‫جامعه‬ ‫بشریت‬ ‫را‬ ‫هایش‬ ‫دانسته‬ ‫میکند‬ ‫منتشر‬ ‫و‬ ‫میخواند‬ ‫که‬ ‫او‬ ‫و‬ ): ‫هیچ‬ ‫دیگر‬ ‫و‬ ‫جهانی‬ ‫صلح‬ ‫امید‬ ‫به‬ ‫و‬
  • 7. ‫لینوکس‬ ‫و‬ ‫گنو‬ ‫تاریخچه‬ “ ‫مخفف‬ ‫گنو‬ .‫‌باشد‬‫ی‬‫م‬ ‫سازگار‬ ‫یونیکس‬ ‫با‬ ‫‌ای‬‫ه‬‫فزایند‬ ‫ـور‬‫ـ‬‫ط‬ ‫به‬ ‫ـه‬‫ـ‬‫ک‬ ‫ـوده‬‫ـ‬‫ب‬ ‫آزاد‬ ‫کامال‬ ‫عامل‬ ‫ـستم‬‫ـ‬‫ی‬‫س‬ ‫یک‬ ‫گنو‬ ‫عامل‬ ‫سیستم‬ GNU’s Not Unix‫سپتامبر‬ ‫در‬ ‫را‬ ‫گنو‬ ‫پروژه‬ ‫اولیه‬ ‫اطالعیه‬ ‫استالمن‬ ‫ریچارد‬ .‫است‬ ”۱۹۸۳‫به‬ ‫آن‬ ‫‌تر‬‫ل‬‫کام‬ ‫نسخه‬ .‫کرد‬ ‫منتشر‬ ‫سپتامبر‬ ‫در‬ ‫گنو‬ ‫اعالمیه‬ ‫نام‬۱۹۸۵.‫است‬ ‫شده‬ ‫ترجمه‬ ‫زبان‬ ‫چندین‬ ‫به‬ ‫که‬ ‫شد‬ ‫منتشر‬ “ ‫برای‬ ‫بازگشتی‬ ‫مخفف‬ ‫یک‬ ،‫نخست‬ ‫‌کند؛‬‫ی‬‫م‬ ‫ـرف‬‫ـ‬‫ط‬‫ـر‬‫ـ‬‫ب‬ ‫را‬ ‫ـازها‬‫ـ‬‫ی‬‫ن‬ ‫از‬ ‫تعدادی‬ ‫که‬ ‫است‬ ‫شده‬ ‫انتخاب‬ ‫علت‬ ‫این‬ ‫به‬ »‫«گنو‬ ‫نام‬ GNU’s Not Unix.‫است‬ ‫جالب‬ ‫آن‬ )‫خواندن‬ ‫(یا‬ ‫گفتن‬ ‫آهنگ‬ ،‫سوم‬ ،‫است‬ ‫واقعی‬ ‫کلمه‬ ‫یک‬ ،‫دوم‬ ،‫است‬ ” ‫است‬ ‫ممکن‬ ‫آزاد‬ ‫‌افزار‬‫م‬‫نر‬ ‫آوردن‬ ‫دست‬ ‫به‬ ‫برای‬ ‫شما‬ .‫قیمت‬ ‫نه‬ ،‫‌کند‬‫ی‬‫م‬ ‫اشاره‬ ‫آزادی‬ ‫به‬ »‫آزاد‬ ‫‌افزار‬‫م‬‫«نر‬ ‫در‬ »‫«آزاد‬ ‫کلمه‬ ‫آن‬ ‫از‬ ‫استفاده‬ ‫برای‬ ‫ـژه‬‫ـ‬‫ی‬‫و‬ ‫آزادی‬ ‫ـه‬‫ـ‬‫س‬ ،‫باشید‬ ‫ـه‬‫ـ‬‫ت‬‫داش‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫‌افزار‬‫م‬‫نر‬ ‫ـی‬‫ت‬‫وق‬ ،‫صورت‬ ‫هر‬ ‫در‬ .‫نپردازید‬ ‫یا‬ ‫بپردازید‬ ‫مبلغی‬ ‫ـرای‬‫ـ‬‫ب‬ ‫آزادی‬ ،‫دوم‬ ‫ـکاران؛‬‫ـ‬‫م‬‫ه‬ ‫و‬ ‫دوستان‬ ‫به‬ ‫آن‬ ‫دادن‬ ‫هدیه‬ ‫و‬ ‫برنامه‬ ‫از‬ ‫برداری‬ ‫نسخه‬ ‫برای‬ ‫آزادی‬ ،‫نخست‬ .‫داشت‬ ‫خواهید‬ ‫نسخه‬ ‫توزیع‬ ‫برای‬ ‫آزادی‬ ،‫سوم‬ ‫منبع؛‬ ‫کدهای‬ ‫به‬ ‫کامل‬ ‫دسترسی‬ ‫داشتن‬ ‫با‬ ،‫دلخواه‬ ‫طور‬ ‫به‬ ‫برنامه‬ ‫در‬ ‫تغییرات‬ ‫اعمال‬ ‫فیزیکی‬ ‫کار‬ ‫ـرای‬‫ـ‬‫ب‬ ‫ـید‬‫ن‬‫ـوا‬‫ـ‬‫ت‬‌‫ی‬‫م‬ ،‫نمایید‬ ‫توزیع‬ ‫را‬ ‫گنو‬ ‫‌افزار‬‫م‬‫نر‬ ‫مجددا‬ ‫(اگر‬ .‫جامعه‬ ‫ساخت‬ ‫به‬ ‫کمک‬ ‫نهایت‬ ‫در‬ ‫و‬ ‫یافته‬ ‫بهبود‬ .)‫کنید‬ ‫هدیه‬ ‫رایگان‬ ‫طور‬ ‫به‬ ‫را‬ ‫آنها‬ ‫یا‬ ‫و‬ ‫کنید‬ ‫دریافت‬ ‫را‬ ‫مبلغی‬ ‫نسخه‬ ‫یک‬ ‫انتقال‬ ‫ـال‬‫ـ‬‫س‬ ‫در‬ .‫‌شود‬‫ی‬‫م‬ ‫نامیده‬ «‫گنو‬ ‫»پروژه‬ ،‫گنو‬ ‫سیستم‬ ‫توسعه‬ ‫پروژه‬۱۹۸۳‫روح‬ ‫بازگرداندن‬ ‫برای‬ ‫راهی‬ ‫عنوان‬ ‫به‬ ‫ـو‬‫ـ‬‫ن‬‫گ‬ ‫ـروژه‬‫ـ‬‫پ‬ ‫که‬ ‫موانع‬ ‫بردن‬ ‫بین‬ ‫از‬ ‫با‬ ‫تا‬ ‫شد‬ ‫ایجاد‬ ‫ـت‬‫ش‬‫دا‬ ‫ـود‬‫ـ‬‫ج‬‫و‬ ‫ـوتر‬‫ـ‬‫ی‬‫کامپ‬ ‫کاربران‬ ‫جامعه‬ ‫بین‬ ‫در‬ ‫نخست‬ ‫روزهای‬ ‫در‬ ‫که‬ ‫همکاری‬ .‫سازد‬ ‫ممکن‬ ‫را‬ ‫همکاری‬ ‫دیگر‬ ‫بار‬ ‫یک‬ ،‫بودند‬ ‫شده‬ ‫تحمیل‬ ‫انحصاری‬ ‫‌افزارهای‬‫م‬‫نر‬ ‫صاحبان‬ ‫توسط‬ ‫سال‬ ‫در‬۱۹۷۱‫دانشگاه‬ ‫در‬ ‫را‬ ‫خود‬ ‫کار‬ ‫استالمن‬ ‫ریچارد‬ ‫که‬ ‫هنگامی‬MIT‫آزاد‬ ‫‌افزار‬‫م‬‫نر‬ ‫از‬ ‫منحصرا‬ ‫ـه‬‫ـ‬‫ک‬ ‫ـروهی‬‫ـ‬‫گ‬ ‫در‬ ،‫کرد‬ ‫آغاز‬ ‫در‬ ‫‌نویسان‬‫ه‬‫ـرنام‬‫ـ‬‫ب‬ .‫ـردند‬‫ـ‬‫ک‬‌‫ی‬‫م‬ ‫توزیع‬ ‫آزاد‬ ‫‌افزار‬‫م‬‫نر‬ ‫اغلب‬ ‫نیز‬ ‫کامپیوتری‬ ‫‌های‬‫ت‬‫شرک‬ ‫حتی‬ .‫پرداخت‬ ‫کار‬ ‫به‬ ‫‌کردند‬‫ی‬‫م‬ ‫استفاده‬ .‫‌دادند‬‫ی‬‫م‬ ‫انجام‬ ‫را‬ ‫کار‬ ‫همین‬ ‫نیز‬ ‫اغلب‬ ‫و‬ ‫بودند‬ ‫آزاد‬ ‫یکدیگر‬ ‫با‬ ‫همکاری‬ ‫دهه‬ ‫در‬۱۹۸۰‫توسط‬ ‫همکاری‬ ‫آنها‬ ‫مالکان‬ ‫و‬ ‫داشتند‬ ‫مالک‬ ‫که‬ ‫معنی‬ ‫این‬ ‫ـه‬‫ـ‬‫ب‬ ،‫بودند‬ ‫انحصاری‬ ‫‌افزارها‬‫م‬‫نر‬ ‫تمام‬ ‫تقریبا‬ .‫‌کرد‬‫ی‬‫م‬ ‫ایجاب‬ ‫را‬ ‫گنو‬ ‫پروژه‬ ‫ضرورت‬ ‫کار‬ ‫این‬ ‫که‬ ‫‌کردند‬‫ی‬‫م‬ ‫منع‬ ‫را‬ ‫کاربزان‬ ‫حتی‬ ‫ـما‬‫ش‬ ،‫ـد‬‫ش‬‫ـا‬‫ـ‬‫ب‬ ‫ـته‬‫ش‬‫ـدا‬‫ن‬ ‫ـود‬‫ـ‬‫ج‬‫و‬ ‫آزادی‬ ‫عامل‬ ‫ـستم‬‫ی‬‫ـ‬‫س‬ ‫ـر‬‫ـ‬‫گ‬‫ا‬ ‫دارند؛‬ ‫ـاز‬‫ـ‬‫ی‬‫ن‬ ‫عامل‬ ‫سیستم‬ ‫ـک‬‫ـ‬‫ی‬ ‫به‬ ‫کامپیوتر‬ ‫کاربران‬ ‫تمام‬ ‫‌افزار‬‫م‬‫نر‬ ‫در‬ ‫ضرورت‬ ‫ـن‬‫ـ‬‫ی‬‫اول‬ ‫ـراین‬‫ـ‬‫ب‬‫ـا‬‫ـ‬‫ن‬‫ب‬ .‫کنید‬ ‫شروع‬ ‫را‬ ‫کامپیوتر‬ ‫با‬ ‫کار‬ ‫انحصاری‬ ‫‌افزارهای‬‫م‬‫نر‬ ‫از‬ ‫استفاده‬ ‫بدون‬ ‫‌توانید‬‫ی‬‫نم‬ .‫است‬ ‫آزاد‬ ‫عامل‬ ‫سیستم‬ ‫یک‬ ‫وجود‬ ،‫آزاد‬
  • 8. ‫محک‬ ‫قبال‬ ‫آن‬ ‫کلی‬ ‫ـراحی‬‫ـ‬‫ط‬ ‫زیرا‬ ‫بساند‬ ‫یونیکس‬ ‫با‬ ‫منطبق‬ ‫عاملی‬ ‫سیستم‬ ‫تا‬ ‫گرفتند‬ ‫تصمیم‬ ‫آزاد‬ ‫افزاری‬ ‫نرم‬ ‫جنبش‬ .‫‌کرد‬‫ی‬‫م‬ ‫آسان‬ ‫را‬ ‫گنو‬ ‫به‬ ‫یونیکس‬ ‫کاربران‬ ‫حرکت‬ ‫سازگاری‬ ‫این‬ ‫همچنین‬ ‫و‬ ،‫بود‬ ‫انتقال‬ ‫قابل‬ ‫و‬ ‫خورده‬ ‫‌های‬‫ه‬‫برنام‬ ،‫ـرها‬‫گ‬‫ـ‬‫ـ‬‫ش‬‫ـرای‬‫ـ‬‫ی‬‫و‬ ،‫ـلرها‬‫ی‬‫ـا‬‫ـ‬‫پ‬‫کام‬ ‫ـل‬‫ـ‬‫م‬‫ـا‬‫ـ‬‫ش‬ ‫و‬ ‫ـت؛‬‫ـ‬‫س‬‫ا‬ ‫هسته‬ ‫یک‬ ‫از‬ ‫بیشتر‬ ‫خیلی‬ ‫یونیکس‬ ‫شبه‬ ‫عامل‬ ‫سیستم‬ ‫یک‬ ‫بسیار‬ ‫کار‬ ‫کامل‬ ‫عامل‬ ‫سیستم‬ ‫یک‬ ‫نوشتن‬ ‫ـن‬‫ی‬‫بنابرا‬ .‫‌باشد‬‫ی‬‫م‬ ‫دیگر‬ ‫چیزهای‬ ‫خیلی‬ ‫و‬ ‫پستی‬ ‫‌افزارهای‬‫م‬‫نر‬ ،‫متن‬ ‫‌بندی‬‫ب‬‫قال‬ ‫ژانویه‬ ‫در‬ .‫است‬ ‫بزرگی‬۱۹۸۴‫کتبر‬‫ا‬ ‫در‬ ‫آزاد‬ ‫‌افزار‬‫م‬‫نر‬ ‫بنیاد‬ .‫انجامید‬ ‫طول‬ ‫به‬ ‫سالها‬ ‫کردند‬ ‫کار‬ ‫به‬ ‫شروع‬۱۹۸۵‫برای‬ ‫بیشتر‬ .‫شد‬ ‫تاسیس‬ ‫گنو‬ ‫توسعه‬ ‫به‬ ‫کمک‬ ‫جهت‬ ‫سرمایه‬ ‫جذب‬ ‫سال‬ ‫تا‬۱۹۹۰‫شبه‬ ‫هسته‬ ‫یک‬ ،‫لینوکس‬ ‫سپس‬ . ‫یافتند‬ ‫دست‬ ‫هسته‬ ‫ـز‬‫ـ‬‫ج‬ ‫ـه‬‫ـ‬‫ب‬ ،‫عامل‬ ‫سیستم‬ ‫اصلی‬ ‫اجزای‬ ‫تمامی‬ ‫به‬ ‫سال‬ ‫در‬ ،‫یونیکس‬۱۹۹۱‫ـال‬‫ـ‬‫س‬ ‫در‬ ‫و‬ ‫کرد‬ ‫پیدا‬ ‫توسعه‬ ‫تروالدز‬ ‫لینوس‬ ‫توسط‬۱۹۹۲‫لینوکس‬ ‫ترکیب‬ .‫شد‬ ‫آزاد‬ ‫ـزار‬‫ف‬‫‌ا‬‫م‬‫ـر‬‫ـ‬‫ن‬ ‫ـک‬‫ـ‬‫ی‬ ‫که‬ ‫‌شود‬‫ی‬‫م‬ ‫زده‬ ‫ـین‬‫ـ‬‫م‬‫تخ‬ .‫ـو/لینوکس‬‫ن‬‫گ‬ ‫سیستم‬ :‫شد‬ ‫ـامل‬‫ـ‬‫ک‬ ‫ـل‬‫ـ‬‫م‬‫عا‬ ‫سیستم‬ ‫یک‬ ‫به‬ ‫منجر‬ ‫گنو‬ ‫کامل‬ ‫تقریبا‬ ‫سیستم‬ ‫با‬ .‫‌کنند‬‫ی‬‫م‬ ‫استفاده‬ ‫ـره‬‫ی‬‫ـ‬‫غ‬ ‫و‬ ‫ـت‬‫ـ‬‫ه‬‫رد‬ ،‫ـان‬‫ـ‬‫ی‬‫دب‬ ،‫اسلکور‬ ‫ـل‬‫ـ‬‫م‬‫ـا‬‫ـ‬‫ش‬ ،‫گنو/لینوکس‬ ‫‌های‬‫م‬‫سیست‬ ‫از‬ ‫نفر‬ ‫میلیون‬ ‫‌ها‬‫ه‬‫د‬ ‫کنون‬‫‌ا‬‫م‬‫ه‬ ‫مجموعه‬ ‫یک‬ ‫تا‬ ‫دارد‬ ‫نظر‬ ‫در‬ ‫آزاد‬ ‫‌افزار‬‫م‬‫نر‬ ‫بنیاد‬ .‫است‬ ‫نشده‬ ‫محدود‬ ‫عامل‬ ‫سیستم‬ ‫یک‬ ‫به‬ ‫فقط‬ ‫گنو‬ ‫پروژه‬ ،‫حال‬ ‫این‬ ‫با‬ ‫ـل‬‫ـ‬‫م‬‫ـا‬‫ـ‬‫ش‬ ‫ـوع‬‫ـ‬‫ض‬‫ـو‬‫ـ‬‫م‬ ‫ـن‬‫ـ‬‫ی‬‫ا‬ .‫باشند‬ ‫داشته‬ ‫‌خواهند‬‫ی‬‫م‬ ‫ـران‬‫ـ‬‫ب‬‫کار‬ ‫از‬ ‫بسیاری‬ ‫که‬ ‫آنچه‬ ‫هر‬ ، ‫کند‬ ‫ایجاد‬ ‫را‬ ‫‌افزارها‬‫م‬‫نر‬ ‫از‬ ‫کامل‬ .‫‌شود‬‫ی‬‫م‬ ‫نیز‬ ‫کاربردی‬ ‫‌افزارهای‬‫م‬‫ـر‬‫ن‬ ‫همین‬ ‫به‬ ‫کنند‬ ‫تهیه‬ ‫‌افزار‬‫م‬‫نر‬ ‫نیز‬ ‫ندارند‬ ‫مهارت‬ ‫ـوتر‬‫ی‬‫کامپ‬ ‫زمینه‬ ‫در‬ ‫که‬ ‫کاربرانی‬ ‫برای‬ ‫دارد‬ ‫قصد‬ ‫همچنین‬ ‫آزاد‬ ‫‌افزار‬‫م‬‫نر‬ ‫بنیاد‬ .‫کرد‬ ‫ایجاد‬ ،‫گنو‬ ‫سیستم‬ ‫از‬ ‫استفاده‬ ‫در‬ ‫‌کار‬‫ه‬‫تاز‬ ‫کاربران‬ ‫به‬ ‫کمک‬ ‫منظور‬ ‫به‬ ‫گرافیکی‬ ‫کار‬ ‫میز‬ ‫یک‬ ‫آزاد‬ ‫‌افزار‬‫م‬‫نر‬ ‫بنیاد‬ ‫جهت‬ ‫در‬ ‫کنون‬‫‌ا‬‫م‬‫ه‬ ‫آزاد‬ ‫بازی‬ ‫تعدادی‬ .‫کند‬ ‫ایجاد‬ ‫نیز‬ ‫ـری‬‫ـ‬‫گ‬‫دی‬ ‫تفریح‬ ‫ابزارهای‬ ‫و‬ ‫‌ها‬‫ی‬‫باز‬ ‫ـواهد‬‫ـ‬‫خ‬‌‫ی‬‫م‬ ‫همچنین‬ ‫آزاد‬ ‫‌افزار‬‫م‬‫نر‬ ‫بنیاد‬ ‫مانند‬ ‫قوانینی‬ ‫که‬ ‫زمانی‬ ‫جز‬ ‫ـه‬‫ب‬ ،‫ـدارد‬‫ن‬ ‫ـود‬‫ـ‬‫ج‬‫و‬ ‫محدودیتی‬ ‫هیچ‬ ‫برود؟‬ ‫پیش‬ ‫‌تواند‬‫ی‬‫م‬ ‫کجا‬ ‫تا‬ ‫آزاد‬ ‫‌افزار‬‫م‬‫نر‬ .‫است‬ ‫دسترس‬ ‫تمام‬ ‫انجام‬ ‫برای‬ ‫آزاد‬ ‫‌افزارهای‬‫م‬‫نر‬ ‫کردن‬ ‫فراهم‬ ‫ـایی‬‫ه‬‫ـ‬‫ـ‬‫ن‬ ‫ـدف‬‫ـ‬‫ه‬ .‫ـد‬‫ـ‬‫ن‬‫کن‬ ‫منع‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫را‬ ‫گنو‬ ‫‌افزار‬‫م‬‫نر‬ ،‫انحصاری‬ ‫سیستم‬ .‫‌باشد‬‫ی‬‫م‬ ‫انحصاری‬ ‫‌افزارهای‬‫م‬‫نر‬ ‫کردن‬ ‫مطرود‬ ‫نتیجه‬ ‫در‬ ‫و‬ ‫دهند‬ ‫انجام‬ ‫‌خواهند‬‫ی‬‫م‬ ‫کامپیوتر‬ ‫کاربران‬ ‫که‬ ‫کارهایی‬
  • 9. ‫باز‬ ‫متن‬ ‫افزار‬ ‫نرم‬ Open Source Software
  • 10. ‫مقدمه‬ ‫کوسیستم‬‫ا‬ ‫در‬ ‫‌گذاران‬‫ه‬‫سرمای‬ ‫اقتصادی‬ ‫رفتار‬ ‫بر‬ ‫که‬ ‫‌ای‬‫ه‬‫مالحظ‬ ‫قابل‬ ‫تأثیر‬ ‫با‬ ‫‌باز‬‫ن‬‫مت‬ ‫افزار‬ ‫نرم‬ ‫‌کنند‬‫ی‬‫م‬ ‫سعی‬ ‫‌دهنگان‬‫ه‬‫توسع‬ ‫تازه‬ ‫محیط‬ ‫این‬ ‫در‬ .‫است‬ ‫داده‬ ‫تغییر‬ ‫را‬ ‫بازی‬ ‫قواعد‬ ‫گذاشته‬ ‫‌افزار‬‫م‬‫نر‬ ‫فروشندگان‬ ‫و‬ ‫‌کنند‬‫ی‬‫م‬ ‫حس‬ ‫را‬ ‫‌باز‬‫ن‬‫مت‬ ‫محصوالت‬ ‫تولید‬ ‫فشار‬ ‫شرکتها‬ ،‫باشند‬ ‫کد‬ ‫کننده‬ ‫اعمال‬ .‫‌کشند‬‫ی‬‫م‬ ‫را‬ ‫سرشاری‬ ‫سود‬ ‫انتظار‬ ‫سیستم‬
  • 11. ۱‫معرفی‬ . ‫اتفاق‬ ‫این‬ .‫است‬ ‫آورده‬ ‫بار‬ ‫به‬ ‫کاربران‬ ‫برای‬ ‫ارزانتر‬ ‫‌افزار‬‫م‬‫نر‬ ‫از‬ ‫بیش‬ ‫چیزی‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌افزار‬‫م‬‫نر‬ ‫ظهور‬ .‫است‬ ‫کرده‬ ‫ایجاد‬ ‫‌افزار‬‫م‬‫نر‬ ‫حوزه‬ ‫بازیگران‬ ‫بین‬ ‫اقتصادی‬ ‫انفعال‬ ‫و‬ ‫فعل‬ ‫در‬ ‫عمده‬ ‫تغییراتی‬ - ‫زندگی‬ ‫از‬ ‫سبکی‬ ‫حتی‬ ‫یا‬ - ‫‌افزار‬‫م‬‫نر‬ ‫توسعه‬ ‫به‬ ‫ویژه‬ ‫نگاهی‬ ‫تجسم‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌افزار‬‫م‬‫نر‬ ‫‌ها‬‫ی‬‫خیل‬ ‫برای‬ ‫که‬ ‫است‬ ‫این‬ ‫گابریل‬ ‫ریچارد‬ ‫و‬ ‫گلدمن‬ ‫ران‬ ‫پیشنهاد‬ .‫هست‬ ‫هم‬ ‫تجاری‬ ‫تدبیر‬ ‫نوعی‬ ‫معنای‬ ‫به‬ ‫اما‬ ‫است‬ ‫اطراف‬ ‫زنده‬ ‫محیطی‬ ‫و‬ ‫کنند‬ ‫استفاده‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌افزار‬‫م‬‫نر‬ ‫از‬ ‫کاربرانشان‬ ‫جامعه‬ ‫رشد‬ ‫برای‬ ‫باید‬ ‫شرکتها‬ .‫نمایند‬ ‫ایجاد‬ ‫خدماتشان‬ ‫و‬ ‫محصوالت‬ ‫کاربر‬ ‫احتیاجات‬ ‫با‬ ‫آن‬ ‫دادن‬ ‫تطبیق‬ ‫برای‬ ‫که‬ ‫را‬ ‫کد‬ ‫متن‬ ‫و‬ ‫است‬ ‫رایگان‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌افزار‬‫م‬‫نر‬ ‫معمول‬ ‫بطور‬ ‫بعالوه‬ ‫‌افزار‬‫م‬‫نر‬ ‫بازپخش‬ ‫اجازه‬ ‫کاربر‬ ‫به‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌های‬‫ه‬‫پروان‬ ‫اغلب‬ .‫دارد‬ ‫همراه‬ ‫به‬ ‫است‬ ‫نیاز‬ ‫مورد‬ ‫کد‬ ‫متن‬ ‫تغییرات‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫‌دهند‬‫ی‬‫م‬ ‫بازپخش‬ ‫برای‬ ‫مبلغی‬ ‫دریافت‬ ‫ازای‬ ‫در‬ ‫را‬ ‫ممکن‬ ‫تغییرات‬ ( ‫باشد‬ ‫دسترس‬ ‫در‬ ‫عمومی‬ ‫بصورت‬www.opensource.org.) ‫بجای‬ .‫‌دهد‬‫ی‬‫م‬ ‫توسعه‬ ‫جامعه‬ ‫که‬ ‫است‬ ‫‌افزاری‬‫م‬‫نر‬ ‫جمعی‬ ‫‌باز‬‫ن‬‫مت‬ .‫دارد‬ ‫وجود‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌افزار‬‫م‬‫نر‬ ‫نوع‬ ‫دو‬ ‫تصمیم‬ ‫داوطلبان‬ ‫از‬ ‫برگزیده‬ ‫گروهی‬ ‫گاهی‬ ‫باشد‬ ‫‌افزار‬‫م‬‫نر‬ ‫مالک‬ ‫حقوقی‬ ‫شخصیت‬ ‫یک‬ ‫اینکه‬ ‫و‬ ‫شوند‬ ‫پذیرفته‬ ‫اصلی‬ ‫کد‬ ‫متن‬ ‫به‬ ‫ورود‬ ‫برای‬ ‫شده‬ ‫اعمال‬ ‫همکاریهای‬ ‫از‬ ‫یک‬ ‫کدام‬ ‫که‬ ‫‌گیرند‬‫ی‬‫م‬ ‫بخصوص‬ ‫شرکت‬ ‫یک‬ ‫نه‬ ‫و‬ ‫کد‬ ‫کنندگان‬ ‫اعمال‬ ،‫شخصی‬ ‫‌دهندگان‬‫ه‬‫توسع‬ .‫برود‬ ‫سو‬ ‫کدام‬ ‫به‬ ‫‌افزار‬‫م‬‫نر‬ ( ‫آپاچی‬ ‫وب‬ ‫سرور‬ ‫مورد‬ ‫مانند‬ ‫‌گیرند‬‫ی‬‫م‬ ‫تصمیم‬ ‫‌افزار‬‫م‬‫نر‬ ‫درباره‬httpd.apache.org.) ‫شرکت‬ .‫است‬ ‫آن‬ ‫‌دهنده‬‫ه‬‫توسع‬ ‫و‬ ‫مالک‬ ،‫سود‬ ‫پی‬ ‫در‬ ‫شخصیتی‬ ‫که‬ ‫است‬ ‫‌افزاری‬‫م‬‫نر‬ ‫تجاری‬ ‫‌باز‬‫ن‬‫مت‬ ‫در‬ ‫و‬ ‫بپذیرد‬ ‫اصلی‬ ‫کد‬ ‫متن‬ ‫به‬ ‫ورود‬ ‫برای‬ ‫را‬ ‫کد‬ ‫کدام‬ ‫که‬ ‫‌کند‬‫ی‬‫م‬ ‫تعیین‬ ‫و‬ ‫دارد‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫تالیف‬ ‫حق‬ ‫مورد‬ ‫مانند‬ ‫دهد‬ ‫انجام‬ ‫کاری‬ ‫چه‬ ‫آینده‬MySQL‫داده‬ ‫پایگاه‬ ‫و‬MySQL (www.mysql.com). ‫اقتصاد‬ ‫بر‬ ‫اغلب‬ ‫جامعه‬ ‫بوسیله‬ ‫شده‬ ‫داده‬ ‫توسعه‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌افزار‬‫م‬‫نر‬ ‫اقتصاد‬ ‫درباره‬ ‫پیشین‬ ‫مطالعات‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌افزار‬‫م‬‫نر‬ ‫به‬ ‫‌آوری‬‫ب‬‫تعج‬ ‫فراوان‬ ‫داوطلبانه‬ ‫کار‬ ‫میزان‬ ‫آن‬ ‫در‬ ‫که‬ ‫است‬ ‫متمرکز‬ ‫کار‬ ‫نیروی‬ ‫از‬ ‫ناشی‬ ‫شخصی‬ ‫لذت‬ ‫بخاطر‬ ‫‌دهندگان‬‫ه‬‫توسع‬ ‫که‬ ‫‌کند‬‫ی‬‫م‬ ‫اشاره‬ ‫ریموند‬ ‫اریک‬ .‫‌یابد‬‫ی‬‫م‬ ‫تخصیص‬
  • 12. ‫در‬ ‫همکارانش‬ ‫و‬ ‫هارووی‬ ‫ارنان‬ ‫‌کنند‬‫ی‬‫م‬ ‫کمک‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌های‬‫ه‬‫پروژ‬ ‫به‬ ‫همتایانشان‬ ‫بین‬ ‫اعتبار‬ ‫افزایش‬ . ‫رسیدند‬ ‫مشابهی‬ ‫نتیجه‬ ‫به‬ ‫نیز‬ ‫خود‬ ‫تجربی‬ ‫مطالعه‬ ‫و‬ ‫فنی‬ ‫تواناییهای‬ ‫کردن‬ ‫مستند‬ ‫برای‬ ‫‌دهندگان‬‫ه‬‫توسع‬ ‫که‬ ‫‌کنند‬‫ی‬‫م‬ ‫استدالل‬ ‫تیروله‬ ‫جین‬ ،‫لرنرو‬ ‫جاشوا‬ ‫الخانیو‬ ‫کریم‬ ‫و‬ ‫‌کنند‬‫ی‬‫م‬ ‫کمک‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌های‬‫ه‬‫پروژ‬ ‫به‬ ‫آتی‬ ‫کارفرمایان‬ ‫برای‬ ‫شغلی‬ ‫‌انداز‬‫م‬‫چش‬ ‫بهبود‬ ‫به‬ ‫‌دهندگان‬‫ه‬‫توسع‬ ‫کمک‬ ‫برای‬ ‫مهمی‬ ‫ذاتی‬ ‫محرک‬ ‫کار‬ ‫از‬ ‫بردن‬ ‫لذت‬ ‫که‬ ‫‌کنند‬‫ی‬‫م‬ ‫گزارش‬ ‫گلف‬ ‫رابرت‬ .‫‌اند‬‫م‬‫مه‬ ‫هم‬ ‫مالی‬ ‫‌های‬‫ه‬‫انگیز‬ ‫که‬ ‫‌دهد‬‫ی‬‫م‬ ‫نشان‬ ‫مطالعه‬ ‫این‬ ‫گرچه‬ ‫است‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌های‬‫ه‬‫پروژ‬ ‫چرا‬ ‫که‬ ‫‌دهد‬‫ی‬‫نم‬ ‫شرح‬ ‫را‬ ‫این‬ ‫اما‬ ‫است‬ ‫داوطلبانه‬ ‫کار‬ ‫برای‬ ‫توضیحات‬ ‫از‬ ‫‌ای‬‫ه‬‫پار‬ ‫اینها‬ ‫که‬ ‫حالی‬ ‫در‬ ‫کمک‬ ‫‌باز‬‫ن‬‫مت‬ ‫‌افزار‬‫م‬‫نر‬ ‫‌های‬‫ه‬‫پروژ‬ ‫به‬ ‫شرکت‬ ‫کاری‬ ‫زمان‬ ‫در‬ ‫که‬ ‫‌کنند‬‫ی‬‫م‬ ‫استخدام‬ ‫را‬ ‫اشخاصی‬ ‫شرکتها‬ ‫آپاچی‬ ‫افزار‬ ‫نرم‬ ‫بنیاد‬ ‫پروژه‬ ‫به‬ ‫که‬ ‫کسانی‬ ‫حقوق‬ ‫که‬ ‫دریافتند‬ ‫همکارانش‬ ‫و‬ ‫هان‬ ‫هورن‬ ‫ایل‬ .‫‌کنند‬‫ی‬‫م‬ ‫که‬ ‫گرفتند‬ ‫نتیجه‬ ‫محققین‬ ‫پس‬ .‫دارد‬ ‫آپاچی‬ ‫تشکیالت‬ ‫در‬ ‫آنها‬ ‫رتبه‬ ‫با‬ ‫مستقیمی‬ ‫رابطه‬ ‫‌کنند‬‫ی‬‫م‬ ‫کمک‬ ‫بکار‬ ‫مولد‬ ‫‌های‬‫ی‬‫توانای‬ ‫سنجش‬ ‫برای‬ ‫معیاری‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫بنیاد‬ ‫در‬ ‫‌دهندگان‬‫ه‬‫توسع‬ ‫رتبه‬ ‫کارفرمایان‬ .‫‌گیرند‬‫ی‬‫م‬
  • 13. ‫د‬: ‫چیست‬ ‫واپس‬ ‫سیس‬ ‫ساالنه‬ ‫همایش‬ ‫در‬ ‫که‬ ‫هاست‬ ‫ادمین‬ ‫سیس‬ ‫راه‬ ‫ادامه‬ ‫دواپس‬ ‫واقع‬ ‫در‬ : ‫شد‬ ‫شروع‬ ‫کجا‬ ‫از‬ ‫دواپس‬ ‫فاصله‬ ‫این‬ ‫تا‬ ‫باشد‬ ‫هم‬ ‫کنار‬ ‫در‬ ‫باهم‬ ‫عملیات‬ ‫و‬ ‫توسعه‬ ‫میتوان‬ ‫چطور‬ ‫که‬ . ‫شد‬ ‫معرفی‬ ‫کانسپت‬ ‫این‬ ‫ها‬ ‫ادمین‬ . ‫شود‬ ‫حل‬ ‫ر‬‫داشتند‬ ‫وجود‬ ‫تیم‬ ‫دو‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫ها‬ ‫شرکت‬ ‫در‬ ‫وزگاری‬ ‫ها‬ ‫آن‬ ‫از‬ ‫یکی‬ ،‫نبودند‬ ‫دوست‬ ‫یکدیگر‬ ‫با‬ ‫که‬Dev ‫دیگری‬ ‫آن‬ ‫و‬ ‫توسعه‬ ‫تیم‬ ‫یا‬Ops‫بود‬ ‫عملیات‬ ‫تیم‬ ‫یا‬.‫یکسان‬ ‫مدیریتی‬ ‫فرمان‬ ‫تحت‬ ‫واحد‬ ‫یک‬ ‫در‬ ‫ظاهر‬ ‫به‬ ‫شاید‬
  • 14. ‫پروژه‬ ‫روی‬ ‫بر‬(‫های‬)‫بود‬ ‫متضاد‬ ‫کامال‬ ‫آنها‬ ‫اهداف‬ ‫ولی‬ ‫کردند‬ ‫می‬ ‫کار‬ ‫مشترک‬.‫ساخت‬ ‫توسعه‬ ‫تیم‬ ‫هدف‬ ‫عملیات‬ ‫تیم‬ ‫ولی‬ ‫بود‬ ‫محصول‬ ‫روی‬ ‫بر‬ ‫زیاد‬ ‫تغییرات‬ ‫و‬ ‫جدید‬ ‫های‬ ‫ویژگی‬ ‫داشتن‬ ‫نگه‬ ‫ثابت‬ ‫و‬ ‫پایداری‬ ‫بدنبال‬ ‫های‬ ‫سرویس‬ ‫وضعیت‬. ‫بود‬ ‫موجود‬ ‫می‬ ‫وجود‬ ‫به‬ )‫مرئی‬ ‫دیوارهای‬ ‫ایران‬ ‫در‬ ‫ما‬ ‫تجربه‬ ‫در‬ ‫گاها‬ ‫(و‬ ‫نامرئی‬ ‫دیوار‬ ‫یک‬ ‫تیم‬ ‫دو‬ ‫این‬ ‫مابین‬ ‫همین‬ ‫برای‬ ‫مفهوم‬ .‫آمد‬DevOps‫افزایش‬ ‫و‬ ،‫ها‬ ‫تیم‬ )‫نامرئی‬ ‫یا‬ ‫(مرئی‬ ‫مابین‬ ‫دیوار‬ ‫بردن‬ ‫بین‬ ‫از‬ ‫با‬ ‫که‬ ‫است‬ ‫این‬ ‫بدنبال‬ .‫شود‬ ‫مشتری‬ ‫به‬ ‫ارزش‬ ‫تحویل‬ ‫سرعت‬ ‫افزایش‬ ‫موجب‬ ،‫نفرات‬ ‫تعامل‬ ،‫ساده‬ ‫خیلی‬ ‫پس‬DevOps ‫فرآیندی‬ ‫تحویل‬ ‫برای‬ ‫است‬ ‫تحویل‬ ‫فرآیند‬ ‫در‬ ‫کندی‬ ‫باعث‬ ‫که‬ ‫مشکل‬ ‫نوع‬ ‫هر‬ ‫بردن‬ ‫بین‬ ‫از‬ ‫و‬ ‫مشتری‬ ‫به‬ ‫ارزش‬ ‫سریع‬ .‫شود‬ ‫ارزش‬  ‫شد؟‬ ‫مهم‬ ‫چرا‬ ‫مفهوم‬ ‫این‬ ‫با‬ ‫بحث‬ ‫شدن‬ ‫جدی‬Cloud‫حرکت‬ ‫و‬ ‫ا‬ ‫چابک‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫سمت‬ ‫به‬ ‫ها‬ ‫تیم‬(‫ها‬ ‫سرویس‬ ‫روش‬ ‫این‬ ‫در‬ ‫ینکه‬ ‫رفت‬ ‫پیش‬ ‫آنها‬ ‫نظرات‬ ‫اساس‬ ‫بر‬ ‫تغییر‬ ‫و‬ ‫مشتریان‬ ‫با‬ ‫همیشگی‬ ‫تعامل‬ ‫و‬ ‫بودن‬ ‫زنده‬ ‫سمت‬ ‫به‬)‫بر‬ ‫نیاز‬ ‫دائما‬ ، ‫بگیرد‬ ‫قرار‬ ‫مشتریان‬ ‫دسترس‬ ‫در‬ ‫محصول‬ ‫جدید‬ ‫های‬ ‫نسخه‬ ‫که‬ ‫داشتیم‬ ‫این‬.‫مابین‬ ‫ضعیف‬ ‫ارتباط‬ ‫های‬ ‫تیم‬
  • 15. ‫عملیات‬ ،‫کیفیت‬ ‫تضمین‬ ‫بار‬ ‫هر‬ ‫و‬ ‫باشد‬ ‫بر‬ ‫زمان‬ ‫تحویل‬ ‫و‬ ‫انتشار‬ ،‫تست‬ ‫فرآیند‬ ‫شد‬ ‫می‬ ‫باعث‬ ،‫توسعه‬ ‫تیم‬ ‫و‬ ‫شد‬ ‫می‬ ‫مشاهده‬ ‫مشکلی‬ ‫هر‬ ‫کردند‬ ‫می‬ ‫محکوم‬ ‫و‬ ‫سرزنش‬ ‫را‬ ‫همدیگر‬ ‫ها‬ ‫تیم‬ ‫این‬. ‫مفهوم‬ ‫در‬DevOps‫اتوماتیک‬ ‫البته‬ ‫و‬ ‫بهتر‬ ‫همکاری‬ ‫و‬ ‫تعامل‬ ‫با‬ ‫و‬ ‫شوند‬ ‫تر‬ ‫نزدیک‬ ‫هم‬ ‫به‬ ‫ها‬ ‫تیم‬ ‫این‬ ‫کنیم‬ ‫می‬ ‫سعی‬ ‫ما‬ ‫نشود‬ ‫کندی‬ ‫یا‬ ‫مشکل‬ ‫دچار‬ ‫مشتری‬ ‫به‬ ‫ارزش‬ ‫تحویل‬ ،‫تکراری‬ ‫های‬ ‫روال‬ ‫از‬ ‫بسیاری‬ ‫کردن‬. ‫مورد‬ ‫در‬ ‫ها‬ ‫فهمی‬ ‫کج‬DevOps ‫و‬ ‫نیست‬ ‫ایران‬ ‫در‬ ‫فقط‬ ‫این‬ ‫البته‬ ‫و‬ ،‫دارد‬ ‫وجود‬ ‫مورد‬ ‫این‬ ‫در‬ ‫زیادی‬ ‫های‬ ‫فهمی‬ ‫کج‬ ،‫مفهوم‬ ‫این‬ ‫بودن‬ ‫جدید‬ ‫به‬ ‫توجه‬ ‫با‬ ‫ندارند‬ ‫درستی‬ ‫درک‬ ‫مورد‬ ‫این‬ ‫در‬ ‫نیز‬ ‫ها‬ ‫خارجی‬ ‫برخی‬. DevOps‫فقط‬ Continuous Delivery‫نیست‬ ‫کنند‬ ‫می‬ ‫فکر‬ ‫دوستان‬ ‫از‬ ‫خیلی‬DevOps‫همان‬ Continuous Delivery‫است‬.‫ابزار‬ ‫در‬ ‫ما‬ ‫اینکه‬ ‫یعنی‬TFS‫یا‬Gitlab‫یا‬ Jenkins‫و‬‫یک‬CI‫عملیات‬ ‫و‬ ‫بیاندازیم‬ ‫راه‬ Deployment‫ما‬ ‫پس‬ ،‫کنیم‬ ‫اتوماتیک‬ ‫را‬DevOps‫هستم‬.‫از‬ ‫بعضی‬ ‫در‬ ‫حتی‬ ‫مهندس‬ ‫عنوان‬ ‫با‬ ‫جاها‬DevOps‫ابزار‬ ‫که‬ ‫هستند‬ ‫کسی‬ ‫دنبال‬ ‫فقط‬ ‫شغل‬ ‫شرح‬ ‫در‬ ‫که‬ ‫زنند‬ ‫می‬ ‫استخدام‬ ‫آگهی‬CI‫را‬ ‫کنند‬ ‫پیکربندی‬. ‫از‬ ‫بخشی‬ ‫فقط‬ ،‫مشتری‬ ‫بار‬ ‫تحت‬ ‫سرورهای‬ ‫یا‬ ‫تست‬ ‫سرورهای‬ ‫به‬ ‫محصول‬ ‫انتشار‬ ‫یا‬ ‫تحویل‬ ‫روال‬ ‫کردن‬ ‫اتوماتیک‬ ‫کلی‬ ‫چارچوب‬DevOps‫است‬. DevOps‫تیم‬ ‫یک‬ ‫نیست‬
  • 16. ‫که‬ ‫کنند‬ ‫می‬ ‫فکر‬ ‫نفرات‬ ‫بعضی‬DevOps‫یک‬ ‫یعنی‬ ‫عملیات‬ ‫های‬ ‫بچه‬ ‫و‬ ‫نویسان‬ ‫برنامه‬ ‫از‬ ‫متشکل‬ ‫تیم‬.‫این‬ ‫ساخت‬ ‫خود‬ ‫مفهوم‬ ‫تیم‬DevOps‫این‬ ‫سازمان‬ ‫از‬ ‫بسیاری‬ ‫در‬ ‫شاید‬ ‫و‬ ‫باشد‬ ‫فرآیند‬ ‫این‬ ‫به‬ ‫رسیدن‬ ‫برای‬ ‫روش‬ ‫یک‬ ‫شاید‬ ‫ولی‬ ‫نیست‬ ‫باشد‬ ‫نارکارآمد‬ ‫روش‬. ‫چارچوب‬CALMS CALMS‫فرآیند‬ ‫به‬ ‫رسیدن‬ ‫برای‬ ‫راهنما‬ ‫چارچوب‬ ‫یک‬Devops‫است‬: Culture ،‫شد‬ ‫گفته‬ ‫که‬ ‫همانطور‬DevOps ‫سازی‬ ‫پیاده‬ ‫را‬ ‫آن‬ ‫که‬ ‫نیست‬ ‫خاصی‬ ‫چیز‬ ‫دقیقا‬ ‫یعنی‬ ،‫است‬ ‫فرهنگی‬ ‫مفهوم‬ ‫یک‬ ‫بیشتر‬ ‫کنید‬.‫آنها‬ ‫متضاد‬ ‫اهداف‬ ‫و‬ ‫باشند‬ ‫داشته‬ ‫هم‬ ‫با‬ ‫خوبی‬ ‫تعامل‬ ‫آنها‬ ‫تا‬ ‫شود‬ ‫شکسته‬ ‫ها‬ ‫تیم‬ ‫و‬ ‫افراد‬ ‫بین‬ ‫دیوار‬ ‫تا‬ ‫داریم‬ ‫نیاز‬ ‫شود‬ ‫مشترک‬ ‫اهداف‬ ‫به‬ ‫تبدیل‬. Automation ‫مفاهیم‬ ‫دقیقا‬ ‫اینجا‬ ‫در‬ Continuous Delivery – Continuous Integration – Continuous  Deployment‫می‬ ‫مطرح‬ ‫فرآیندهای‬ ‫ما‬ ‫کنید‬ ‫ادعا‬ ‫شما‬ ‫ندارد‬ ‫امکان‬ ،‫شود‬ DevOps‫مثال‬ ‫ابزارهای‬ ‫از‬ ‫ولی‬ ‫داریم‬ ‫را‬CI‫همه‬ ‫و‬ ‫کنیم‬ ‫نمی‬ ‫استفاده‬ ‫شود‬ ‫می‬ ‫انجام‬ ‫دستی‬ ‫را‬ ‫کارها‬.‫است‬ ‫زیاد‬ ‫آنها‬ ‫در‬ ‫انسانی‬ ‫خطای‬ ‫امکان‬ ‫و‬ ‫هستند‬ ‫کند‬ ‫دستی‬ ‫فرآیندهای‬.‫تا‬ ‫همین‬ ‫برای‬ ‫محصول‬ ‫تحویل‬ ‫فرآیند‬ ‫تمام‬ ‫باید‬ ‫دارد‬ ‫امکان‬ ‫که‬ ‫آنجایی‬(‫واقعی‬ ‫مشتری‬ ‫تا‬ ‫ها‬ ‫نویس‬ ‫برنامه‬ ‫کامپیوتر‬ ‫از‬)‫شده‬ ‫اتوماتیک‬ ‫باشند‬. Lean ‫است‬ ‫شده‬ ‫اشاره‬ ‫آن‬ ‫به‬ ‫کامال‬ ‫اینجا‬ ‫در‬ ‫که‬ ‫افزار‬ ‫نرم‬ ‫ناب‬ ‫تولید‬ ‫اصلی‬ ‫اصول‬ ‫بر‬ ‫تکیه‬.‫بین‬ ‫از‬ ،‫تفکر‬ ‫این‬ ‫اصلی‬ ‫اصول‬ ‫از‬ ‫یکی‬ ‫است‬ ‫زاید‬ ‫کارهای‬ ‫و‬ ‫فرآیندها‬ ‫تمامی‬ ‫بردن‬.‫شوند‬ ‫حذف‬ ‫باید‬ ‫کنند‬ ‫نمی‬ ‫ارزش‬ ‫تولید‬ ‫که‬ ‫فعالیتی‬ ،‫فرآیند‬ ،‫ویژگی‬ ‫هر‬ ‫یعنی‬. ‫دارد‬ ‫تاکید‬ ‫ارزشمندی‬ ‫غیر‬ ‫فعالیت‬ ‫نوع‬ ‫هر‬ ‫کاهش‬ ‫و‬ ‫ها‬ ‫فعالیت‬ ‫بودن‬ ‫محور‬ ‫ارزش‬ ‫بر‬ ‫ناب‬. ‫کم‬ ،‫کاری‬ ‫دوباره‬ ‫کردن‬ ‫کم‬ ،‫دارد‬ ‫نیاز‬ ‫واقعا‬ ‫مشتری‬ ‫که‬ ‫هایی‬ ‫ویژگی‬ ‫توسعه‬ ،‫توسعه‬ ‫های‬ ‫تیم‬ ‫بودن‬ ‫کوچک‬ ،‫مثال‬ ‫برای‬ ‫کردن‬Task Switch… ‫و‬. Measurement
  • 17. ‫برویم‬ ‫خواهیم‬ ‫می‬ ‫کجا‬ ‫که‬ ‫دانست‬ ‫نخواهیم‬ ،‫هستیم‬ ‫کجا‬ ‫ندانیم‬ ‫زمانیکه‬ ‫تا‬. ،‫بهتر‬ ‫گیری‬ ‫تصمیم‬ ‫و‬ ‫شفافیت‬ ‫ایجاد‬ ‫برای‬ ،‫داریم‬ ‫سطوح‬ ‫کلیه‬ ‫در‬ ‫شفافیت‬ ‫به‬ ‫نیاز‬ ،‫منظم‬ ‫و‬ ‫خوب‬ ‫فرآیند‬ ‫یک‬ ‫ایجاد‬ ‫برای‬ ‫کنیم‬ ‫ارزیابی‬ ‫را‬ ‫موجود‬ ‫وضعیت‬ ‫بتوانیم‬ ‫تا‬ ‫داریم‬ ‫نیاز‬.‫چنین‬ ‫به‬ ‫سرویسی‬ ‫نوع‬ ‫برای‬ ‫افزار‬ ‫نرم‬ ‫سطح‬ ‫هر‬ ‫در‬ ‫معموال‬ ‫است‬ ‫نیاز‬ ‫هایی‬ ‫مانیتورینگ‬: •Infrastructure Monitoring •Log Management •Application and Performance Management ‫گاها‬ ،‫نیست‬ ‫کافی‬ ‫ارزش‬ ‫کردن‬ ‫کثری‬‫حدا‬ ‫برای‬ ‫هایی‬ ‫گیری‬ ‫اندازه‬ ‫چنین‬ ‫فقط‬ ‫اما‬ ‫است‬ ‫نیاز‬ ‫میزان‬ ،‫مشتریان‬ ‫تبدیل‬ ‫نرخ‬ ‫کثری‬‫حدا‬ ‫در‬ ‫که‬ ‫معیاری‬ ‫و‬ ‫متر‬ ‫هر‬ ‫و‬ ‫نسخه‬ ‫هر‬ ‫تحویل‬ ‫میانگین‬ ‫سرعت‬ ،‫نسخه‬ ‫هر‬ ‫های‬ ‫باگ‬ ‫تعداد‬ ، ‫ویژگی‬ ‫هر‬ ‫از‬ ‫استفاده‬ ‫بدانیم‬ ‫را‬ ‫کنند‬ ‫می‬ ‫کمک‬ ‫ما‬ ‫به‬ ‫ارزش‬ ‫کردن‬. Sharing ‫است‬ ‫یادگرفته‬ ‫های‬ ‫درس‬ ‫گزاری‬ ‫ک‬‫اشترا‬ ‫مورد‬ ‫در‬ ‫مفهوم‬ ‫این‬.‫گرفتیم؟‬ ‫درسی‬ ‫چه‬ ‫مانتیتورینگ‬ ‫و‬ ‫ها‬ ‫گیری‬ ‫اندازه‬ ‫از‬ ‫ما‬ ‫تکرار‬ ‫مکررا‬ ‫اشتباهات‬ ، ‫نشوند‬ ‫پخش‬ ‫تیم‬ ‫اعضای‬ ‫بین‬ ‫ها‬ ‫درس‬ ‫این‬ ‫شد‬ ‫می‬ ‫باعث‬ ‫تیم‬ ‫اعضای‬ ‫مابین‬ ‫دیوار‬ ‫وجود‬ ‫پیشتر‬ ‫رفت‬ ‫می‬ ‫پیش‬ ‫زدن‬ ‫غر‬ ‫با‬ ‫صرفا‬ ‫کارها‬ ‫و‬ ‫میشد‬. … ‫و‬ ‫دهیم‬ ‫انجام‬ ‫پیشگیرانه‬ ‫اقدامات‬ ‫یا‬ ،‫نکنیم‬ ‫تکرار‬ ‫را‬ ‫اشتباهات‬ ‫دیگر‬ ‫که‬ ‫بگیریم‬ ‫درس‬ ‫اینکه‬.
  • 18. ‫کاربرد‬DevOps‫کجاست؟‬ ‫و‬ ‫کند‬ ‫می‬ ‫تغییر‬ ‫بازار‬ ‫بازخورد‬ ‫یا‬ ‫مشتری‬ ‫نظرات‬ ‫اساس‬ ‫بر‬ ‫دائم‬ ‫که‬ ‫کنید‬ ‫می‬ ‫تولید‬ ‫محصولی‬ ‫یا‬ ‫سرویس‬ ‫یک‬ ‫شما‬ ‫اگر‬ ‫پس‬ ،‫است‬ ‫مشتری‬ ‫به‬ ‫خوب‬ ‫سرویس‬ ‫ارائه‬ ‫شما‬ ‫رقابتی‬ ‫مزیت‬ ‫کنید‬ ‫می‬ ‫فکر‬ ‫و‬ ‫شود‬ ‫می‬ ‫اضافه‬ ‫آن‬ ‫به‬ ‫جدید‬ ‫های‬ ‫ویژگی‬ ‫باشید‬ ‫مفهوم‬ ‫این‬ ‫بدنبال‬ ‫باید‬ ‫احتماال‬.‫خیلی‬ ‫های‬ ‫تکنولوژی‬ ‫با‬ ‫هایی‬ ‫سرویس‬ ‫که‬ ‫هستید‬ ‫هایی‬ ‫سازمان‬ ‫در‬ ‫اگر‬ ‫معموال‬ ‫اما‬ ‫نمی‬ ‫را‬ ‫شما‬ ‫به‬ ‫شدن‬ ‫اتوماتیک‬ ‫اجازه‬ ‫سازمانی‬ ‫های‬ ‫روال‬ ‫و‬ ‫شود‬ ‫می‬ ‫انجام‬ ‫دستی‬ ‫چیز‬ ‫همه‬ ‫اصوال‬ ‫و‬ ‫دارند‬ ‫وجود‬ ‫قدیمی‬ ‫باشد‬ ‫سختی‬ ‫بسیار‬ ‫کار‬ ‫مفهوم‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫شاید‬ ،‫دهند‬. : ‫واقع‬ ‫در‬ ‫دواپس‬(DevOps)‫است‬ ‫اعتماد‬ ‫و‬ ‫همکاری‬ ‫فرهنگ‬ ‫بر‬ ‫مبتنی‬.‫تضمین‬ ،‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫بین‬ ‫اتحاد‬ ‫و‬ ‫همکاری‬ ‫این‬ ‫است‬ ‫عملیات‬ ‫و‬ ‫کنترل‬ ‫و‬ ‫امنیت‬ ،‫کیفیت‬. ‫است‬ ‫عملیات‬ ‫به‬ ‫توسعه‬ ‫از‬ ‫‌افزار‬‫م‬‫نر‬ ‫سریع‬ ‫انتقال‬ ،‫نتیجه‬.‫و‬ ‫‌ها‬‫ه‬‫روی‬ ‫به‬ ‫گفتیم‬ ‫که‬ ‫اعتمادی‬ ‫مورد‬ ‫شرکای‬ ‫اگر‬ ،‫حال‬ ‫این‬ ‫با‬ ‫نیست‬ ‫سریع‬ ‫و‬ ‫روان‬ ‫دیگر‬ ‫افزار‬ ‫نرم‬ ‫حرکت‬ ،‫باشند‬ ‫پایبند‬ ‫بخواهند‬ ‫خود‬ ‫کند‬ ‫و‬ ‫رسمی‬ ‫فرایندهای‬. ‫نام‬ ‫با‬ ‫‌افزار‬‫م‬‫نر‬ ‫و‬ ‫راهکار‬ ‫توسعه‬ ‫عمر‬ ‫چرخه‬ ‫از‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫چرخه‬ ‫در‬ ‫ما‬ ‫که‬ ‫است‬ ‫ها‬ ‫سال‬SDLC.‫کردیم‬ ‫می‬ ‫استفاده‬ .‫است‬ ‫گرفته‬ ‫سرچشمه‬ ‫تولید‬ ‫و‬ ‫ساختار‬ ‫از‬ ‫واترفال‬ ‫صورت‬ ‫به‬ ‫الزامات‬ ”‫“همه‬ ‫استخراج‬ ‫از‬ ‫است‬ ‫عبارت‬ ‫فرایند‬ ‫این‬
  • 19. “ ‫و‬ .‫افزار‬ ‫نرم‬ ‫آزمایش‬ ‫و‬ ‫طراحی‬ ،‫توسعه‬ ،‫مقدماتی‬voila.‫است‬ ‫استقرار‬ ‫برای‬ ”‫“آماده‬ ‫و‬ ”‫شده‬ ‫داده‬ ‫“تحویل‬ ‫افزار‬ ‫نرم‬ ” .‫یابد‬ ‫ارتقا‬ ،‫استقرار‬ ‫ریسک‬ ‫کنترل‬ ‫های‬ ‫دروازه‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ‫طریق‬ ‫از‬ ‫باید‬ ‫هم‬ ‫هنوز‬ ‫اما‬ ،‫است‬ ”‫“آماده‬ ‫افزار‬ ‫نرم‬ ‫بنابراین‬ ‫وجود‬ ‫سرویس‬ ‫باالی‬ ‫سطح‬ ‫و‬ ‫پایدار‬ ،‫ایمن‬ ‫محیط‬ ‫یک‬ ‫که‬ ‫شود‬ ‫حاصل‬ ‫اطمینان‬ ‫تا‬ ‫است‬ ‫تولید‬ ‫از‬ ‫محافظت‬ ‫ها‬ ‫دروازه‬ ‫محور‬ .‫دارد‬ :‫از‬ ‫عبارتند‬ ‫کنترلی‬ ‫های‬ ‫دروازه‬ ‫معمول‬ ‫طور‬ ‫به‬ •،‫داده‬ ‫و‬ ‫کاربردی‬ ‫غیر‬ ،‫کاربردی‬ ‫یکپارچگی‬ :‫کیفیت‬ ‫تضمین‬ •،‫صنعت‬ ‫استانداردهای‬ ‫با‬ ‫مطابق‬ :‫کنترل‬ ‫و‬ ‫امنیت‬ •‫خدمات‬ ‫سطح‬ ‫توافق‬ ‫هر‬ ‫در‬ ‫دسترسی‬ ‫انطباق‬ :‫عملیات‬ ‫به‬ ‫سختگیرانه‬ ‫بررسی‬ ‫های‬ ‫روش‬ ‫از‬ ‫یک‬ ‫هر‬ .‫هستند‬ ‫توسعه‬ ‫از‬ ‫پس‬ ‫خطر‬ ‫های‬ ‫دروازه‬ ‫این‬ ‫از‬ ‫یک‬ ‫هر‬ ‫که‬ ‫باشید‬ ‫داشته‬ ‫توجه‬ ‫ممکن‬ ‫جدید‬ ‫های‬ ‫ویژگی‬ ‫و‬ ‫پیشرفت‬ ‫درخواست‬ ‫انجام‬ً‫احتماال‬ ‫حتی‬ ‫و‬ ،‫استاندارد‬ ‫های‬ ‫بازرسی‬ ،‫ناموفق‬ ‫آزمایشات‬ ‫دلیل‬ .‫شوند‬ ‌‫ا‬‫تنگن‬ ‫یا‬ ‫و‬ ‫تاخیر‬ ‫موجب‬ ‫است‬
  • 20. ‫کنترلی‬ ‫های‬ ‫دروازه‬ ‫وجود‬ ‫با‬ ،‫دواپس‬ ‫چابک‬ ‫رویکرد‬ ‫رویکرد‬ ‫بعد‬ ‫سالها‬ ‫چابک‬ ‫یک‬ ‫چابک‬ .‫آمد‬SDLC‫بهتر‬ ‫روشی‬ ‫عنوان‬ ‫به‬ .‫گیرد‬ ‫می‬ ‫بر‬ ‫در‬ ‫را‬ ‫تغییرات‬ ‫که‬ ‫است‬ ‫آمیز‬ ‫موفقیت‬ ‫انتخاب‬ ‫برای‬ ‫فرایند‬ ‫این‬ ‫کند؛‬ ‫می‬ ‫کار‬ ‫و‬ .‫است‬ ‫شده‬ ‫شناخته‬ ‫تر‬ ‫کوتاه‬ ‫زمان‬ ‫در‬ ‫ارائه‬ ‫و‬ ‫ناپایدار‬ ‫الزامات‬ ‫مدیریت‬ ‫برای‬ ‫و‬ ”‫شده‬ ‫داده‬ ‫“تحویل‬ ‫افزار‬ ‫نرم‬ ‫و‬ ، ‫تغییر‬ ‫الزامات‬ ”‫“باقی‬ ‫انتخاب‬ ‫حین‬ ‫در‬ ‫و‬ ‫کوچک‬ ‫تکرارهای‬ ‫در‬ ‫الزامات‬ ‫از‬ ”‫“برخی‬ ‫رویکرد‬ ‫مانند‬ ‫استقرار‬ ‫های‬ ‫دروازه‬ ‫حال‬ ‫این‬ ‫با‬ .‫است‬ ‫استقرار‬ ‫برای‬ ”‫“آماده‬Waterfall.‫پابرجاست‬ ‫همچنان‬ ‫منفی‬ ‫تجارب‬ ‫است؟‬ ‫شده‬ ‫ها‬ ‫دروازه‬ ‫این‬ ‫ایجاد‬ ‫باعث‬ ‫چیزی‬ ‫چه‬ ‫خطر؟‬ ‫دروازه‬ ‫چرا‬ :‫است‬ ‫شده‬ ‫بیان‬ ‫آنها‬ ‫از‬ ‫نمونه‬ ‫چند‬ ‫اینجا‬ ‫در‬ ‫جداگانه‬ ‫کیفیت‬ ‫تضمین‬ ‫دروازه‬ ‫یک‬ ‫و‬ ‫است‬ ‫پاسخگو‬ ‫مدیریت‬ .‫شود‬ ‫خارج‬ ‫تولید‬ ‫از‬ ‫باید‬ ‫افزار‬ ‫نرم‬ :‫عملکردی‬ ‫خطاهای‬ _ .‫کند‬ ‫می‬ ‫ایجاد‬ ‫مستقل‬ ‫آزمایش‬ ‫برای‬ ‫های‬ ‫داده‬ ‫و‬ ‫برند‬ ‫کار‬ ‫و‬ ‫کسب‬ ‫ارزش‬ ‫رفتن‬ ‫بین‬ ‫از‬ ‫باعث‬ ‫نقض‬ ‫این‬ .‫شود‬ ‫محافظت‬ ‫بالفاصله‬ ‫باید‬ ‫تولید‬ :‫امنیت‬ ‫نقض‬ _ ‫و‬ ‫کنترل‬ ‫و‬ ‫امنیت‬ ‫مستقل‬ ‫بررسی‬ ‫برای‬ ‫جداگانه‬ ‫کنترل‬ ‫و‬ ‫امنیتی‬ ‫دروازه‬ ‫یک‬ ‫و‬ ‫دهد‬ ‫می‬ ‫پاسخ‬ ‫مدیریت‬ .‫شود‬ ‫می‬ ‫مشتری‬
  • 21. .‫کند‬ ‫می‬ ‫ایجاد‬ ‫یافته‬ ‫بهبود‬ ‫استانداردهای‬ ‫بررسی‬ ‫و‬ ‫مهاجرت‬ ‫های‬ ‫پنجره‬ ‫طول‬ ‫در‬ ‫محدودیت‬ ‫با‬ ‫مدیریت‬ .‫شود‬ ‫نمی‬ ‫برآورده‬ ‫خدمات‬ ‫سطح‬ ‫نامه‬ ‫توافق‬ :‫خدمات‬ ‫قطع‬ .‫دهد‬ ‫می‬ ‫پاسخ‬ ‫مشتریان‬ ‫به‬ ‫خدمات‬ ‫ساالنه‬ ‫را‬ ‫سازمانی‬ ‫تغییرات‬ ‫مدیریت‬ ،‫بنابراین‬ .‫است‬ ‫رفته‬ ‫دست‬ ‫از‬ ‫منفی‬ ‫تجربیات‬ ‫دلیل‬ ‫به‬ ‫اعتماد‬ ‫که‬ ‫است‬ ‫این‬ ‫اصلی‬ ‫نکته‬ ‫مدیریت‬ ،‫حال‬ ‫این‬ ‫با‬ .‫شود‬ ‫می‬ ‫استقرار‬ ‫فرایند‬ ‫در‬ )‫جداگانه‬ ‫های‬ ‫شرکت‬ ‫(مانند‬ ‫کاربری‬ ‫تغییر‬ ‫باعث‬ ‫که‬ ‫کند‬ ‫می‬ ‫دنبال‬ ‫در‬ ‫بینش‬ ‫بدون‬ ً‫ا‬‫مطمئن‬ ‫و‬ ،‫استقرار‬ ‫روند‬ ‫اصلی‬ ‫زمان‬ ‫بر‬ ‫تاثیر‬ ‫گرفتن‬ ‫نظر‬ ‫در‬ ‫بدون‬ ‫را‬ ‫سازمانی‬ ‫تغییرات‬ ‫این‬ ‫است‬ ‫ممکن‬ .‫باشد‬ ‫داده‬ ‫انجام‬ ،‫مشتری‬ ‫مداوم‬ ‫بازخورد‬ ‫به‬ ‫رقابتی‬ ‫نیاز‬ ‫و‬ ”‫بازار‬ ‫در‬ ‫“اول‬ ‫کوسیستم‬‫ا‬ ‫آینده‬ ‫مورد‬ ،‫خالصه‬ ‫طور‬ ‫به‬ ‫؛؛‬DevOps‫استقرار‬ ‫و‬ ‫توسعه‬ ‫امکان‬ ‫مشتری‬ ‫مداوم‬ ‫بازخورد‬ ‫با‬ ‫که‬ ‫است‬ ‫مفهوم‬ ‫چندین‬ ‫از‬ ‫ترکیبی‬ ‫که‬ ‫دارند‬ ‫وجود‬ ‫موفق‬ ‫شرکت‬ ‫چندین‬ .‫کند‬ ‫می‬ ‫فراهم‬ ‫را‬ ‫سریع‬DevOps‫و‬ ‫استقرار‬ ‫زمان‬ ‫متوجه‬ ‫و‬ ‫اند‬ ‫کرده‬ ‫سازی‬ ‫پیاده‬ ‫را‬ ‫؛؛‬ .‫اند‬ ‫شده‬ ‫کمتر‬ ‫شکست‬ ‫همراه‬ ‫به‬ ‫سریع‬ ‫ریکاوری‬ . ‫است‬ ‫شده‬ ‫برداشته‬ ‫کسب‬ ‫کارو‬ ‫و‬ ‫چابک‬ ‫دنیای‬ ‫سایت‬ ‫از‬ ‫دواپس‬ ‫مقاله‬ ‫از‬ ‫قسمتی‬ : ‫توجه‬
  • 22. … ‫آمدید‬ ‫خوش‬ ‫جدید‬ ‫دنیای‬ ‫به‬
  • 23.
  • 24.
  • 25.
  • 26.
  • 27. ‫کانتینر‬ ‫مفهوم‬ ‫با‬ ‫آشنایی‬ ‫و‬ ‫تست‬ ،‫دیباگ‬ ،‫کدنویسی‬ ‫خود‬ ‫سیستم‬ ‫روی‬ ‫را‬ ‫اپلیکیشنی‬ً‫مثال‬ ‫که‬ ‫هستند‬ ‫مواجه‬ ‫مشکل‬ ‫این‬ ‫با‬ ‫همواره‬ ‫دولوپرها‬ ‫همچون‬ ‫دیگری‬ ‫پلتفرم‬ ‫یا‬ ‫محیط‬ ‫به‬ ‫را‬ ‫آن‬ ‫که‬ ‫همین‬ ‫اما‬ ‫‌کنند‬‫ی‬‫م‬ ‫حاصل‬ ‫اطمینان‬ ‫آن‬ ‫عملکرد‬ ‫صحت‬ ‫از‬ ‫و‬ ‫کرده‬ ‫اجرا‬ ‫که‬ ‫است‬ ‫اینجا‬ ‫و‬ ‫‌کنند‬‫ی‬‫م‬ ‫تجربه‬ ‫را‬ ‫بسیاری‬ ‫‌وغریب‬‫ب‬‫عجی‬ ‫مشکالت‬ ‫و‬ ‫‌ها‬‫گ‬‫با‬ ،‫‌کنند‬‫ی‬‫م‬ ‫دیپلوی‬ ‫سرور‬ ‫یک‬ Container‫‌کند‬‫ی‬‫م‬ ‫خودنمایی‬.،‫دیگر‬ ‫عبارت‬ ‫به‬ ‫اپلیکیشن‬ ‫که‬ ‫‌کند‬‫ی‬‫م‬ ‫حاصل‬ ‫را‬ ‫اطمینان‬ ‫این‬ ‫کانتینر‬(‫‌افزار‬‫م‬‫نر‬)‫فارغ‬ ‫دیپلوی‬ ‫پلتفرمی‬ ‫چه‬ ‫روی‬ ‫اینکه‬ ‫از‬ ‫تا‬ ‫گرفته‬ ‫دولوپر‬ ‫سیستم‬ ‫روی‬ ‫که‬ ‫طوری‬ ‫به‬ ‫گردد‬ ‫اجرا‬ ‫درستی‬ ‫به‬ً‫کامال‬ ،‫گردد‬ ‫داشت‬ ‫خواهد‬ ‫یکسانی‬ ‫عملکرد‬ ‫کلود‬ ‫حتی‬ ‫یا‬ ‫مجازی‬ ‫سرور‬ ‌،‫تست‬ ‫محیط‬. ‫اپلیکیشن‬ ‫که‬ ‫باشد‬ ‫داشته‬ ‫وجود‬ ‫است‬ ‫ممکن‬ ‫دلیلی‬ ‫چه‬ ‫که‬ ‫آید‬ ‫پیش‬ ‫پرسش‬ ‫این‬ ‫است‬ ‫ممکن‬ ‫حال‬ ‫دیپلوی‬ ‫از‬ ‫پس‬ ‫نگردد‬ ‫اجرا‬ ‫درستی‬ ‫به‬ ‫مختلف‬ ‫‌های‬‫ط‬‫محی‬ ‫در‬.‫حین‬ ‫در‬ ‫که‬ ‫‌ایم‬‫ه‬‫نوشت‬ ‫اپلیکیشنی‬ ‫کنیم‬ ‫فرض‬ ‫سٔوال‬ ‫این‬ ‫به‬ ‫پاسخ‬ ‫در‬ ٔ‫ه‬‫نسخ‬ ،‫توسعه‬ ‫فرایند‬ 7.1PHP ‫همچون‬ ‫نسخه‬ ‫این‬ ‫‌های‬‫ی‬‫ویژگ‬ ‫برخی‬ ‫از‬ ‫و‬ ‫است‬ ‫بوده‬ ‫نصب‬ ‫‌مان‬‫پ‬‫‌تا‬‫پ‬‫ل‬ ‫روی‬ ‫اپراتور‬ ?? ‫‌ایم‬‫ه‬‫کرد‬ ‫استفاده‬ ‫خود‬ ‫کدهای‬ ‫در‬.ٔ‫ه‬‫نسخ‬ ‫که‬ ‫اصلی‬ ‫سرور‬ ‫روی‬ ‫را‬ ‫پروژه‬ ‫که‬ ‫زمانی‬ ‫حال‬ PHP 5.6 ‫دارا‬ ‫را‬ ‫کرد‬ ‫خواهیم‬ ‫برخورد‬ ‫مشکل‬ ‫به‬ ً‫ا‬‫مسلم‬ ،‫‌کنیم‬‫ی‬‫م‬ ‫دیپلوی‬ ‫است‬. ‫که‬ ‫است‬ ‫اینجا‬ ‫یک‬ ‫شامل‬ ‫فناوری‬ ‫این‬ ‫که‬ ‫طوری‬ ‫به‬ ‫‌آید‬‫ی‬‫م‬ ‫‌افزار‬‫م‬‫نر‬ ٔ‫ه‬‫توسع‬ ‫‌های‬‫م‬‫تی‬ ‫کمک‬ ‫به‬ ‫کانتینر‬ ‫اجرای‬ ‫محیط‬ ‫کامل‬ ‫‌بندی‬‫ه‬‫پیکر‬ ‫‌های‬‫ل‬‫فای‬ ،‫‌ها‬‫ک‬‫فریمور‬ ،‫‌ها‬‫ی‬‫الیبرر‬ ‫‌جمله‬‫ن‬‫م‬ ‫‌هایش‬‫ی‬‫وابستگ‬ ٔ‫ه‬‫کلی‬ ‫انضمام‬ ‫به‬ ‫اپلیکیشن‬ ‫که‬ ‫است‬ ‫یک‬ ‫قالب‬ ‫در‬ ‫که‬ ‫‌شود‬‫ی‬‫م‬ ‫شامل‬ ‫را‬ ‫غیره‬ ‫و‬ ‫پکیج‬ ‫‌شوند‬‫ی‬‫م‬ ‫عرضه‬(‫خاطر‬ ‫به‬ ‫کانتینرها‬ ٔ‫ه‬‫تسمی‬ ‫وجه‬ ،‫واقع‬ ‫در‬ ‫‌شوند‬‫ی‬‫م‬ ‫مشاهده‬ ‫فوق‬ ‫تصویر‬ ‫در‬ ‫که‬ ‫دارند‬ ‫کانتینرهایی‬ ‫با‬ ‫که‬ ‫است‬ ‫شباهتی‬.‫محیطی‬ ‫کانتینر‬ ‫هر‬ ،‫دیگر‬ ‫عبارت‬ ‫به‬
  • 28. ‫کانتینرها‬ ‫تمامی‬ ‫که‬ ‫است‬ ‫حالی‬ ‫در‬ ‫این‬ ‫اما‬ ‫داد‬ ‫قرار‬ ‫‌توان‬‫ی‬‫م‬ ‫را‬ ‫مختلفی‬ ‫کاالهای‬ ‫آن‬ ‫داخل‬ ‫که‬ ‫است‬ ‫مجزا‬ً‫کامال‬ ‫دارند‬ ‫قرار‬ ،‫کشتی‬ ،‫واحد‬ ‫پلتفرم‬ ‫یک‬ ‫روی‬). ‫مجازی‬ ‫ماشین‬ ‫و‬ ‫کانتینر‬ ‫‌های‬‫ت‬‫تفاو‬ ‫با‬ ‫آشنایی‬ ‫فناوری‬ ‫از‬ ‫استفاده‬ ‫با‬Virtualization(‫‌سازی‬‫ی‬‫مجاز‬)‫یک‬ ‫قالب‬ ‫در‬ ‫را‬ ‫شد‬ ‫اشاره‬ ‫بدان‬ ‫باال‬ ‫در‬ ‫که‬ ‫پکیجی‬ ‌، Virtual Machine(‫مجازی‬ ‫ماشین‬)‫ماشین‬ ‫این‬ ‫که‬ ‫است‬ ‫حالی‬ ‫در‬ ‫این‬ ‫و‬ ‫کرد‬ ‫‌جا‬‫ه‬‫جاب‬ ‫‌توان‬‫ی‬‫م‬ ‫مختلف‬ ‫‌های‬‫م‬‫پلتفر‬ ‫مابین‬ ‫کامل‬ ‫‌عامل‬‫م‬‫سیست‬ ‫یک‬ ‫حاوی‬ ‫مجازی‬+‫است‬ ‫‌هایش‬‫ی‬‫وابستگ‬ ‫و‬ ‫اپلیکیشن‬:
  • 29. ‫واقع‬ ‫در‬ ‫است‬ ‫اجرا‬ ‫حال‬ ‫در‬ ‫آن‬ ‫روی‬ ‫مجازی‬ ‫ماشین‬ ‫سه‬ ‫که‬ ‫سروری‬ ،‫‌شود‬‫ی‬‫م‬ ‫مالحظه‬ ‫فوق‬ ‫تصویر‬ ‫در‬ ‫که‬ ‫‌طور‬‫ن‬‫ما‬ ‫چهار‬ ‫که‬ ‫سروری‬ ‫مقابل‬ ‫در‬ ‫اما‬ ‫‌باشد‬‫ی‬‫م‬ ‫اجرا‬ ‫حال‬ ‫در‬ ‫آن‬ ‫روی‬ ‫یکدیگر‬ ‫از‬ ‫مجزا‬ ‫‌عامل‬‫م‬‫سیست‬ ‫سه‬ ‫آن‬ ‫روی‬ ‫کانتینر‬ ‫از‬ ‫یک‬ ‫هر‬ ‫و‬ ‫داشت‬ ‫خواهد‬ ‫وجود‬ ‫‌عامل‬‫م‬‫سیست‬ ‫یک‬ ً‫ا‬‫صرف‬ ،‫باشد‬ ‫داشته‬ ‫وجود‬ ‫به‬ ‫را‬ ‫‌عامل‬‫م‬‫سیست‬ ‫ِل‬‫ن‬‫ِر‬‫ک‬ ،‫کانتینرها‬ ‫صورت‬ ‫کی‬‫اشترا‬ ‫داد‬ ‫خواهد‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬.‫مراتب‬ ‫به‬ ‫کانتینرها‬ ،‫دیگر‬ ‫عبارت‬ ‫به‬ ‫‌تر‬‫ک‬‫سب‬ ‫‌های‬‫ن‬‫ماشی‬ ‫از‬ ‫کرد‬ ‫خواهند‬ ‫استفاده‬ ‫کمتری‬ ‫منابع‬ ‫و‬ ‫بود‬ ‫خواهند‬ ‫مجازی‬. ‫‌عامل‬‫م‬‫سیست‬ ‫همچنین‬ ‫کل‬ ‫‌تر‬‫ه‬‫بهین‬ ‫مدیریت‬ ‫منظور‬ ‫به‬ ‫همچون‬ ‫سیستمی‬ ‫منابع‬ ‫به‬ ‫کانتینر‬ ‫هر‬ ‫دسترسی‬ ‫میزان‬ ‫سیستم‬RAM‫و‬CPU‫کانتینر‬ ‫یک‬ ‫تا‬ ‫‌سازد‬‫ی‬‫م‬ ‫محدود‬ ‫را‬ ‫برخورند‬ ‫مشکل‬ ‫به‬ ‫کانتینرها‬ ‫سایر‬ ‫بالتبع‬ ‫و‬ ‫کرده‬ ‫استفاده‬ ‫را‬ ‫سیستمی‬ ‫منابع‬ ‫تمامی‬ ‫نتواند‬ ‫‌خصوص‬‫ه‬‫ب‬. ‫چیست؟‬ ‫کانتینرها‬ ‫از‬ ‫استفاده‬ ‫مزایای‬ ‫حجم‬ ‫اینکه‬ ‫به‬ ‫توجه‬ ‫با‬ ‫بود‬ ‫خواهد‬ ‫قادر‬ ‫سادگی‬ ‫به‬ ‫سرور‬ ‫یک‬ ،‫است‬ ‫مجازی‬ ‫‌های‬‫ن‬‫ماشی‬ ‫از‬ ‫کمتر‬ ‫خیلی‬ ‫کانتینرها‬ ‫تعداد‬ ‫که‬ ‫نست‬ ‫توضیح‬ ‫به‬ ‫نیاز‬ ‫و‬ ‫کند‬ ‫میزبانی‬ ‫خود‬ ‫روی‬ ‫را‬ ‫مجازی‬ ‫ماشین‬ ‫به‬ ‫نسبت‬ ‫بیشتری‬ ‫مراتب‬ ‫به‬ ‫کانتینر‬ ‫مگابایت‬ ‫صد‬ ‫چند‬ ‫به‬ ً‫ا‬‫نهایت‬ ‫کانتینرها‬ ‫کثر‬‫ا‬ ‫حجم‬ ‫اما‬ ‫برسد‬ ‫گیگابایت‬ ‫چند‬ ‫به‬ ‫است‬ ‫ممکن‬ ‫مجازی‬ ‫ماشین‬ ‫هر‬ ‫حجم‬ ‫رسید‬ ‫خواهد‬. ‫‌های‬‫ت‬‫مزی‬ ‫با‬ ‫ارتباط‬ ‫در‬ ‫که‬ ‫دیگری‬ ٔ‫ه‬‫نکت‬ ً‫ا‬‫نسبت‬ ‫زمان‬ ‫مجازی‬ ‫‌های‬‫ن‬‫ماشی‬ ‫که‬ ‫است‬ ‫این‬ ‫دارد‬ ‫وجود‬ ‫کانتینرها‬ ‫که‬ ‫است‬ ‫حالی‬ ‫در‬ ‫این‬ ‫و‬ ‫دارند‬ ‫نیاز‬ ‫‌شان‬‫ل‬‫‌عام‬‫م‬‫سیست‬ ‫شدن‬ ‫بوت‬ ‫برای‬ ‫‌توجهی‬‫ل‬‫قاب‬ ‫اجرا‬ ‫‌تر‬‫ع‬‫سری‬ ‫خیلی‬ ‫کانتینرها‬ ‫یک‬ ً‫ا‬‫صرف‬ ‫کانتینر‬ ‫که‬ ‫چرا‬ ‫‌شوند‬‫ی‬‫م‬Process(‫پروسه‬)‫روی‬ ‫‌باشد‬‫ی‬‫م‬ ‫‌عاملی‬‫م‬‫سیست‬ ‫است‬ ‫اجرا‬ ‫حال‬ ‫در‬ ‫که‬. ‫یس‬ِ‫ب‬ ‫کانتینر‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫کانتینری‬ ‫از‬ ‫ج‬ِ‫ایم‬ ‫یک‬ ً‫ا‬‫اصطالح‬ ‫تا‬ ‫شده‬ ‫فراهم‬ ‫امکان‬ ‫این‬ ‫همچنین‬(‫پایه‬)‫گرفته‬ ‫نظر‬ ‫در‬ ‫و‬ ‫باشند‬ ‫آن‬ ‫به‬ ‫وابسته‬ ‫‌ها‬‫ج‬ِ‫ایم‬ ‫دیگر‬.‫‌های‬‫ل‬‫فای‬ ،‫‌عامل‬‫م‬‫سیست‬ ‫شامل‬ ‫که‬ ‫‌ای‬‫ه‬‫پای‬ ‫ج‬ِ‫ایم‬ ‫یک‬ ‫‌شود‬‫ی‬‫م‬ ،‫دیگر‬ ‫عبارت‬ ‫به‬ ‫‌افزار‬‫م‬‫نر‬ ٔ‫ه‬‫توسع‬ ‫تیم‬ ‫سپس‬ ‫کرد‬ ‫ایجاد‬ ‫را‬ ‫‌باشد‬‫ی‬‫م‬ ‫‌ها‬‫ک‬‫فریمور‬ ‫و‬ ‫‌ها‬‫ی‬‫الیبرر‬ ‫همچون‬ ‫‌ها‬‫ی‬‫وابستگ‬ ‫دیگر‬ ‫و‬ ‫پیکربندی‬
  • 30. ً‫ا‬‫مجدد‬ ‫مسئله‬ ‫همین‬ ‫و‬ ‫کنند‬ ‫ایجاد‬ ‫را‬ ‫است‬ ‫‌ای‬‫ه‬‫پای‬ ‫ج‬ِ‫ایم‬ ‫آن‬ ‫بر‬ ‫مبتنی‬ ‫که‬ ‫اپلیکیشن‬ ‫‌کد‬‫س‬‫سور‬ ‫حاوی‬ ‫جی‬ِ‫ایم‬ ً‫ا‬‫صرف‬ ‫شد‬ ‫خواهد‬ ‫‌افزار‬‫م‬‫نر‬ ‫دیپلوی‬ ٔ‌‫ه‬‫توسع‬ ‫سرعت‬ ‫به‬ ‫منجر‬. ‫از‬ ‫استفاده‬ ‫دیگر‬ ‫مزیت‬ ‫است‬ ‫ماژوالر‬ ‫‌های‬‫ن‬‫اپلیکیش‬ ‫از‬ ‫بردن‬ ‫بهره‬ ‫امکان‬ ‫کانتینرها‬.‫اجرای‬ ‫جای‬ ‫به‬ ،‫دیگر‬ ‫عبارت‬ ‫به‬ ‫یک‬ ‫قالب‬ ‫در‬ ‫پیچیده‬ ‫و‬ ‫حجیم‬ ‫اپلیکیشن‬ ‫یک‬ ‫که‬ ‫مجزا‬ ‫ماژول‬ ‫یکسری‬ ‫صورت‬ ‫به‬ ‫را‬ ‫خود‬ ‫اپلیکیشن‬ ‫‌توان‬‫ی‬‫م‬ ،‫کانتینر‬ ‫عنوان‬ ‫تحت‬ ً‫ا‬‫اصطالح‬ ‫میکروسرویس‬ ‫روی‬ ‫پکیج‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫‌ها‬‫ن‬‫آ‬ ‫از‬ ‫یک‬ ‫هر‬ ‫و‬ ‫کرده‬ ‫طراحی‬ ‫‌شوند‬‫ی‬‫م‬ ‫شناخته‬ ‫داد‬ ‫قرار‬ ‫سرور‬ ‫‌شوند‬‫ی‬‫م‬ ‫مدیریت‬ ‫‌تر‬‫ه‬‫ساد‬ ‫مراتب‬ ‫به‬ ‫‌شوند‬‫ی‬‫م‬ ‫طراحی‬ ‫میکروسرویس‬ ‫معماری‬ ‫با‬ ‫که‬ ‫‌هایی‬‫ن‬‫اپلیکیش‬ ،‫کلی‬ ‫طور‬ ‫به‬ ‫بود‬ ‫نخواهد‬ ‫اپلیکیشن‬ ‫کل‬ ‫مجدد‬ ‫کردن‬ ‫بیلد‬ ‫به‬ ‫نیازی‬ً‫اصال‬ ،‫‌ها‬‫ل‬‫ماژو‬ ‫از‬ ‫یکی‬ ‫در‬ ‫تغییر‬ ‫ِعمال‬‫ا‬ ‫به‬ ‫نیاز‬ ‫صورت‬ ‫در‬ ‫و‬. ‫است‬ ‫فناوری‬ ‫این‬ ‫‌های‬‫ت‬‫مزی‬ ‫از‬ ‫دیگر‬ ‫یکی‬ ‫هم‬ ‫کانتینرها‬ ‫‌بندی‬‫ه‬‫نسخ‬.‫ورژن‬ ‫یک‬ ‫کانتینر‬ ‫هر‬ ‫برای‬ ‫‌شود‬‫ی‬‫م‬ ،‫واقع‬ ‫در‬ ‫قبلی‬ ‫‌های‬‫ن‬‫ورژ‬ ‫به‬ ،‫نیاز‬ ‫صورت‬ ‫در‬ ‫و‬ ‫ساخت‬ ‫مشخص‬ ‫را‬ ‫یکدیگر‬ ‫با‬ ‫مختلف‬ ‫‌های‬‫ن‬‫ورژ‬ ‫تفاوت‬ ،‫گرفت‬ ‫نظر‬ ‫در‬ ً‫ا‬‫اصطالح‬ ‫کانتینرها‬Roll-back(‫بازگشت‬)‫کرد‬. ‫تا‬ ‫باشیم‬ ‫داشته‬ ‫نیاز‬ ‫اینکه‬ ‫بدون‬ ‫تا‬ ‫بود‬ ‫خواهیم‬ ‫قادر‬ ‫سادگی‬ ‫به‬ ‫کانتینر‬ ‫فناوری‬ ‫از‬ ‫استفاده‬ ‫با‬ ،‫کلی‬ ‫طور‬ ‫به‬ ،‫کنیم‬ ‫کانفیگ‬ ‫خود‬ ‫اپلیکیشن‬ ‫‌های‬‫ی‬‫نیازمند‬ ‫به‬ ‫بسته‬ ‫را‬ ‫مختلف‬ ‫سرورهای‬ ‫را‬ ‫اپلیکیشن‬ ‫یک‬ ‫راحت‬ ‫خیال‬ ‫با‬ ‫برد‬ ‫خواهد‬ ‫باال‬ ‫را‬ ‫اپلیکیشن‬ ‫جدید‬ ‫‌های‬‫ه‬‫نسخ‬ ‫انتشار‬ ‫سرعت‬ ‫مسئله‬ ‫همین‬ ‫و‬ ‫کنیم‬ ‫دیپلوی‬.
  • 31. ‫چیست؟‬ ‫کانتینرها‬ ‫ضعف‬ ‫نقاط‬ ‫استفاده‬ ‫واحد‬ ‫‌عامل‬‫م‬‫سیست‬ ‫یک‬ ‫از‬ ‫کانتینر‬ ‫چندین‬ ‫و‬ ‫نیستند‬ ‫‌عامل‬‌‫م‬‫سیست‬ ‫از‬ ‫مستقل‬ ‫کانتینرها‬ ‫اینکه‬ ‫به‬ ‫توجه‬ ‫با‬ ‫است‬ ‫‌تر‬‫گ‬‫پررن‬ ‫‌سازی‬‫ی‬‫مجاز‬ ‫فناوری‬ ‫نسبت‬ ‫به‬ ‫امنیتی‬ ‫تهدیدات‬ ،‫‌کند‬‫ی‬‫م‬. ‫‌گردد‬‫ی‬‫م‬ ‫باز‬ ‫‌عامل‬‫م‬‫سیست‬ ‫یک‬ ‫به‬ ‫‌ها‬‫ن‬‫آ‬ ‫وابستگی‬ ‫به‬ ‫مجدد‬ ،‫است‬ ‫کانتینرها‬ ‫متوجه‬ ‫که‬ ‫دیگری‬ ‫ضعف‬ ‫نقطه‬.‫به‬ ‫نیست‬ ‫ویندوزی‬ ‫پلتفرم‬ ‫یک‬ ‫روی‬ ‫‌اجرا‬‫ل‬‫قاب‬ ،‫باشد‬ ‫شده‬ ‫طراحی‬ ‫لینوکس‬ ‫پلتفرم‬ ‫بر‬ ‫مبتنی‬ ‫که‬ ‫کانتینری‬ ،‫دیگر‬ ‫عبارت‬ ‫تکنولوژی‬ ٔ‫ه‬‫‌دهند‬‫ه‬‫ارائ‬ ‫‌های‬‫س‬‫سروی‬ ‫کدامند؟‬ ‫کانتینر‬ ‫تا‬ ‫گرفته‬ ‫رایگان‬ ‫و‬ ‫‌سورس‬‫ن‬‫اپ‬ ‫‌های‬‫س‬‫سروی‬ ‫از‬ ،‫خود‬ ‫‌های‬‫ی‬‫نیازمند‬ ‫و‬ ‫بودجه‬ ‫میزان‬ ‫به‬ ‫بسته‬ ‫‌توانند‬‫ی‬‫م‬ ‫دولوپرها‬ ‫اینترپرایز‬ ‫‌های‬‫س‬‫سروی‬(‫تجاری‬)‫کرد‬ ‫خواهیم‬ ‫معرفی‬ ‫را‬ ‫‌ها‬‫ن‬‫آ‬ ‫‌ترین‬‫م‬‫مه‬ ‫از‬ ‫برخی‬ ‫ادامه‬ ‫در‬ ‫که‬ ‫کنند‬ ‫استفاده‬: - Kubernetes:‫که‬ ‫است‬ ‫رایگان‬ ‫و‬ ‫‌سورس‬‫ن‬‫اپ‬ ‫کانتینر‬ ‫‌ترین‬‫ف‬‫معرو‬ ‫و‬ ‫‌ترین‬‫ه‬‫‌شد‬‫ه‬‫شناخت‬ ‫عنوان‬ ‫به‬ ‫سرویس‬ ‫این‬ ‫شد‬ ‫طراحی‬ ‫گوگل‬ ‫کمپانی‬ ‫در‬ ‫آن‬ ‫‌های‬‫ه‬‫نسخ‬ ‫اولین‬(ٔ‫ه‬‫واژ‬Kubernetes‫صورت‬ ‫به‬ ‫باید‬«‫ِتیس‬‫ن‬‫ر‬ِ‫ب‬‫کو‬»‫گردد‬ ‫تلفظ‬). - (Docker (EE:ٔ‫ه‬‫نسخ‬ Docker Enterprise Edition‫فناوری‬ ‫اینترپرایز‬ ‫پلتفرم‬ ‫‌ترین‬‫ف‬‫معرو‬ ‫‌توان‬‫ی‬‫م‬ ‫نوعی‬ ‫به‬ ‫را‬ ‫کرد‬ ‫معرفی‬ ‫کانتینر‬.‫است‬ ‫‌اجرا‬‫ل‬‫قاب‬ ‫هم‬ ‫غیره‬ ‫و‬ ‫آژور‬ ،‫ویندوز‬ ‫‌عامل‬‫م‬‫سیست‬ ‫روی‬ ،‫لینوکس‬ ‫بر‬ ‫عالوه‬ ‫کر‬‫دا‬. - Open Shift Container Platform:‫شرکت‬ ‫از‬ ‫محصولی‬ ‫کانتینر‬ ‫سرویس‬ ‫این‬ ‫مبتنی‬ ‫که‬ ‫است‬ ‫َت‬‫ه‬‫د‬ِ‫ر‬ ‫بر‬ Kubernetes‫توزیع‬ ‫لینوکس‬ ‫و‬ Red Hat Enterprise‫‌باشد‬‫ی‬‫م‬.
  • 32. - Rancher:‫بر‬ ‫مبتنی‬ ‫هم‬ ‫سرویس‬ ‫این‬ Kubernetes٪ ،‫‌اش‬‫ی‬‫رسم‬ ‫سایت‬ ٔ‫ه‬‫گفت‬ ‫به‬ ‫که‬ ‫است‬۱۰۰‫‌سورس‬‫ن‬‫اپ‬ ‫است‬. ‫کانتیرها‬ ‫اجرای‬ ‫مناسب‬ ‫لینوکسی‬ ‫‌های‬‫ع‬‫توزی‬ ‫با‬ ‫آشنایی‬ ‫غیرضروری‬ ‫کانتیرها‬ ‫اجرای‬ ‫برای‬ ‫که‬ ‫هستند‬ ‫اضافی‬ ‫فیچرهایی‬ ‫دارای‬ ‫لینوکسی‬ ‫‌های‬‫ع‬‫توزی‬ ‫از‬ ‫برخی‬ ‫‌رسد‬‫ی‬‫م‬ ‫نظر‬ ‫به‬ ‫عرضه‬ ‫بازار‬ ‫به‬ ‫کانتینرها‬ ‫میزبانی‬ ‫برای‬ ً‫ا‬‫اختصاص‬ ‫لینوکس‬ ‫از‬ ‫ک‬ُ‫ب‬‫س‬ ‫توزیع‬ ‫یکسری‬ ‫راستا‬ ‫همین‬ ‫در‬ ‫که‬ ‫‌باشند‬‫ی‬‫م‬ ‫از‬ ‫عبارتند‬ ‫‌ها‬‫ن‬‫آ‬ ‫‌ترین‬‫م‬‫مه‬ ‫از‬ ‫برخی‬ ‫که‬ ‌‫ه‬‫شد‬: - RancherOS:‫اختیار‬ ‫در‬ ‫کانتینرها‬ ‫میزبانی‬ ‫برای‬ ‫ساده‬ ‫مدیریتی‬ ‫با‬ ‫حال‬ ‫عین‬ ‫در‬ ‫و‬ ‫‌اعتماد‬‫ل‬‫قاب‬ ‫محیطی‬ ‫توزیع‬ ‫این‬ ‫‌گذارد‬‫ی‬‫م‬ ‫دولوپرها‬. - Photon OS:‫کمپانی‬ ‫توسط‬ ‫که‬ ‫است‬ ‫لینوکس‬ ‫از‬ ‫ک‬ُ‫ب‬‫س‬ ‫توزیعی‬VMWare‫برای‬ ً‫ا‬‫اختصاص‬ ‫که‬ ‫شده‬ ‫عرضه‬ ‫‌های‬‫م‬‫پلتفر‬ ‫میزبانی‬ VMWare‫است‬ ‫شده‬ ‫طراحی‬. - Ubuntu Core:‫‌ها‬‫ی‬‫فناور‬ ‫برای‬ ‫که‬ ‫است‬ ‫اوبونتو‬ ‫محبوب‬ ‫‌عامل‬‫م‬‫سیست‬ ‫از‬ ‫ک‬ُ‫ب‬‫س‬ ‫و‬ ‫کوچک‬ ‫توزیعی‬‫ی‬ ‫اینترنت‬ ‫اشیاء‬ ‫است‬ ‫شده‬ ‫عرضه‬ ‫کانتینرها‬ ‫و‬.  ‫‌بندی‬‫ع‬‫جم‬ ‫که‬ ‫پرسش‬ ‫این‬ ‫به‬ ‫پاسخ‬ ‫در‬«‫گرفت؟‬ ‫خواهند‬ ‫را‬ ‫مجازی‬ ‫‌های‬‫ن‬‫ماشی‬ ‫جای‬ً‫کامال‬ ‫کانتینرها‬ ‫آیا‬»‫که‬ ‫کرد‬ ‫اعتراف‬ ‫باید‬
  • 33. ‫نزدیک‬ ٔ‫ه‬‫آیند‬ ‫در‬ ‫دلیل‬ ‫یک‬ ‫به‬ ‫حداقل‬ ‫چیزی‬ ‫چنین‬ ‫که‬ ‫‌آید‬‫ی‬‫برم‬ ‫امر‬ ‫شواهد‬ ‫از‬ ‫اما‬ ‫ندارد‬ ‫وجود‬ ‫شفافی‬ ‫جواب‬ ‫اینکه‬ ‫هم‬ ‫آن‬ ‫و‬ ‫بود‬ ‫نخواهد‬ ‫‌پذیر‬‫ن‬‫امکا‬ ‫که‬ ‫است‬ ‫این‬ ‫داشته‬ ‫نگاه‬ ‫محبوب‬ ‫را‬ ‫‌سازی‬‫ی‬‫مجاز‬ ‫فناوری‬ ‫کماکان‬ ‫که‬ ‫چیزی‬ ‫مجازی‬ ‫‌های‬‫ن‬‫ماشی‬ ،‫کانتینرها‬ ‫به‬ ‫نسبت‬ ‫مجازی‬ ‫‌های‬‫ن‬‫ماشی‬ ‫بودن‬ ‫‌تر‬‫ه‬‫ایزول‬ ‫دلیل‬ ‫به‬ ‫‌تر‬‫ن‬‫ام‬ ‫‌باشند‬‫ی‬‫م‬.
  • 34. : ‫کنیم‬ ‫اشاره‬ ‫را‬ ‫زیر‬ ‫موارد‬ ‫میتوانیم‬ ‫که‬ ‫داریم‬ ‫را‬ ‫کانتینر‬ ‫حوزه‬ ‫در‬ ‫ساختار‬ ‫انواع‬ ‫ما‬ ‫دو‬ ‫ما‬ ‫کانتینر‬ ‫حوزه‬ ‫در‬ ‫واقع‬ ‫در‬Type: ‫داریم‬ 1.Os base container‫مثل‬ :LXC... ‫و‬ 2.Application base‫و‬ ‫کر‬‫دا‬ ‫مثل‬ : ‫کانتینر‬rkt , podman… ‫و‬ . ‫هست‬ ‫متفاوت‬ ‫ها‬ ‫بیزینس‬ ‫برای‬ ‫انواع‬ ‫این‬ ‫از‬ ‫کدام‬ ‫هر‬ ‫انتخاب‬ : ‫نکته‬
  • 35. ‫های‬ ‫ویژگی‬PODMAN: ‫کلی‬ ‫طور‬ ‫به‬podman. ‫باشد‬ ‫می‬ ‫دارا‬ ‫را‬ ‫ها‬ ‫ساختار‬ ‫این‬ Overview and scope At a high level, the scope of Podman and libpod is the following: •Support for multiple container image formats, including OCI and Docker images. •Full management of those images, including pulling from various sources (including trust and verification), creating (built via Containerfile or Dockerfile or committed from a container), and pushing to registries and other storage backends. •Full management of container lifecycle, including creation (both from an image and from an exploded root filesystem), running, checkpointing and restoring (via CRIU), and removal. •Support for pods, groups of containers that share resources and are managed together. •Support for running containers and pods without root or other elevated privileges. •Resource isolation of containers and pods. •Support for a Docker-compatible CLI interface. •No manager daemon, for improved security and lower resource utilization at idle. •Support for a REST API providing both a Docker-compatible interface and an improved interface exposing advanced Podman functionality. •In the future, integration with CRI-O to share containers and backend code. Podman presently only supports running containers on Linux. However, we are building a remote client which can run onWindows and OS X and manage Podman containers on a Linux system via the REST API using SSH tunneling.
  • 36. Out of scope •Specialized signing and pushing of images to various storage backends. See Skopeo for those tasks. •Support for the Kubernetes CRI interface for container management.The CRI-O daemon specializes in that. •Supporting docker-compose.We believe that Kubernetes is the defacto standard for composing Pods and for orchestrating containers, making KubernetesYAML a defacto standard file format. Hence, Podman allows the creation and execution of Pods from a KubernetesYAML file (see podman-play-kube). Podman can also generate KubernetesYAML based on a container or Pod (see podman-generate-kube), which allows for an easy transition from a local development environment to a production Kubernetes cluster. If Kubernetes does not fit your requirements, there are other third-party tools that support the docker-compose format such as kompose and podman-compose that might be appropriate for your environment.This situation may change with the addition of the REST API. OCI Projects Plans The plan is to use OCI projects and best of breed libraries for different aspects: •Runtime:We use the OCI runtime tools to generate OCI runtime configurations that can be used with any OCI-compliant runtime, like crun and runc. •Images: Image management uses the containers/image library. •Storage: Container and image storage is managed by containers/storage. •Networking: Networking support through use of CNI. •Builds: Builds are supported via Buildah. •Conmon: Conmon is a tool for monitoring OCI runtimes, used by both Podman and CRI-O. •Seccomp: A unified Seccomp policy for Podman, Buildah, and CRI-O.
  • 38. ‫و‬ ‫کر‬‫دا‬ ‫تفاوت‬podman: ‫بین‬ ‫°ی‬°‫س‬‫اسا‬ ‫°اوت‬°‫ف‬‫ت‬ ‫°ک‬°‫ی‬Podman‫و‬Docker‫°ور‬°‫ت‬‫مو‬ ‫°ه‬°‫ک‬ ‫°انی‬°‫م‬‫ز‬ ‫°ه‬°‫ک‬ ‫°ت‬°‫س‬‫ا‬ ‫این‬Docker‫°وان‬°‫ن‬‫ع‬ ‫°ه‬°‫ب‬service‫در‬host‫°ار‬°‫ک‬ . ‫کند‬ ‫می‬ host‫°ه‬‫م‬‫ه‬ ‫و‬action‫در‬ ‫°ا‬‫م‬‫ا‬ ‫°ود‬‫ش‬ ‫می‬ ‫°ام‬‫ج‬‫ان‬ ‫°ر‬‫ک‬‫دا‬ ‫°رویس‬‫س‬ ‫°ط‬‫س‬‫تو‬ ‫°ا‬‫ه‬podman‫°ورت‬‫ص‬ ‫°ه‬‫ب‬standalone‫می‬ ‫°را‬‫ج‬‫ا‬ . ‫است‬ ‫مستقل‬ ‫عملیات‬ ‫یک‬ ‫کدام‬ ‫هر‬ ‫که‬ ‫طوری‬ ‫به‬ ‫شود‬ ‫°تی‬°‫ق‬‫و‬ ‫°ه‬‫ک‬ ‫°را‬°‫چ‬ ، ‫°ت‬‫س‬‫ا‬ ‫مهم‬ ‫تفاوت‬ ‫این‬security model‫°ع‬‫ق‬‫وا‬ ‫در‬ ‫°د‬‫ن‬‫ک‬ ‫می‬ ‫°دا‬‫ی‬‫پ‬ ‫°یر‬‫ی‬‫تغ‬images‫و‬containers‫°ور‬°‫ط‬ ‫°ه‬°‫ب‬ . ‫میکنند‬ ‫پیدا‬ ‫تعغیر‬ ‫توجهی‬ ‫قابل‬ ‫عملیات‬ ‫که‬ ‫آنجا‬ ‫از‬Podman. ‫شود‬ ‫اجرا‬ ‫آن‬ ‫در‬ ‫خاص‬ ‫کاربر‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫که‬ ‫نیست‬ ‫دایمون‬ ‫سرویس‬ ‫یک‬ ‫به‬ ‫وابسته‬ ، ‫سیستم‬podman‫ساده‬ ‫اندازه‬ ‫همان‬ ‫به‬ ‫که‬ ‫است‬ ‫معنی‬ ‫بدان‬ ‫این‬ .‫کند‬ ‫می‬ ‫فراهم‬ ‫کر‬‫دا‬ ‫به‬ ‫نسبت‬ ‫بیشتری‬ ‫انزوای‬ ‫است‬ Podman‫که‬ ‫همانطور‬ ‫کنید‬ ‫اجرا‬ ‫استاندارد‬ ‫کاربر‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫را‬Podman.‫کنید‬ ‫می‬ ‫اجرا‬ ‫روت‬ ‫کاربر‬ ‫عنوان‬ ‫به‬ ‫را‬ Podman‫از‬namespaces‫توانند‬ ‫می‬ ‫همه‬ ‫میزبان‬ ‫یک‬ ‫در‬ ‫کاربر‬ ‫چندین‬ ‫که‬ ‫معناست‬ ‫بدان‬ ‫این‬ . ‫میکند‬ ‫کاربراستفاده‬ ‫کنند‬ ‫کار‬ ‫و‬ ‫کانتینرها‬local image stores‫کانتینر‬ ‫چون‬ . ‫کنند‬ ‫کار‬ ‫توانند‬ ‫می‬ ‫کانفیلیکت‬ ‫وجود‬ ‫از‬ ‫نگرانی‬ ‫بدون‬ ‫در‬ ‫اجرا‬ ‫حال‬ ‫در‬user's namespace، ‫است‬ ‫میزبان‬ ‫سیستم‬ ‫در‬ ‫کاربر‬ ‫در‬ ‫موجود‬ ‫مجوزهای‬ ‫به‬ ‫محدود‬ ‫کلی‬ ‫طور‬ ‫به‬Podman.‫کند‬ ‫می‬ ‫فراهم‬ ‫را‬ ‫کر‬‫دا‬ ‫به‬ ‫نسبت‬ ‫بیشتری‬ ‫امنیت‬ ‫واقع‬ ‫در‬
  • 39. ‫؟‬ ‫چیست‬ ‫نام‬ ‫فضای‬ ‫اما‬ Namespace‫آن‬ ‫هدف‬ ،‫شود‬ ‫می‬ ‫استفاده‬ ‫شیء‬ ‫متفاوت‬ ‫انواع‬ ‫به‬ ‫‌دادن‬‫ن‬‫سازما‬ ‫برای‬ ‫آن‬ ‫از‬ ‫که‬ ‫‌باشد‬‫ی‬‫م‬ ‫نماد‬ ‫مجموعه‬ ‫یک‬ ‫شوند‬ ‫ارجاع‬ ‫نام‬ ‫توسط‬ ‫بتوانند‬ ‫اشیا‬ ‫این‬ ‫که‬ ‫است‬.‫همه‬ ‫که‬ ‫کند‬ ‫تضمین‬ ‫باید‬ ‫نام‬ ‫فضای‬ ‫یک‬‫ی‬ ‫شناسه‬ ‫ه‬‫آن‬ ‫در‬ ‫موجود‬ ‫ای‬ ‫باشند‬ ‫می‬ ‫شناسایی‬ ‫قابل‬ ‫راحتی‬ ‫به‬ ‫اشیاء‬ ‫نتیجه‬ ‫در‬ ‫و‬ ‫دارند‬ ‫یکتایی‬ ‫نام‬ ‫است‬ ‫مختلف‬ ‫های‬ ‫زمینه‬ ‫در‬ ‫ها‬ ‫نام‬ ‫از‬ ‫مجدد‬ ‫استفاده‬ ‫امکان‬ ‫امر‬ ‫این‬ ‫دلیل‬ ،‫هستند‬ ‫مراتبی‬ ‫سلسله‬ ‫معموال‬ ‫نام‬ ‫فضاهای‬ ‫شام‬ ‫نام‬ ‫فضای‬ ‫از‬ ‫برجسته‬ ‫های‬ ‫مثال‬: ‫ل‬ •‫‌بندی‬‫ل‬‫فای‬ ‫سیستم‬:‫کند‬ ‫می‬ ‫منتسب‬ ‫را‬ ‫نامی‬ ‫ها‬ ‫فایل‬ ‫به‬ ‫که‬ ‫است‬ ‫نامی‬ ‫فضای‬ •‫از‬ ‫بعضی‬ ‫نویسی‬ ‫برنامه‬ ‫های‬ ‫زبان‬ ‫نام‬ ‫فضای‬ ‫ی‬ ‫وسیله‬ ‫به‬ ‫متغیر‬ ‫و‬ ‫ها‬ ‫رویه‬ ‫کنند‬ ‫می‬ ‫دهی‬ ‫سازمان‬ ‫را‬ ‫هایشان‬ •‫در‬ ‫ای‬ ‫رایانه‬ ‫ی‬ ‫شبکه‬ ‫و‬ ‫شده‬ ‫توزیع‬ ‫های‬ ‫سیستم‬ ،‫ها‬ ‫کامپیوتر‬ ‫به‬ ‫مثال‬ ،‫شود‬ ‫می‬ ‫منتسب‬ ‫منابع‬ ‫به‬ ‫هایی‬ ‫نام‬ ،‫پرینترها‬ ‫ها‬ ‫سایت‬ ‫وب‬‫ها‬ ‫فایل‬ ،(‫دور‬ ‫و‬ ‫بیرونی‬)‫غیره‬ ‫و‬ ،. •‫عامل‬ ‫های‬ ‫سیستم‬ ‫کرنل‬ ‫منابع‬ ‫توانند‬ ‫می‬(‫مثل‬ID‫شکبه‬ ‫سوکت‬ ،‫کاربران‬ ،‫پردازش‬)‫بخش‬ ‫مجرد‬ ‫نام‬ ‫فضای‬ ‫توسط‬ ‫را‬ ‫از‬ ‫تا‬ ،‫کنند‬ ‫بندی‬ ‫‌عامل‬‫م‬‫سیست‬ ‫سطح‬ ‫‌سازی‬‫ه‬‫شبی‬ ‫کنند‬ ‫پشتیبانی‬. ‫واقع‬ ‫در‬podman‫محیط‬ ‫برای‬ ‫کر‬‫دا‬ ‫از‬ ‫تر‬ ‫بهینه‬ ‫بسیار‬Kubernetes‫و‬openshift‫هست‬
  • 41.
  • 42.
  • 43. ‫دستور‬pull: ‫دستور‬ ‫بواسطه‬pull. ‫داریم‬ ‫را‬ ‫مختلف‬ ‫های‬ ‫ریپوزیتوری‬ ‫از‬ ‫ایمیج‬ ‫گرفتن‬ ‫امکان‬ – ‫کل‬‫اورا‬ ‫ریپوزیوری‬ – ‫فدورا‬ ‫ریپوزیتوری‬ - ‫هاب‬ ‫کر‬‫دا‬ : ‫جمله‬ ‫از‬ ، ‫کنیم‬ ‫استفاده‬ ‫مختلف‬ ‫های‬ ‫ایمیج‬ ‫از‬ ‫توانیم‬ ‫می‬ ‫ما‬ quay.io… ‫و‬ ‫دستور‬inspect: Podman inspect debian
  • 44. . ‫میگیرد‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫ایمیج‬ ‫ساختار‬ ‫نمایش‬ ‫برای‬ ‫دستور‬ ‫این‬ podman-inspect(1)() podman-inspect(1)() NAME podman-inspect - Display a container, image, volume, network, or pod's configuration SYNOPSIS podman inspect [options] name [...] DESCRIPTION This displays the low-level information on containers and images identified by name or ID. By de‐
  • 45. fault, this will render all results in a JSON array. If the inspect type is all, the order of in‐ spection is: containers, images, volumes, network, pods. So, if a container has the same name as an image, then the container JSON will be returned, and so on. If a format is specified, the given template will be executed for each result. For more inspection options, see: podman container inspect podman image inspect podman network inspect podman pod inspect podman volume inspect OPTIONS --type, -t=type Return JSON for the specified type. Type can be 'container', 'image', 'volume', 'network', 'pod', or 'all' (default: all) (Only meaningful when invoked as podman inspect) --format, -f=format
  • 46. Format the output using the given Go template. The keys of the returned JSON can be used as the values for the --format flag (see examples below). --latest, -l Instead of providing the container name or ID, use the last created container. If you use methods other than Podman to run containers such as CRI-O, the last started container could be from ei‐ ther of those methods. This option can be used to inspect the latest pod created when used with --type pod The latest option is not supported on the remote client or when invoked as podman image inspect. --size, -s In addition to normal output, display the total file size if the type is a container. EXAMPLE # podman inspect fedora [ {
  • 47. "Id": "f0858ad3febdf45bb2e5501cb459affffacef081f79eaa436085c3b6d9bd46ca", "Digest": "sha256:d4f7df6b691d61af6cee7328f82f1d8afdef63bc38f58516858ae3045083924a", "RepoTags": [ "docker.io/library/fedora:latest" ], # podman inspect a04 --format "{{.ImageName}}" fedora # podman inspect a04 --format "{{.GraphDriver.Name}}" overlay # podman image inspect --format "size: {{.Size}}" alpine size: 4405240 podman container inspect --latest --format {{.EffectiveCaps}} [CAP_CHOWN CAP_DAC_OVERRIDE CAP_FSETID CAP_FOWNER CAP_MKNOD CAP_NET_RAW CAP_SETGID CAP_SETUID CAP_SETFCAP CAP_SETPCAP CAP_NET_BIND_SERVICE CAP_SYS_CHROOT CAP_KILL CAP_AUDIT_WRITE] # podman inspect myPod --type pod --format "{{.Name}}"
  • 48. myPod # podman inspect myVolume --type volume --format "{{.Name}}" myVolume # podman inspect nyNetwork --type network --format "{{.name}}" myNetwork
  • 49. ‫دستور‬images: . ‫میباشد‬ ‫مشاهده‬ ‫قابل‬ ‫ها‬ ‫ایمیج‬ ‫لیست‬ ‫اینجا‬ ‫در‬ EXAMPLE # podman images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/kubernetes/pause latest e3d42bcaf643 3 years ago 251 kB <none> <none> ebb91b73692b 4 weeks ago 27.2 MB docker.io/library/ubuntu latest 4526339ae51c 6 weeks ago 126 MB # podman images --quiet e3d42bcaf643 ebb91b73692b 4526339ae51c
  • 50. # podman images --noheading docker.io/kubernetes/pause latest e3d42bcaf643 3 years ago 251 kB <none> <none> ebb91b73692b 4 weeks ago 27.2 MB docker.io/library/ubuntu latest 4526339ae51c 6 weeks ago 126 MB # podman images --no-trunc # podman images --format "table {{.ID}} {{.Repository}} {{.Tag}}" IMAGE ID REPOSITORY TAG e3d42bcaf643 docker.io/kubernetes/pause latest ebb91b73692b <none> <none> 4526339ae51c docker.io/library/ubuntu latest # podman images --filter dangling=true REPOSITORY TAG IMAGE ID CREATED SIZE <none> <none> ebb91b73692b 4 weeks ago 27.2 MB
  • 51. ‫دستور‬rmi: podman rmi container-registry.oracle.com/os/oraclelinux:7-slim podman rmi debian . ‫دارد‬ ‫کاربرد‬ ‫ایمیج‬ ‫حذف‬ ‫برای‬ ‫دستور‬ ‫این‬ Remove an image by its short ID $ podman rmi c0ed59d05ff7
  • 52. Remove an image and its associated containers. $ podman rmi --force imageID Remove multiple images by their shortened IDs. $ podman rmi c4dfb1609ee2 93fd78260bd1 c0ed59d05ff7 Remove all images and containers. $ podman rmi -a -f
  • 53. ‫دستور‬info: ‫های‬ ‫ويژگی‬ ‫و‬ ‫ساختار‬ ‫مشاهده‬ ‫برای‬ ‫دستور‬ ‫این‬podman , container. ‫میگیره‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬
  • 54. ‫دستور‬create ‫شده‬ ‫دانلود‬ ‫ایمیج‬ ‫از‬ ‫کانتینر‬ ‫ساختن‬ ‫دستور‬RUN: . ‫میگیرد‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫ما‬ ‫دستورات‬ ‫اجرای‬ ‫برای‬ ‫دستور‬ ‫این‬
  • 55. . ‫شویم‬ ‫آن‬ ‫وارد‬ ‫و‬ ‫بسازیم‬ ‫را‬ ‫خود‬ ‫کانتینر‬ ‫ایمیج‬ ‫از‬ ‫همزمان‬ ‫داریم‬ ‫را‬ ‫امکان‬ ‫این‬ ‫ما‬ --name ‫نام‬ ‫برای‬ -i makes the container interactive -t connects the local terminal to the container ‫دستور‬start
  • 56. . ‫میگیرد‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫کانتینر‬ ‫کردن‬ ‫استارت‬ ‫برای‬ ‫دستور‬ ‫این‬ ‫دستور‬PS ‫دستور‬ps. ‫میگیرد‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫شده‬ ‫روشن‬ ‫های‬ ‫کانتینر‬ ‫نمایش‬ ‫برای‬ ‫دستور‬stats ‫ا‬. ‫میدهد‬ ‫نشان‬ ‫را‬ ‫کانتینر‬ ‫هر‬ ‫شده‬ ‫استفاده‬ ‫منابع‬ ‫مشاهده‬ ‫برای‬ ‫دستور‬ ‫ین‬ ‫دستورات‬ ‫راهنمای‬PODMAN : ‫نمایید‬ ‫استفاده‬ ‫زیر‬ ‫موارد‬ ‫از‬ ‫میتوانید‬ ‫دستورات‬ ‫راهنمای‬ ‫از‬ ‫استفاده‬ ‫برای‬ podman help ps
  • 58.
  • 59. ‫دستور‬STOP: . ‫میگیرد‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫کانتینر‬ ‫کردن‬ ‫خاموش‬ ‫برای‬ ‫دستور‬ ‫این‬ Stop one or more containers Description: Stops one or more running containers. The container name or ID can be used. A timeout to forcibly stop the container can also be set but defaults to 10 seconds otherwise. Usage: podman stop [options] CONTAINER [CONTAINER...] Examples: podman stop ctrID podman stop --latest podman stop --time 2 mywebserver 6e534f14da9d Options: -a, --all Stop all running containers --cidfile stringArray Read the container ID from the file -i, --ignore Ignore errors when a specified container is missing -l, --latest Act on the latest container podman is aware of Not supported with the "--remote" flag -t, --time uint Seconds to wait for stop before killing the container (default 10)
  • 60. ‫دستور‬Logs: . ‫میگیرد‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫گیری‬ ‫الگ‬ ‫و‬ ‫کانتینر‬ ‫در‬ ‫مرتبط‬ ‫تعغیرات‬ ‫مشاهده‬ ‫برای‬ ‫دستور‬ ‫این‬
  • 61. Description: Retrieves logs for one or more containers. This does not guarantee execution order when combined with podman run (i.e., your run may not have generated any logs at the time you execute podman logs). Usage: podman logs [options] CONTAINER [CONTAINER...] Examples: podman logs ctrID podman logs --names ctrID1 ctrID2 podman logs --tail 2 mywebserver podman logs --follow=true --since 10m ctrID podman logs mywebserver mydbserver Options:
  • 62. -f, --follow Follow log output. The default is false -l, --latest Act on the latest container podman is aware of Not supported with the "--remote" flag -n, --names Output the container name in the log --since string Show logs since TIMESTAMP --tail int Output the specified number of LINES at the end of the logs. Defaults to -1, which prints all lines (default -1) -t, --timestamps Output the timestamps in the log
  • 63. ‫ب‬‫عضی‬‫حال‬ … ‫و‬ ‫هایی‬ ‫ساختار‬ ‫نصب‬ ‫نمونه‬ ‫برای‬ . ‫بدهید‬ ‫آن‬ ‫به‬ ‫اجرا‬ ‫برای‬ ‫را‬ ‫دستوراتی‬ ‫و‬ ‫بسازید‬ ‫گراند‬ ‫بک‬ ‫در‬ ‫کانتینر‬ ‫یک‬ ‫دارید‬ ‫نیاز‬ ‫شما‬ ‫مواقع‬ ‫؟‬ ‫کرد‬ ‫توان‬ ‫می‬ ‫چه‬ ‫کار‬ ‫این‬ ‫برای‬ podman run -d --name=oracledaemon container-registry.oracle.com/os/oraclelinux:7-slim su -c 'yum install httpd && httpd -Dforeground'
  • 64. ‫دارد‬ ‫ادامه‬.… ‫بررسی‬ ‫به‬ ‫کتاب‬ ‫بعدی‬ ‫نسخه‬ ‫در‬pod‫در‬ ‫استوریج‬ ‫و‬podman . ‫پرداخت‬ ‫خواهیم‬