‫تعالی‬ ‫باسمه‬
openstack Rally
‌
: ‫نویسنده‬
‫دخت‬ ‫اسمعیل‬ ‫یاشار‬ ‫مهندس‬
: ‫نسخه‬
0.1
: ‫نویسنده‬ ‫درباره‬
‫رشته‬ ‫آموخته‬ ‫دانش‬ ‫دخت‬ ‫اسمعیل‬ ‫یاشار‬ ‫بنده‬
cyber security
. ‫هستم‬
‫از‬ ‫بیش‬
۱۵
. ‫دارم‬ ‫فعالیت‬ ‫سابقه‬ ‫سال‬
‫مولف‬ - ‫مدرس‬ - ‫مشاور‬ : ‫داد‬ ‫شرح‬ ‫زیر‬ ‫های‬ ‫ساختار‬ ‫در‬ ‫میتوان‬ ‫را‬ ‫بنده‬ ‫های‬ ‫فعالیت‬ ‫جمله‬ ‫از‬
gnu/linux system/network/security/cloud Engineer/administrator & oracle dba | Linux Trainer |devops
. ): ‫جدید‬ ‫دنیاهای‬ ‫کشف‬ ‫و‬ ‫تحقیق‬ ‫و‬ ‫مطالعه‬ ‫به‬ ‫مند‬ ‫عالقه‬
. ‫کنم‬ ‫اشاره‬ ‫استراتژی‬ ‫های‬ ‫بازی‬ ‫و‬ ‫اوتلو‬ ‫و‬ ‫شطرنج‬ ‫بازی‬ ‫به‬ ‫میتوانم‬ ‫من‬ ‫های‬ ‫سرگرمی‬ ‫از‬ ‫واقع‬ ‫در‬
‫تبریز‬ ‫الگ‬ ‫گذاران‬ ‫بنیان‬ ‫از‬ ‫یکی‬ ‫و‬ ‫لینوکس‬/‫گنو‬ ‫و‬ ‫باز‬ ‫متن‬ ‫دنیای‬ ‫عاشق‬ . ‫هستم‬ ‫عاشق‬ ‫یک‬ ‫من‬
: ‫کنید‬ ‫پیدا‬ ‫و‬ ‫کنید‬ ‫دنبال‬ ‫را‬ ‫من‬ ‫میتوانید‬ ‫چطور‬ ‫خب‬
Mob : 09141100257
Telegram ID
Telegram channel
Instagram Account
Linkedin Account
. ‫بشنوم‬ ‫را‬ ‫انتقادتون‬ ‫یا‬ ‫پیشنهاد‬ ‫هرگونه‬ ‫میشم‬ ‫خوشحال‬ ‫همچنین‬
: ‫کنید‬ ‫پیدا‬ ‫را‬ ‫من‬ ‫از‬ ‫ی‬ ‫دیگر‬ ‫های‬ ‫کتاب‬ ‫میتونید‬ ‫چطور‬
‫توی‬
slideshare
. ‫کنید‬ ‫پیدا‬ ‫را‬ ‫کردم‬ ‫منتشر‬ ‫آزاد‬ ‫بصورت‬ ‫که‬ ‫دیگری‬ ‫های‬ ‫کتاب‬ ‫میتونید‬ ‫بگردید‬ ‫من‬ ‫اسم‬ ‫دنبال‬ ‫گوگل‬ ‫یا‬
‫این‬ ‫از‬ ‫میتوانید‬ ‫هم‬ ‫دونیت‬ ‫جهت‬
‫لینک‬
‫کنید‬ ‫استفاده‬
: ‫مشاوره‬
. ‫بود‬ ‫خواهم‬ ‫شما‬ ‫دسترس‬ ‫در‬ ‫من‬ . ‫فرمایید‬ ‫حاصل‬ ‫تماس‬ . ‫کردم‬ ‫اشاره‬ ‫قبل‬ ‫صفحه‬ ‫در‬ ‫که‬ ‫هایی‬ ‫کانال‬ ‫از‬ ‫میتوانید‬ ‫مشاوره‬ ‫جهت‬
: ‫به‬ ‫تقدیم‬
‫خدا‬
‫شتافت‬ ‫یاریم‬ ‫به‬ ‫که‬ ‫بود‬ ‫او‬ ‫تنها‬ ‫هایم‬ ‫سختی‬ ‫در‬ ‫که‬ ‫چرا‬
‫مادرم‬
‫اویم‬ ‫مدیون‬ ‫که‬ ‫را‬ ‫حبت‬َ
‫م‬ ‫و‬ ‫انسانیت‬ ‫داد‬ ‫یاد‬ ‫و‬ . ‫کرد‬ ‫تقدیم‬ ‫زندگی‬ ‫به‬ ‫مرا‬ ‫که‬ ‫چرا‬
‫پدرم‬
‫اویم‬ ‫مدیون‬ ‫و‬ ‫بود‬ ‫من‬ ‫حامی‬ ‫همیشه‬ ‫روحش‬ ‫که‬
‫عشقم‬
‫هست‬ ‫و‬ ‫بود‬ ‫مشوقم‬ ‫که‬
‫سورس‬ ‫اپن‬ ‫جامعه‬
‫بشریت‬
‫را‬ ‫هایش‬ ‫دانسته‬ ‫میکند‬ ‫منتشر‬ ‫و‬ ‫میخواند‬ ‫که‬ ‫او‬ ‫و‬
): ‫هیچ‬ ‫دیگر‬ ‫و‬ ‫جهانی‬ ‫صلح‬ ‫امید‬ ‫به‬ ‫و‬
‫که‬ ‫کرد‬ ‫بررسی‬ ‫را‬ ‫مفهوم‬ ‫این‬ ‫باید‬ ‫مقاله‬ ‫شروع‬ ‫قبل‬
openstack
‫؟‬ ‫چیست‬
‌
: ‫جمله‬ ‫از‬ ‫داریم‬ ‫ساختار‬ ‫چندین‬ ‫ما‬ ‫ابر‬ ‫مفهوم‬ ‫در‬ ‫‌واقع‬
‫ر‬‫د‬ . ‫میباشد‬ ‫ابر‬ ‫‌سازی‬
‫ه‬‫پیاد‬ ‫برای‬ ‫اکوسیستم‬ ‫یک‬ ‫‌واقع‬
‫ر‬‫د‬ ‫و‬ ‫سکو‬ ‫یک‬ ‫استک‬ ‫اپن‬
Infrastructure as a service (Iaas)
Platform as a service (Paas)
Software as a service (Saas)
Network as a service (Naas)
Storage as a service (Staas)
xaas (anything as a service)
Security as a service
Load balancing as a service
Dns as a service
And …
‫پردازش‬ ‫کارهای‬ ‫گذاری‬ ‫اشتراک‬ ‫امکان‬ ‫تا‬ ‫هستند‬ ‫شبکه‬ ‫در‬ ‫دور‬ ‫راه‬ ‫از‬ ‫سرورهای‬ ‫از‬ ‫بزرگی‬ ‫های‬ ‫گروه‬ ‫آن‬ ‫در‬ ‫که‬ ‫اینترنت‬ ‫بر‬ ‫مبتنی‬ ‫محاسبات‬
.‫شود‬ ‫فراهم‬ ‫‌ای‬
‫ه‬‫رایان‬ ‫منابع‬ ‫یا‬ ‫خدمات‬ ‫به‬ ‫آنالین‬ ‫دسترسی‬ ‫و‬ ‫‌ها‬
‫ه‬‫داد‬ ‫متمرکز‬ ‫سازی‬ ‫ذخیره‬ ،‫‌ها‬
‫ه‬‫داد‬
Cloud
،‫اینترنت‬ ‫طریق‬ ‫از‬ ‫محاسباتی‬ ‫خدمات‬ ‫انواع‬ ‫شامل‬ ‫که‬ ‫است‬ ‫‌ای‬
‫ه‬‫رایان‬ ‫منابع‬ ‫از‬ ‫مشترک‬ ‫مجموعه‬ ‫یک‬
AI ،Big Data
‫و‬ ‫وب‬ ‫‌های‬
‫ه‬‫برنام‬ ،
.‫‌کنیم‬
‫ی‬‫م‬ ‫استفاده‬ ‫دیگری‬ ‫شخص‬ ‫یا‬ ‫سازمان‬ ‫رایانه‬ ‫منابع‬ ‫از‬ ‫موقت‬ ‫طور‬ ‫به‬ ‫واقع‬ ‫در‬ ‫ما‬ ،‫مدل‬ ‫این‬ ‫در‬ .‫‌شود‬
‫ی‬‫م‬ ‫غیره‬
IaaS
‫چیست؟‬
‫یا‬ ‫سرویس‬ ‫عنوان‬ ‫به‬ ‫زیرساخت‬
Infrastructure as a service
‫مانند‬ ‫منابعی‬ ‫‌تواند‬
‫ی‬‫م‬ )‫(مشتری‬ ‫شما‬ ‫به‬ ‫کننده‬ ‫فراهم‬ ‫که‬ ‫معناست‬ ‫این‬ ‫به‬
‫همگانی‬ ‫مدیریت‬ ‫و‬ ‫‌افزار‬
‫ت‬‫سخ‬ ‫خرید‬ ‫به‬ ‫نیازی‬ ‫دیگر‬ ‫شما‬ ‫بنابراین‬ .‫بدهد‬ ‫را‬ …‫و‬ ‫عامل‬ ‫سیستم‬ ،‫شبکه‬ ‫مختلف‬ ‫اجزای‬ ،‫داده‬ ‫‌سازی‬
‫ه‬‫ذخیر‬ ،‫سرور‬
‫این‬ ‫به‬ ‫‌تان‬
‫ی‬‫دسترس‬ ‫میزان‬ ‫‌توانید‬
‫ی‬‫م‬ ‫شما‬ .‫باشید‬ ‫داشته‬ ‫اختیار‬ ‫در‬ ‫سرویس‬ ‫یکسری‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫‌توانید‬
‫ی‬‫م‬ ‫اما‬ ،‫ندارید‬ ‫موارد‬ ‫این‬ ‫تمام‬
‫‌های‬
‫س‬‫سروی‬ ‫‌گوییم‬
‫ی‬‫م‬ ‫که‬ ‫روست‬ ‫این‬ ‫از‬ .‫کنید‬ ‫گسترده‬ ‫یا‬ ‫محدود‬ ‫را‬ ‫منابع‬
IaaS
.‫باشند‬ ‫‌پذیر‬
‫س‬‫مقیا‬ ‫‌توانند‬
‫ی‬‫م‬
‫مزایای‬
IaaS
IaaS
‫از‬ .‫ندارند‬ ‫را‬ ‫‌افزاری‬
‫ت‬‫سخ‬ ‫منابع‬ ‫از‬ ‫زیاد‬ ‫بسیار‬ ‫استفاده‬ ‫برای‬ ‫امکانی‬ ‫و‬ ‫دلیل‬ ،‫قصد‬ ‫که‬ ‫باشد‬ ‫‌هایی‬
‫ت‬‫شرک‬ ‫برای‬ ‫گزینه‬ ‫بهترین‬ ‫‌تواند‬
‫ی‬‫م‬
‫که‬ ‫آنجایی‬
IaaS
‫کنید‬ ‫تصور‬ ‫مثال‬ ‫برای‬ .‫باشد‬ ‫مناسب‬ ‫‌کنند‬
‫ی‬‫م‬ ‫تغییر‬ ‫ناگهانی‬ ‫صورت‬ ‫به‬ ‫که‬ ‫‌هایی‬
‫ن‬‫اپلیکیش‬ ‫برای‬ ‫‌تواند‬
‫ی‬‫م‬ ،‫است‬ ‫‌پذیر‬
‫س‬‫مقیا‬
‫صورت‬ ‫این‬ ‫در‬ ،‫باشد‬ ‫نیازمند‬ ‫منابع‬ ‫از‬ ‫میزان‬ ‫چه‬ ‫به‬ ‫‌ها‬
‫ه‬‫داد‬ ‫پردازش‬ ‫برای‬ ‫است‬ ‫ممکن‬ ‫آینده‬ ‫در‬ ‫که‬ ‫‌دانید‬
‫ی‬‫نم‬ ‫و‬ ‫‌اید‬
‫ه‬‫ساخت‬ ‫اپلیکیشن‬ ‫یک‬ ‫که‬
IaaS
.‫یابد‬ ‫تطبیق‬ ‫شما‬ ‫نیاز‬ ‫براساس‬ ‫‌تواند‬
‫ی‬‫م‬
•
‫از‬ ‫استفاده‬ ‫در‬ ‫‌تان‬
‫ی‬‫‌ها‬
‫ه‬‫هزین‬ ،‫ندارید‬ ‫‌ها‬
‫ن‬‫آ‬ ‫مدیریت‬ ‫برای‬ ‫محیطی‬ ‫اجاره‬ ‫و‬ ‫‌افزار‬
‫ت‬‫سخ‬ ‫خرید‬ ‫به‬ ‫نیازی‬ ‫که‬ ‫آنجایی‬ ‫از‬
IaaS
‫کم‬ ‫بسیار‬
.‫بود‬ ‫خواهد‬
•
.‫داد‬ ‫خواهند‬ ‫انجام‬ ‫سرویس‬ ‫خود‬ ‫مدیران‬ ‫که‬ ‫است‬ ‫فرایندی‬ ‫‌سازی‬
‫ی‬‫مجاز‬
•
.‫داشت‬ ‫خواهید‬ ‫‌ها‬
‫ت‬‫زیرساخ‬ ‫روی‬ ‫کاملی‬ ‫کنترل‬ ‫شما‬
•
.‫‌گیرید‬
‫ی‬‫م‬ ‫انجام‬ ‫سرعت‬ ‫به‬ ‫سرویس‬ ‫از‬ ‫نوع‬ ‫این‬ ‫در‬ ‫‌پذیری‬
‫س‬‫مقیا‬
 
•
.‫بود‬ ‫خواهد‬ ‫‌تان‬
‫ف‬‫مصر‬ ‫میزان‬ ‫براساس‬ ‫شما‬ ‫‌های‬
‫ه‬‫هزین‬
•
،‫دیگر‬ ‫‌های‬
‫س‬‫سروی‬ ‫با‬ ‫مقایسه‬ ‫در‬
IaaS
.‫‌کند‬
‫ی‬‫م‬ ‫ارائه‬ ‫شما‬ ‫به‬ ‫را‬ ‫‌پذیری‬
‫ف‬‫انعطا‬ ‫بیشترین‬
PaaS
‫چیست؟‬
‫‌های‬
‫س‬‫سروی‬ ،‫‌ها‬
‫ت‬‫زیرساخ‬ ‫بر‬ ‫اضافه‬
PaaS
،‫داده‬ ‫توسعه‬ ‫را‬ ‫‌تان‬
‫ی‬‫‌افزارها‬
‫م‬‫نر‬ ‫‌توانید‬
‫ی‬‫م‬ ‫آن‬ ‫در‬ ‫که‬ ‫‌دهند‬
‫ی‬‫م‬ ‫را‬ ‫محیطی‬ ‫از‬ ‫استفاده‬ ‫قابلیت‬ ‫شما‬ ‫به‬
‫بتوانند‬ ‫‌فزار‬
‫م‬‫نر‬ ‫مهندسین‬ ‫که‬ ‫است‬ ‫آن‬ ‫سرویس‬ ‫این‬ ‫اصلی‬ ‫هدف‬ ‫واقع‬ ‫در‬ .‫باشید‬ ‫داشته‬ ‫‌ها‬
‫ن‬‫آ‬ ‫روی‬ ‫مناسبی‬ ‫مدیریت‬ ‫نهایت‬ ‫در‬ ‫و‬ ‫کنید‬ ‫تست‬
‫داده‬ ‫‌سازی‬
‫ه‬‫ذخیر‬ ‫و‬ ‫سیستم‬ ‫مدیریت‬ ،‫‌ها‬
‫ی‬‫بروزرسان‬ ‫بابت‬ ‫از‬ ‫نگرانی‬ ‫دیگر‬ ‫و‬ ‫باشند‬ ‫داشته‬ ‫‌ها‬
‫ن‬‫اپلیکیش‬ ‫طراحی‬ ‫روی‬ ‫را‬ ‫ممکن‬ ‫تمرکز‬ ‫بیشترین‬
.‫باشند‬ ‫نداشته‬
‫مزایای‬
PaaS
•
‫که‬ ‫‌هایی‬
‫ت‬‫قابلی‬ ‫روی‬ ‫‌تواند‬
‫ی‬‫م‬ ‫شما‬ ‫شرکت‬
PaaS
.‫نباشد‬ ‫منابع‬ ‫بابت‬ ‫از‬ ‫نگران‬ ‫و‬ ‫کرده‬ ‫حساب‬ ‫‌کند‬
‫ی‬‫م‬ ‫ارائه‬
 
•
.‫است‬ ‫کم‬ ‫بسیار‬ ‫سرویس‬ ‫این‬ ‫در‬ ‫‌افزار‬
‫م‬‫نر‬ ‫دیپلوی‬ ‫و‬ ‫توسعه‬ ‫پروسه‬
•
.‫باشید‬ ‫‌تان‬
‫ن‬‫اپلیکیش‬ ‫ساخت‬ ‫نگران‬ ‫تنها‬ ‫شما‬ ‫بنابراین‬ ،‫‌شود‬
‫ی‬‫م‬ ‫انجام‬ ‫‌دهنده‬
‫س‬‫سروی‬ ‫توسط‬ ‫سرور‬ ‫مدیریت‬ ‫فرایندهای‬ ‫تمام‬
•
.‫‌دهد‬
‫ی‬‫م‬ ‫را‬ ‫‌تان‬
‫م‬‫تی‬ ‫با‬ ‫دور‬ ‫راه‬ ‫از‬ ‫همکاری‬ ‫قابلیت‬ ‫شما‬ ‫به‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫سرویس‬ ‫این‬ ‫در‬ ‫امکاناتی‬
‫احتمالی‬ ‫مشکالت‬
•
‫شدن‬ ‫قطع‬ ‫صورت‬ ‫در‬ ‫است‬ ‫شده‬ ‫ساخته‬ ‫منابع‬ ‫این‬ ‫پایه‬ ‫بر‬ ‫شما‬ ‫سرویس‬ ‫که‬ ‫آنجایی‬ ‫از‬ ‫و‬ .‫است‬ ‫محدود‬ ‫سرور‬ ‫منابع‬ ‫روی‬ ‫شما‬ ‫کنترل‬
.‫دهید‬ ‫انجام‬ ‫را‬ ‫کاری‬ ‫هیچ‬ ‫‌توانید‬
‫ی‬‫نم‬ ‫شما‬ ‫منابع‬
•
‫از‬ ‫استفاده‬ ‫با‬
PaaS
‫امنیتی‬ ‫مشکالت‬ ‫آوردن‬ ‫بوجود‬ ‫باعث‬ ‫مسئله‬ ‫این‬ ‫خود‬ ‫که‬ ‫دارند‬ ‫منابع‬ ‫به‬ ‫را‬ ‫دسترسی‬ ‫میزان‬ ‫یک‬ ‫مختلف‬ ‫کاربران‬ ،
.‫‌شود‬
‫ی‬‫م‬
 
•
‫توسط‬ ‫که‬ ‫‌افزاری‬
‫م‬‫نر‬ ‫محیط‬
PaaS
‫مطمئن‬ ‫رو‬ ‫این‬ ‫از‬ .‫باشد‬ ‫داشته‬ ‫ابزاری‬ ‫پشتیبانی‬ ‫نظر‬ ‫از‬ ‫‌هایی‬
‫ت‬‫محدودی‬ ‫است‬ ‫ممکن‬ ‫‌شود‬
‫ی‬‫م‬ ‫ارائه‬
‫‌دهنده‬
‫س‬‫سروی‬ ‫که‬ ‫شوید‬
PaaS
.‫‌کند‬
‫ی‬‫م‬ ‫فراهم‬ ‫شما‬ ‫برای‬ ‫را‬ ‫موجود‬ ‫ابزارهای‬ ‫تمام‬
SaaS
‫چیست؟‬
‫یا‬ ‫عنوان‬ ‫به‬ ‫‌افزار‬
‫م‬‫نر‬
SaaS
‫یک‬ ‫در‬ ‫که‬ ‫است‬ ‫این‬ ‫بکنید‬ ‫باید‬ ‫که‬ ‫کاری‬ ‫تنها‬ .‫است‬ ‫ابری‬ ‫پردازش‬ ‫برای‬ ‫‌ها‬
‫ه‬‫گزین‬ ‫‌ترین‬
‫ه‬‫شد‬ ‌
‫ه‬‫شناخت‬ ‫از‬ ‫یکی‬
‫سرویس‬
SaaS
.‫ندارید‬ …‫و‬ ‫سرور‬ ‫مدیریت‬ ‫بابت‬ ‫از‬ ‫نگرانی‬ ‫هیچ‬ ‫شما‬ ‫بنابراین‬ .‫‌کنید‬
‫ی‬‫م‬ ‫اجرا‬ ‫را‬ ‫‌افزارتان‬
‫م‬‫نر‬ ‫و‬ ‫کرده‬ ‫نام‬ ‫ثبت‬
‫‌دهندگان‬
‫س‬‫سروی‬
SaaS
‫تمرکز‬ ‫‌توانند‬
‫ی‬‫م‬ ‫‌نویسان‬
‫ه‬‫برنام‬ ‫رو‬ ‫این‬ ‫از‬ .‫‌دهند‬
‫ی‬‫م‬ ‫انجام‬ ‫را‬ ‫‌ها‬
‫ی‬‫بروزرسان‬ ‫و‬ ‫‌کنند‬
‫ی‬‫م‬ ‫مدیریت‬ ‫را‬ ‫‌ها‬
‫ت‬‫زیرساخ‬ ‫تمام‬
.‫باشند‬ ‫نداشته‬ ‫دیگری‬ ‫نگرانی‬ ‫و‬ ‫گذاشته‬ ‫‌افزار‬
‫م‬‫نر‬ ‫روی‬ ‫را‬ ‫بیشتری‬
‫درحالیکه‬
IaaS
‫و‬ ‫دارد‬ ‫نیاز‬ ‫‌داری‬
‫ه‬‫نگ‬ ‫برای‬ ‫تخصصی‬ ‫دانش‬ ‫به‬
PaaS
،‫است‬ ‫شده‬ ‫طراحی‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫برای‬ ‫نیز‬
SaaS
‫در‬ ‫که‬ ‫است‬ ‫سرویسی‬
‫یک‬ ‫شما‬ ‫نهایت‬
end user
.‫بود‬ ‫خواهید‬ ‫آن‬ ‫برای‬
‫که‬ ‫گفت‬ ‫‌توان‬
‫ی‬‫م‬ ‫زیر‬ ‫دالیل‬ ‫به‬
SaaS
:‫دارد‬ ‫باالیی‬ ‫بسیار‬ ‫محبوبیت‬
•
.‫است‬ ‫ساده‬ ‫بسیار‬ ‫‌ها‬
‫ن‬‫اپلیکیش‬ ‫دیپلوی‬ ‫و‬ ‫نصب‬
•
.‫است‬ ‫کم‬ ‫بسیار‬ ‫آن‬ ‫هزینه‬
•
.‫است‬ ‫راحت‬ ‫آن‬ ‫در‬ ‫ارتقا‬ ‫و‬ ‫بروزرسانی‬
‫احتمالی‬ ‫مشکالت‬
•
.‫کند‬ ‫ایجاد‬ ‫خالل‬ ‫کارتان‬ ‫در‬ ‫است‬ ‫ممکن‬ ‫تکنیکی‬ ‫مشکالت‬ ‫رو‬ ‫این‬ ‫از‬ ‫و‬ ‫ندارید‬ ‫اپلیکیشن‬ ‫اجرایی‬ ‫محیط‬ ‫روی‬ ‫کنترلی‬ ‫هیچ‬ ‫شما‬
•
.‫شوند‬ ‫روبرو‬ ‫امنیتی‬ ‫مشکالت‬ ‫برخی‬ ‫با‬ ‫است‬ ‫ممکن‬ ‫کاربران‬
‫نام‬ ‫به‬ ‫فردی‬ ‫پیش‬ ‫سال‬ ‫چند‬
Albert Barron
‫انجمن‬ ‫در‬
IBM
‫با‬ ‫پیتزا‬ ‫یک‬ ‫ساخت‬ ‫پروسه‬ ‫طریق‬ ‫از‬ ‫را‬ ‫مختلف‬ ‫‌های‬
‫ل‬‫مد‬ ‫میان‬ ‫‌های‬
‫ت‬‫تفاو‬
.‫کرد‬ ‫مقایسه‬ ‫همدیگر‬
‫باید‬ ‫‌دهنده‬
‫س‬‫سروی‬ ‫که‬ ‫است‬ ‫کارهایی‬ ‫‌دهنده‬
‫ن‬‫نشا‬ ‫سبز‬ ‫رنگ‬ ‫و‬ ‫دهید‬ ‫انجام‬ ‫باید‬ ‫شما‬ ‫که‬ ‫است‬ ‫کارهایی‬ ‫‌دهنده‬
‫ن‬‫نشا‬ ‫باال‬ ‫تصویر‬ ‫در‬ ‫آبی‬ ‫رنگ‬
.‫دهد‬ ‫انجام‬
‫را‬ ‫شبکه‬ ‫‌های‬
‫ه‬‫الی‬ ،‫کنید‬ ‫مدیریت‬ ‫را‬ ‫سرور‬ ‫باید‬ ‫که‬ ‫شمایید‬ .‫دارید‬ ‫‌ها‬
‫ش‬‫بخ‬ ‫تمام‬ ‫روی‬ ‫کاملی‬ ‫کنترل‬ ‫شما‬ ،‫است‬ ‫سنتی‬ ‫مدل‬ ‫که‬ ‫مدل‬ ‫اولین‬ ‫در‬
‫همان‬ ‫که‬ ‫دوم‬ ‫مدل‬ ‫در‬ . …‫و‬ ‫بگیرید‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫حافظه‬ ‫مدیریت‬ ،‫نمایید‬ ‫بررسی‬
IaaS
‫بجز‬ ‫و‬ ‫دارید‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫کنترل‬ ‫بیشتر‬ ‫شما‬ ،‫است‬
‫همان‬ ‫یا‬ ‫سوم‬ ‫حالت‬ ‫در‬ .‫دهید‬ ‫انجام‬ ‫باید‬ ‫را‬ ‫کارها‬ ‫تمام‬ ‫‌سازی‬
‫ی‬‫مجاز‬ ‫و‬ ‫‌افزار‬
‫ت‬‫سخ‬ ‫مدیریت‬
PaaS
‫صورت‬ ‫به‬ ‫کارها‬ ‫تقریبا‬
۵۰
-
۵۰
‫‌شود‬
‫ی‬‫م‬ ‫انجام‬
‫که‬ ‫آخر‬ ‫حالت‬ ‫نهایت‬ ‫در‬ ‫و‬
SaaS
‫چرا‬ ‫ندارد‬ ‫سازگاری‬ ‫منطق‬ ‫با‬ ‫حدی‬ ‫تا‬ ‫آخر‬ ‫حالت‬ ‫البته‬ .‫‌شود‬
‫ی‬‫م‬ ‫انجام‬ ‫‌دهنده‬
‫س‬‫سروی‬ ‫توسط‬ ‫کارها‬ ‫تمام‬ ،‫است‬
.‫‌دهید‬
‫ی‬‫م‬ ‫انجام‬ ‫شما‬ ‫نیز‬ ‫را‬ ‫کارها‬ ‫از‬ ‫بخشی‬ ‫که‬
،‫کند‬ ‫اجرا‬ ‫دردسر‬ ‫بدون‬ ‫را‬ ‫‌افزارتان‬
‫م‬‫نر‬ ‫بتواند‬ ‫که‬ ‫هستید‬ ‫‌ای‬
‫ه‬‫‌دهند‬
‫س‬‫سروی‬ ‫دنبال‬ ‫به‬ ‫تنها‬ ‫اگر‬
SaaS
‫از‬ ‫میزانی‬ ‫به‬ ‫اگر‬ .‫‌کنیم‬
‫ی‬‫م‬ ‫پیشنهاد‬ ‫را‬
‫دارید‬ ‫نیاز‬ ‫تنظیمات‬ ‫و‬ ‫‌سازی‬
‫ی‬‫سفارش‬
PaaS
‫به‬ ‫و‬ ‫باشید‬ ‫داشته‬ ‫‌ها‬
‫ت‬‫زیرساخ‬ ‫روی‬ ‫کاملتری‬ ‫کنترل‬ ‫‌خواهید‬
‫ی‬‫م‬ ‫اگر‬ .‫شماست‬ ‫گزینه‬ ‫بهترین‬
‫دهید‬ ‫انجام‬ ‫را‬ ‫‌تان‬
‫ی‬‫کارها‬ ‫‌ای‬
‫ه‬‫حرف‬ ‫صورت‬
IaaS
.‫شماست‬ ‫مناسب‬
‫اما‬ ‫و‬
Rally
‌
‫؟‬ ‫دارد‬ ‫کاربردی‬ ‫چه‬ ‫و‬ ‫هست‬ ‫سرویسی‬ ‫چه‬
Rally
‫برای‬ ‫عملکرد‬ ‫تحلیل‬ ‫و‬ ‫تجزیه‬ ‫و‬ ‫محک‬ ‫ابزار‬ ‫یک‬
OpenStack
‫تمرکز‬ ‫با‬ ‫‌سازی‬
‫ه‬‫نمای‬ ‫و‬ ‫‌گیری‬
‫ه‬‫انداز‬ ‫خودکارسازی‬ ‫برای‬ ‫‌تواند‬
‫ی‬‫م‬ ‫که‬ ‫است‬
‫عملکرد‬ ‫بر‬ ‫جدید‬ ‫کد‬ ‫تغییرات‬ ‫تأثیر‬ ‫چگونگی‬ ‫بر‬
OpenStack
‫‌های‬
‫ی‬‫معمار‬ ‫چگونه‬ ‫اینکه‬ ‫بررسی‬ ‫و‬ ،‫عملکرد‬ ‫و‬ ‫‌بندی‬
‫س‬‫مقیا‬ ‫مشکالت‬ ‫شناسایی‬ ،
‫عملکرد‬ ‫بر‬ ‫مختلف‬ ‫‌افزارهای‬
‫ت‬‫سخ‬ ‫و‬ ‫استقرار‬
OpenStack
‫برای‬ ‫اساسی‬ ‫ابزار‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫آن‬ ‫از‬ ‫توان‬ ‫می‬ .‫شود‬ ‫استفاده‬ ‫‌گذارند‬
‫ی‬‫م‬ ‫تأثیر‬
‫سیستم‬
OpenStack CI/CD
‫مداوم‬ ‫طور‬ ‫به‬ ‫که‬ ‫کرد‬ ‫استفاده‬
SLA
.‫بخشد‬ ‫می‬ ‫بهبود‬ ‫را‬ ‫آن‬ ‫پایداری‬ ‫و‬ ‫عملکرد‬ ،
" :‫دهد‬ ‫می‬ ‫پاسخ‬ ‫سؤال‬ ‫این‬ ‫به‬ ‫که‬ ‫است‬ ‫آزمایش‬ ‫برای‬ ‫ابزار‬ ‫یک‬ ‫‌واقع‬
‫ر‬‫د‬
OpenStack
"‫کند؟‬ ‫می‬ ‫کار‬ ‫موجود‬ ‫مقیاس‬ ‫این‬ ‫در‬ ‫چگونه‬
Rally
‫آیا‬ ‫که‬ ‫شود‬ ‫بررسی‬ ‫که‬ ‫کند‬ ‫می‬ ‫فراهم‬ ‫را‬ ‫امکان‬ ‫این‬ ‫و‬ ،‫دهد‬ ‫می‬ ‫انجام‬ ‫عمومی‬ ‫روشی‬ ‫به‬ ‫را‬ ‫کار‬ ‫این‬
OpenStack
‫های‬ ‫ساختار‬ ‫روی‬
.… ‫دیگر‬ ‫های‬ ‫تست‬ ‫و‬ .‫خیر‬ ‫یا‬ ‫کند‬ ‫می‬ ‫کار‬ ‫خوبی‬ ‫به‬ ‫باال‬ ‫بار‬ ‫تحت‬ ‫نمونه‬ ‫برای‬ ‫مختلف‬
‫سیستم‬ ‫برای‬ ‫اساسی‬ ‫ابزار‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫آن‬ ‫از‬ ‫توان‬ ‫می‬ ‫بنابراین‬
OpenStack CI/CD
‫مداوم‬ ‫طور‬ ‫به‬ ‫که‬ ‫کرد‬ ‫استفاده‬
SLA
‫و‬ ‫عملکرد‬ ،
.‫بخشد‬ ‫می‬ ‫بهبود‬ ‫را‬ ‫آن‬ ‫پایداری‬
‫شک‬ ‫بدون‬
OpenStack
.‫است‬ ‫ابری‬ ‫رایانش‬ ‫بزرگ‬ ‫خدمات‬ ‫از‬ ‫عظیم‬ ً‫ا‬‫واقع‬ ‫اکوسیستم‬ ‫یک‬
Rally
‫این‬ ‫به‬ ‫که‬ ‫است‬ ‫آزمایش‬ ‫برای‬ ‫ابزار‬ ‫یک‬
" :‫دهد‬ ‫می‬ ‫پاسخ‬ ‫سؤال‬
OpenStack
"‫کند؟‬ ‫می‬ ‫کار‬ ‫موجود‬ ‫مقیاس‬ ‫این‬ ‫در‬ ‫چگونه‬
Rally
‫آیا‬ ‫که‬ ‫شود‬ ‫بررسی‬ ‫که‬ ‫کند‬ ‫می‬ ‫فراهم‬ ‫را‬ ‫امکان‬ ‫این‬ ‫و‬ ،‫دهد‬ ‫می‬ ‫انجام‬ ‫عمومی‬ ‫روشی‬ ‫به‬ ‫را‬ ‫کار‬ ‫این‬
OpenStack
‫های‬ ‫ساختار‬ ‫روی‬
.… ‫دیگر‬ ‫های‬ ‫تست‬ ‫و‬ .‫خیر‬ ‫یا‬ ‫کند‬ ‫می‬ ‫کار‬ ‫خوبی‬ ‫به‬ ‫باال‬ ‫بار‬ ‫تحت‬ ‫نمونه‬ ‫برای‬ ‫مختلف‬
‫سیستم‬ ‫برای‬ ‫اساسی‬ ‫ابزار‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫آن‬ ‫از‬ ‫توان‬ ‫می‬ ‫بنابراین‬
OpenStack CI/CD
‫مداوم‬ ‫طور‬ ‫به‬ ‫که‬ ‫کرد‬ ‫استفاده‬
SLA
‫و‬ ‫عملکرد‬ ،
.‫بخشد‬ ‫می‬ ‫بهبود‬ ‫را‬ ‫آن‬ ‫پایداری‬
‫فناوری‬ ‫و‬ ‫محصوالت‬ ‫پذیرش‬
OpenStack
‫انجمن‬ ‫به‬ ‫جدیدی‬ ‫‌کنندگان‬
‫ت‬‫مشارک‬ ‫روز‬ ‫هر‬ .‫است‬ ‫رشد‬ ‫حال‬ ‫در‬ ‫کننده‬ ‫خیره‬ ‫سرعتی‬ ‫با‬
OpenStack
‫درواقع‬ .‫‌شود‬
‫ی‬‫م‬ ‫عملکرد‬ ‫بهبود‬ ‫و‬ ‫جدید‬ ‫‌های‬
‫ی‬‫ویژگ‬ ‫نظر‬ ‫از‬ ،‫مداوم‬ ‫‌های‬
‫ی‬‫‌روزرسان‬
‫ه‬‫ب‬ ‫به‬ ‫منجر‬ ‫این‬ .‫‌پیوندند‬
‫ی‬‫م‬
OpenStack
ً‫ا‬‫واقع‬
‫سخت‬ ‫‌بندی‬
‫س‬‫مقیا‬ ‫و‬ ‫عملکرد‬ ‫مشکالت‬ ‫یا‬ ‫سیستم‬ ‫خرابی‬ ‫صورت‬ ‫در‬ ‫را‬ ‫‌یابی‬
‫ب‬‫عی‬ ‫‌تواند‬
‫ی‬‫م‬ ‫که‬ ‫است‬ ‫مشارکتی‬ ‫خدمات‬ ‫از‬ ‫عظیم‬ ‫اکوسیستم‬ ‫یک‬
.‫است‬ ‫شده‬ ‫طراحی‬ ‫مشکالت‬ ‫این‬ ‫رفع‬ ‫به‬ ‫کمک‬ ‫برای‬ ‫که‬ ‫است‬ ‫ابزاری‬ ‫رالی‬ .‫کند‬
‫در‬ ‫را‬ ‫رالی‬ ‫ویکی‬ ‫صفحه‬ ‫توانید‬ ‫می‬ ،‫آن‬ ‫عملکرد‬ ‫نحوه‬ ‫و‬ ‫رالی‬ ‫از‬ ‫کلی‬ ‫نمای‬ ‫یک‬ ‫برای‬
https://wiki.openstack.org/wiki/Rally
،‫کنید‬ ‫بررسی‬
‫از‬ ‫را‬ ‫خود‬ ‫کد‬ ‫یا‬
stackforge
‫در‬
https://github.com/stackforge
.‫کنید‬ ‫دریافت‬
،‫خالصه‬ ‫طور‬ ‫به‬ ‫رالی‬
Rally
‫ابرهای‬ ‫زدن‬ ‫محک‬ ‫و‬ ‫تأیید‬ ‫برای‬ ‫ابزاری‬
OpenStack
،‫استرس‬ :‫معنای‬ ‫به‬ ‫رالی‬ ‫مورد‬ ‫در‬ "‫"معیاربندی‬ .‫است‬
‫ابرهای‬ ‫رگرسیون‬ ‫تست‬ ‫و‬ ‫عملکرد‬ ،‫پذیری‬ ‫مقیاس‬
OpenStack
.‫است‬
Rally
‫گرهی‬ ‫چند‬ ‫پروفایل‬ ‫و‬ ‫آزمایش‬ ،‫تأیید‬ ،‫استقرار‬ ‫که‬ ‫است‬ ‫عمومی‬ ‫آزمایش‬ ‫ابزار‬ ‫یک‬
OpenStack
‫می‬ .‫کند‬ ‫می‬ ‫یکپارچه‬ ‫و‬ ‫خودکار‬ ‫را‬
‫سیستم‬ ‫برای‬ ‫اساسی‬ ‫ابزار‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫آن‬ ‫از‬ ‫توان‬
OpenStack CI/CD
‫مداوم‬ ‫طور‬ ‫به‬ ‫که‬ ‫کرد‬ ‫استفاده‬
SLA
‫را‬ ‫آن‬ ‫پایداری‬ ‫و‬ ‫عملکرد‬ ،
.‫بخشد‬ ‫می‬ ‫بهبود‬
‫از‬ ‫ها‬ ‫کمپانی‬ ‫کدام‬
rally
‌
: ‫میکنند‬ ‫استفاده‬
‫به‬ ‫نگاهی‬ ‫بیایید‬
3
‫از‬ ‫باال‬ ‫سطح‬ ‫استفاده‬ ‫مورد‬
Rally
:‫بیندازیم‬
‫‌واقع‬
‫ر‬‫د‬
rally
: ‫جمله‬ ‫از‬ ‫مختلف‬ ‫طیف‬ ‫سه‬ ‫برای‬
devops
‫ها‬ ‫کار‬
developer
‫مفهوم‬ ‫میخواهند‬ ‫که‬ ‫هستند‬ ‫کسانی‬ ‫و‬ ‫‌ها‬
CI/CD
‫را‬
. ‫کنند‬ ‫‌سازی‬
‫ه‬‫پیاد‬
‫مفهوم‬ ‫بررسی‬ ‫به‬ ‫ادامه‬ ‫در‬
CI/CD
: ‫پرداخت‬ ‫خواهیم‬
،‫پیوسته‬ ‫استقرار‬ ‫یا‬ ‫پیوسته‬ ‫تحویل‬ ‫و‬ ‫مداوم‬ ‫‌سازی‬
‫ه‬‫یکپارچ‬ ‫اعمال‬ ‫مجموعه‬ ‫به‬ ‫کلی‬ ‫‌طور‬
‫ه‬‫ب‬ ‫‌افزار‬
‫م‬‫نر‬ ‫مهندسی‬ ‫در‬
CICD
‫یا‬
CI/CD
.‫‌گویند‬
‫ی‬‫م‬
CI/CD
‫بین‬ ‫پلی‬ ‫نحوی‬ ‫به‬ ‫وسیله‬ ‫بدین‬ .‫شوند‬ ‫انجام‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ‫‌ها‬
‫ه‬‫برنام‬ ‫استقرار‬ ‫و‬ ‫تست‬ ،‫ساخت‬ ‫فرایندهای‬ ‫که‬ ‫‌کند‬
‫ی‬‫م‬ ‫وادار‬
‫‌افزار‬
‫م‬‫نر‬ ٔ
‫«توسعه‬ ‫‌های‬
‫م‬‫تی‬ ‫‌های‬
‫ت‬‫فعالی‬
DEVelopment
‫اطالعات‬ ‫فناوری‬ ‫«عملیات‬ ‫و‬ »
OPerationS
‫شامل‬ ‫دواپس‬ ‫‌های‬
‫ت‬‫فعالی‬ .‫‌کند‬
‫ی‬‫م‬ ‫ایجاد‬ »
' .‫‌باشد‬
‫ی‬‫م‬ ‫توسعه‬ ‫فرایند‬ ‫طول‬ ‫در‬ ‫‌افزار‬
‫م‬‫نر‬ ‫بر‬ ‫مداوم‬ ‫نظارت‬ ‫و‬ ‫پیوسته‬ ‫استقرار‬ ،‫مداوم‬ ‫‌سازی‬
‫ه‬‫یکپارچ‬ ،‫پیوسته‬ ‫آزمون‬ ،‫پیوسته‬ ‫توسعه‬
‫اقدامات‬
CI/CD
.‫‌دهد‬
‫ی‬‫م‬ ‫تشکیل‬ ‫را‬ ‫دواپس‬ ‫‌های‬
‫ت‬‫فعالی‬ ‫زیربنای‬
CI/CD
:‫انگلیسی‬ ‫(به‬ ‫‌آل‬
‫ه‬‫اید‬ ‫‌های‬
‫ش‬‫رو‬ ‫از‬ ‫یکی‬
best practice
‫‌ی‬
‫ه‬‫توسع‬ ‫‌های‬
‫ی‬‫متدولوژ‬ ‫از‬ ‫جزئی‬ ،‫این‬ ‫بر‬ ‫عالوه‬ .‫است‬ ‫دواپس‬ ‫‌های‬
‫م‬‫تی‬ ‫برای‬ )
‫از‬ ‫استفاده‬ ‫با‬ .‫‌آید‬
‫ی‬‫م‬ ‫شمار‬ ‫به‬ ‫نیز‬ ‫چابک‬ ‫‌افزاری‬
‫م‬‫نر‬
CI/CD
‫‌های‬
‫ی‬‫نیازمند‬ ‫به‬ ‫‌تواند‬
‫ی‬‫م‬ ،‫استقرار‬ ‫مسائل‬ ‫‌ی‬
‫ه‬‫دغدغ‬ ‫از‬ ‫فارغ‬ ،‫‌افزار‬
‫م‬‫نر‬ ‫‌ی‬
‫ه‬‫توسع‬ ‫تیم‬
. ‫کند‬ ‫رسیدگی‬ ‫امنیت‬ ‫و‬ ‫کد‬ ‫کیفیت‬ ،‫جلسات‬
:‫است‬ ‫مفید‬ ‫بسیار‬ ‫رالی‬ ‫‌دهد‬
‫ی‬‫م‬ ‫نشان‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫مورد‬ ‫چند‬ ،‫کلی‬ ‫طور‬ ‫به‬
.‫‌عامل‬
‫م‬‫سیست‬ ‫عملکرد‬ ‫بر‬ ‫جدید‬ ‫کد‬ ‫تغییرات‬ ‫تأثیر‬ ‫نحوه‬ ‫بر‬ ‫تمرکز‬ ‫با‬ ‫خودکار‬ ‫‌سازی‬
‫ه‬‫نمای‬ ‫و‬ ‫‌گیری‬
‫ه‬‫انداز‬
‫عملکرد؛‬ ‫و‬ ‫بندی‬ ‫مقیاس‬ ‫به‬ ‫مربوط‬ ‫مسائل‬ ‫تشخیص‬ ‫برای‬ ‫رالی‬ ‫پروفیلر‬ ‫از‬ ‫استفاده‬
.‫عامل‬ ‫سیستم‬ ‫عملکرد‬ ‫بر‬ ‫مختلف‬ ‫‌های‬
‫ش‬‫رو‬ ‫چگونگی‬ ‫بررسی‬
‫درست‬ ‫استقرار‬ ‫جهت‬ ‫مناسب‬ ‫های‬ ‫معماری‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ‫کردن‬ ‫پیدا‬ ‫برای‬
OpenStack
.
‫غیره)؛‬ ‫و‬ ‫سریع‬ ‫های‬ ‫گره‬ ،‫کنترلرها‬ ‫(تعداد‬ ‫مختلف‬ ‫بارهای‬ ‫برای‬ ‫استقرار‬ ‫مشخصات‬ ‫ایجاد‬
‫ابر‬ ‫برای‬ ‫که‬ ‫را‬ ‫افزاری‬ ‫سخت‬ ‫جستجوی‬
OpenStack
. ‫است‬ ‫مناسب‬ ‫خاص‬
‫در‬ ‫اطمینان‬ ‫قابلیت‬ ‫و‬ ‫ها‬ ‫پذیری‬ ‫دسترس‬ ‫تست‬ ‫و‬ ‫مختلف‬ ‫های‬ ‫تست‬ ‫جهت‬ ‫ساختار‬ ‫ایجاد‬
openstack
.
… ‫و‬ ‫پذیری‬ ‫دسترس‬ ‫و‬ ‫امنیتی‬ ‫های‬ ‫تست‬ ‫جهت‬ ‫مختلف‬ ‫بارهای‬ ‫با‬ ‫بنچمارک‬ ‫های‬ ‫تست‬ ‫ایجاد‬
‫مدیریت‬
instance
‫با‬ ‫مرتبط‬ ‫های‬ ‫ساختار‬ ‫و‬ ‫ها‬
instance
‫های‬ ‫مولفه‬ ‫و‬
openstack
.
‫تست‬
api
. ‫مختلف‬ ‫های‬
‫معماری‬
‫های‬ ‫پروژه‬ ً‫ال‬‫معمو‬
OpenStack
‫بنابراین‬ ،‫شوند‬ ‫می‬ ‫سازی‬ ‫پیاده‬ "‫سرویس‬ ‫یک‬ ‫عنوان‬ ‫"به‬
Rally
‫بر‬ ‫عالوه‬ .‫دهد‬ ‫می‬ ‫ارائه‬ ‫را‬ ‫رویکرد‬ ‫این‬
‫بر‬ ‫مبتنی‬ ‫رویکرد‬ ‫یک‬ ،‫این‬
CLI
. ‫ندارد‬ ‫نیاز‬ ‫دیمون‬ ‫به‬ ‫که‬ ‫‌کند‬
‫ی‬‫م‬ ‫‌سازی‬
‫ه‬‫پیاد‬ ‫را‬
‫مفهوم‬ ‫در‬
Rally
: ‫داریم‬ ‫را‬ ‫مفهوم‬ ‫دو‬ ‫ما‬
Rally as-a-Service
‫‌دهند‬
‫ی‬‫م‬ ‫ارائه‬ ‫را‬ ‫وب‬ ‫کاربری‬ ‫رابط‬ ‫که‬ ‫‌شود‬
‫ی‬‫م‬ ‫اجرا‬ ‫ها‬ ‫دیمون‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫رالی‬ :
Rally as-an-App
‫برنامه‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫رالی‬ :
CLI
.‫کند‬ ‫می‬ ‫ساده‬ ‫را‬ ‫آن‬ ‫توسعه‬ ‫و‬ ‫استفاده‬ ‫که‬ ‫حمل‬ ‫قابل‬ ‫و‬ ‫سبک‬ ‫بسیار‬
:‫دارد‬ ‫وجود‬ ‫رالی‬ ‫در‬ ‫امکان‬ ‫این‬ ‫چگونه‬ ‫که‬ ‫دهد‬ ‫می‬ ‫نشان‬ ‫زیر‬ ‫نمودار‬
‫از‬ ‫رالی‬ ‫واقعی‬ ‫هسته‬
3
:‫اند‬ ‫شده‬ ‫فهرست‬ ‫شوند‬ ‫می‬ ‫عمل‬ ‫وارد‬ ‫که‬ ‫ترتیبی‬ ‫به‬ ‫زیر‬ ‫در‬ ‫که‬ ‫است‬ ‫شده‬ ‫تشکیل‬ ‫اصلی‬ ‫جزء‬
Deploy
.‫شوند‬ ‫می‬ ‫استفاده‬ ‫وظیفه‬ ‫و‬ ‫تأیید‬ ‫دستورات‬ ‫توسط‬ ‫ها‬ ‫اعتبارنامه‬ ،‫کنید‬ ‫ذخیره‬ ‫را‬ ‫خود‬ ‫استقرارهای‬ ‫به‬ ‫مربوط‬ ‫اعتباری‬ ‫اطالعات‬ -
‫دهد‬ ‫می‬ ‫امکان‬ ‫شما‬ ‫به‬ ‫که‬ ‫است‬ ‫اتصال‬ ‫قابل‬ ‫مکانیزم‬ ‫دارای‬
LCM
.‫کنید‬ ‫سازی‬ ‫پیاده‬ ‫آزمایش‬ ‫محیط‬ ‫برای‬ ‫را‬ ‫اولیه‬
Verify
‫در‬ .‫کند‬ ‫می‬ ‫بندی‬ ‫بسته‬ ‫نتایج‬ ‫گزارش‬ ‫و‬ ‫سازی‬ ‫ذخیره‬ ‫با‬ ‫کامل‬ ‫ابزار‬ ‫ارائه‬ ‫برای‬ ‫را‬ ‫تست‬ ‫واحد‬ ‫بر‬ ‫مبتنی‬ ‫عملکردی‬ ‫تست‬ ‫چارچوب‬ -
‫برای‬ ‫پالگین‬ ‫فقط‬ ‫حاضر‬ ‫حال‬
OpenStack Tempest
.‫است‬ ‫شده‬ ‫سازی‬ ‫پیاده‬
Task
‫از‬ ‫استفاده‬ ‫با‬ ‫پیچیده‬ ‫آزمایشی‬ ‫موارد‬ ‫در‬ ‫را‬ ‫آنها‬ ‫ترکیب‬ ‫و‬ ‫شده‬ ‫پارامتری‬ ‫های‬ ‫افزونه‬ ‫نوشتن‬ ‫امکان‬ ‫که‬ ‫چارچوبی‬ -
YAML
‫می‬ ‫فراهم‬
‫را‬ ‫خطا‬ ‫تست‬ ‫حتی‬ ‫و‬ ‫ظرفیت‬ ،‫مقیاس‬ ،‫بار‬ ،‫رگرسیون‬ ،‫همزمانی‬ ،‫عملکردی‬ ‫تست‬ ‫جمله‬ ‫از‬ ‫ها‬ ‫تست‬ ‫انواع‬ ‫تا‬ ‫دهد‬ ‫می‬ ‫اجازه‬ ‫چارچوب‬ .‫کند‬
.‫کند‬ ‫تولید‬
‫نصب‬ ‫برای‬ ‫مختلفی‬ ‫‌های‬
‫ش‬‫رو‬ ‫ما‬
rally
. ‫داریم‬
‫طریق‬ ‫از‬ ‫نصب‬ ‫دیگری‬ ‫و‬ ‫ها‬ ‫بسته‬ ‫مدیریت‬ ‫طریق‬ ‫از‬ ‫نصب‬ ‫‌ها‬
‫ش‬‫رو‬ ‫از‬ ‫یکی‬
scl
.
Scl
‫مخفف‬ ‫که‬
software collection
. ‫میباشد‬ ‫ها‬ ‫بیس‬ ‫ردهت‬ ‫در‬ ‫سیستمی‬ ‫غیر‬ ‫محیط‬ ‫یک‬ ‫بواسطه‬ ‫نصب‬ ‫جهت‬ ‫روش‬ ‫یک‬ . ‫میباشد‬
‫ها‬ ‫بیس‬ ‫دبیان‬ ‫در‬ ‫مفهوم‬ ‫و‬ ‫ساختار‬ ‫این‬ ‫شبیه‬
snapp
‫خود‬ ‫البته‬ . ‫میباشد‬
snapp
‫ولی‬ . ‫کرد‬ ‫نصب‬ ‫ها‬ ‫بیس‬ ‫ردهت‬ ‫در‬ ‫میتوان‬ ‫را‬
scl
‫فقط‬
. ‫‌باشد‬
‫ی‬‫م‬ ‫ها‬ ‫بیس‬ ‫ردهت‬ ‫مختص‬
‫با‬ ‫مرتبط‬ ‫سایت‬ ‫در‬ ‫که‬ ‫همانطور‬
scl
. ‫کنیم‬ ‫اضافه‬ ‫خود‬ ‫سیستم‬ ‫به‬ ‫را‬ ‫ریپوزیتوری‬ ‫که‬ ‫هست‬ ‫نیاز‬ ‫نصب‬ ‫جهت‬ . ‫است‬ ‫شده‬ ‫آورده‬
‫بصورت‬ ‫نصب‬ ‫از‬ ‫بعد‬ ‫سپس‬
scl
‫‌سازی‬
‫ه‬‫پیاد‬ ‫جهت‬ ‫خود‬ ‫نظر‬ ‫مد‬ ‫های‬ ‫ابزار‬ ‫میتوانید‬
rally
‫که‬ ‫هست‬ ‫نیاز‬ ‫نصب‬ ‫در‬ . ‫دهیم‬ ‫استقرار‬ ‫و‬ ‫نصب‬ ‫را‬
‫به‬ ‫مربوط‬ ‫کالینت‬
openstack
‫ابزارهای‬ ‫و‬ . ‫کنیم‬ ‫نصب‬ ‫‌را‬
rally
. ‫کنیم‬ ‫نصب‬ ‫آن‬ ‫برای‬ ‫را‬
‫های‬ ‫بسته‬ ‫فقط‬ ‫میتوان‬ ‫همچنین‬
scl
. ‫کنیم‬ ‫نصب‬ ‫را‬
‫از‬ ‫غیر‬ ‫نصب‬ ‫روش‬ ‫بررسی‬ ‫به‬ ‫ادامه‬ ‫در‬
scl
‌
: ‫پرداخت‬ ‫خواهیم‬
‫برای‬ ‫دیتابیس‬ ‫هست‬ ‫نیاز‬ ‫منظور‬ ‌
‫ن‬‫ای‬ ‫برای‬
rally
. ‫شود‬ ‫ساخته‬
mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 263
Server version: 10.3.10-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
create database rally;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]>
grant all privileges on rally.* to rally@'localhost' identified by 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>
grant all privileges on rally.* to rally@'%' identified by 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>
flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>
exit
‫نود‬ ‫در‬
rally
: ‫میگیرد‬ ‫انجام‬ ‫موارد‬
yum -y install openstack-rally openstack-rally-plugins python-fixtures
vi /etc/rally/rally.conf
# line 32: uncomment and change
log_file = rally.log
# line 37: uncomment and change
log_dir =/var/log/rally
# line 189: MariaDB connection info
connection = mysql+pymysql://rally:password@ip/rally
mkdir /var/log/rally
rally db create
Creating database: mysql+pymysql://rally:password@ip/rally
Database created successfully
‫قسمت‬ ‫در‬ : ‫نکته‬
ip
‫میبایستی‬
ip
. ‫شود‬ ‫وارد‬ ‫‌کنترلر‬
‫برای‬ ‫ریجستری‬ ‫که‬ ‫هست‬ ‫نیاز‬ : ‫دوم‬ ‫نکته‬
rally
. ‫کنید‬ ‫ایجاد‬
‫که‬ ‫هست‬ ‫نیاز‬ ‫مفهوم‬ ‫این‬ ‫برای‬
env
‌
: ‫نمونه‬ ‫برای‬ . ‫کنید‬ ‫ست‬ ‫را‬ ‫خود‬
export OS_USERNAME=”admin”
export OS_TENANT_NAME=”admin”
export OS_PASSWORD=”admin”
export OS_AUTH_URL=”http://your_cloud.url:5000/v2”
‫اجرای‬ ‫برای‬
Rally BenchMarking Tasks
‫برای‬ ‫را‬ ‫محیطی‬ ‫متغیرهای‬ ،
Openstack
‫به‬
Rally
.‫کنید‬ ‫اضافه‬
rally deployment create --fromenv --name=mycloud
+--------------------------------------+---------------------+----------+------------------+--------+
| uuid | created_at | name | status | active |
+--------------------------------------+---------------------+----------+------------------+--------+
| 9320b988-ad3b-4318-b683-80a28326a718 | 2021-10-29T01:13:25 | mycloud | deploy->finished | |
+--------------------------------------+---------------------+----------+------------------+--------+
Using deployment: 9320b988-ad3b-4318-b683-80a28326a718
~/.rally/openrc was updated
HINTS:
* To use standard OpenStack clients, set up your env by running:
source ~/.rally/openrc
OpenStack clients are now configured, e.g run:
openstack image list
source ~/.rally/openrc
rally deployment show mycloud
+--------------------------+----------+----------+-------------+-------------+---------------+
| auth_url | username | password | tenant_name | region_name | endpoint_type |
+--------------------------+----------+----------+-------------+-------------+---------------+
| http://ip:5000/v3 | admin | *** | admin | | None |
+--------------------------+----------+----------+-------------+-------------+---------------+
rally deployment check
--------------------------------------------------------------------------------
Platform openstack:
--------------------------------------------------------------------------------
Available services:
+-------------+----------------+-----------+
| Service | Service Type | Status |
+-------------+----------------+-----------+
| __unknown__ | placement | Available |
| cinder | volumev3 | Available |
| cloud | cloudformation | Available |
| designate | dns | Available |
| glance | image | Available |
| heat | orchestration | Available |
| keystone | identity | Available |
| neutron | network | Available |
| nova | compute | Available |
+-------------+----------------+-----------+
‫سناریوی‬ #
Benchmarking
‫کنید‬ ‫تعریف‬ ‫را‬
‫کنید‬ ‫تعریف‬ ‫محاسباتی‬ ‫نمونه‬ ‫یک‬ ‫حذف‬ ‫و‬ ‫ایجاد‬ ‫برای‬ ‫ساده‬ ‫سناریوی‬ ‫یک‬ ،‫مثال‬ ‫برای‬ #
[ ‫برای‬ #
flavor
‫کنید‬ ‫مشخص‬ ‫را‬ ‫خود‬ ‫شده‬ ‫ثبت‬ ‫فلیور‬ ‫نام‬ ،]
[ ‫برای‬ #
image
‫کنید‬ ‫مشخص‬ ‫را‬ ‫خود‬ ‫شده‬ ‫ثبت‬ ‫تصویر‬ ‫نام‬ ،]
vi boot-and-delete.json
{
"NovaServers.boot_and_delete_server": [
{
"args": {
"flavor": {
"name": "m1.small"
},
"image": {
"name": "CentOS7"
},
"force_delete": false
},
"runner": {
"type": "constant",
"times": 10,
"concurrency": 2
},
"context": {}
}
]
}
rally task start boot-and-delete.json
--------------------------------------------------------------------------------
Preparing input task
--------------------------------------------------------------------------------
Task is:
{
"NovaServers.boot_and_delete_server": [
{
"args": {
"flavor": {
"name": "m1.small"
},
"image": {
"name": "CentOS7"
},
"force_delete": false
},
"runner": {
"type": "constant",
"times": 10,
"concurrency": 2
},
"context": {}
}
]
}
Task syntax is correct :)
Running Rally version 2.0.0
--------------------------------------------------------------------------------
Task e5b40e84-c553-4351-b252-e95eac2f9ab4: started
--------------------------------------------------------------------------------
Running Task... This can take a while...
To track task status use:
rally task status
or
rally task detailed
.....
.....
--------------------------------------------------------------------------------
Task e5b40e84-c553-4351-b252-e95eac2f9ab4 has 0 error(s)
--------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------+
| Response Times (sec) |
+--------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+
| Action | Min (sec) | Median (sec) | 90%ile (sec) | 95%ile (sec) | Max (sec) | Avg (sec) | Success | Count |
+--------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+
| nova.boot_server | 4.226 | 5.179 | 6.134 | 6.717 | 7.3 | 5.206 | 100.0% | 10 |
| nova.delete_server | 2.251 | 2.273 | 2.305 | 2.358 | 2.412 | 2.285 | 100.0% | 10 |
| total | 6.519 | 7.446 | 8.405 | 8.985 | 9.565 | 7.49 | 100.0% | 10 |
| -> duration | 5.519 | 6.446 | 7.405 | 7.985 | 8.565 | 6.49 | 100.0% | 10 |
| -> idle_duration | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 100.0% | 10 |
+--------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+
Load duration: 37.5457
Full duration: 50.4424
HINTS:
* To plot HTML graphics with this data, run:
rally task report e5b40e84-c553-4351-b252-e95eac2f9ab4 --out output.html
* To generate a JUnit report, run:
rally task export e5b40e84-c553-4351-b252-e95eac2f9ab4 --type junit --to output.xml
* To get raw JSON output of task results, run:
rally task report e5b40e84-c553-4351-b252-e95eac2f9ab4 --json --out output.json
‫از‬ ‫استفاده‬ ‫دیگر‬ ‫روش‬
Rally
‫همچنین‬ : ‫نکته‬
rally
‫طریق‬ ‫از‬ ‫میتوانید‬ ‫‌را‬
git
. ‫نمایید‬ ‫نصب‬ ‫‌نیز‬
git clone https://github.com/stackforge/rally.git
cd rally && sudo ./install_rally.sh
‫نام‬ ‫ثبت‬ ‫برای‬
OpenStack Cloud ، Rally
‫به‬
registery
‫دارد‬ ‫نیاز‬ ‫شما‬
.
‫طریق‬ ‫از‬ ‫یا‬ ‫محیطی‬ ‫متغیرهای‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫را‬ ‫آنها‬ ‫توانید‬ ‫می‬
‫کنید‬ ‫منتقل‬ ‫خاص‬ ‫فایل‬ ‫یک‬
.
: ‫نمونه‬ ‫برای‬ ‫باشد‬ ‫داشته‬ ‫را‬ ‫شما‬ ‫استک‬ ‫اپن‬ ‫محیطی‬ ‫مشخصات‬ ‫که‬ ، ‫کرده‬ ‫ایجاد‬ ‫فایل‬ ‫یک‬ ‫مفهوم‬ ‫این‬ ‫برای‬
export OS_USERNAME=”admin”
export OS_TENANT_NAME=”admin”
export OS_PASSWORD=”admin”
export OS_AUTH_URL=”http://your_cloud.url:5000/v2”
‫در‬ ، ‫بعد‬ ‫مرحله‬ ‫در‬
OpenStack
‫هست‬ ‫نیاز‬
registery
:‫کنید‬ ‫اجرا‬ ‫را‬ ‫زیر‬ ‫دستور‬ ، ‫کار‬ ‫این‬ ‫انجام‬ ‫برای‬ . ‫دهید‬ ‫انجام‬ ‫را‬
rally deployment create --name test --fromenv
‫خوشه‬ ‫یک‬ ‫اساس‬ ‫بر‬ ‫استقرار‬ ‫یک‬ ‫خواهید‬ ‫می‬ ‫اگر‬ ،‫دیگر‬ ‫طرف‬ ‫از‬
OpenStack
‫مشخص‬ ‫شما‬ ‫فعلی‬ ‫محیط‬ ‫متغیرهای‬ ‫توسط‬ ‫که‬ ‫آنچه‬ ‫از‬ ‫غیر‬
‫فایل‬ ‫یک‬ ‫از‬ ‫توانید‬ ‫می‬ ،‫کنید‬ ‫ایجاد‬ ‫است‬ ‫شده‬
json
.‫کنید‬ ‫استفاده‬ ‫ورودی‬ ‫عنوان‬ ‫به‬
‫ابر‬ ‫ریجستری‬
OpenStack
‫ورودی‬ ‫فایل‬ ‫از‬ ‫استفاده‬ ‫با‬
‫ابر‬ ‫یک‬ ‫ریجستری‬ ‫برای‬
OpenStack
.‫کنید‬ ‫استفاده‬ ‫ورودی‬ ‫فایل‬ ‫یک‬ ‫از‬ ‫توانید‬ ‫می‬ -- ‫شما‬ ‫فعلی‬ ‫محیط‬ ‫متغیرهای‬ ‫از‬ ‫مستقل‬ -- ‫دلخواه‬
‫فایل‬ ‫یک‬ ،‫کار‬ ‫این‬ ‫انجام‬ ‫برای‬
json
:‫کند‬ ‫می‬ ‫فهرست‬ ‫قالب‬ ‫این‬ ‫در‬ ‫را‬ ‫متغیرها‬ ‫همه‬ ‫که‬ ‫کنید‬ ‫ایجاد‬
{
"type": "ExistingCloud",
"auth_url": "http://example.net:5000/v2.0/",
"admin": {
"username": "admin",
"password": "admin",
"tenant_name": "admin"
}
}
‫ایجاد‬ ‫دستور‬ ‫همان‬ ‫باید‬ ‫اکنون‬
Rally Deployment
:‫کنید‬ ‫مشخص‬ ،‫محیط‬ ‫از‬ ‫اجرای‬ ‫جای‬ ‫به‬ ‫را‬ ‫فایل‬ ‫و‬ ‫کنید‬ ‫اجرا‬ ‫را‬
rally deployment create --name test --filename existing.json
.‫است‬ ‫خود‬ ‫جای‬ ‫سر‬ ‫چیز‬ ‫همه‬ ‫که‬ ‫شوید‬ ‫مطمئن‬ ‫توانید‬ ‫می‬ ،‫است‬ ‫شده‬ ‫ایجاد‬ ‫شما‬ ‫استقرار‬ ‫که‬ ‫اکنون‬
‫ابر‬ ‫بودن‬ ‫دسترس‬ ‫در‬
OpenStack
‫کنید‬ ‫بررسی‬ ‫را‬ ‫شده‬ ‫ثبت‬
‫ابر‬ ‫نام‬ ‫ثبت‬ ‫از‬ ‫پس‬
OpenStack
.‫کند‬ ‫می‬ ‫کار‬ ‫درستی‬ ‫به‬ ‫چیز‬ ‫همه‬ ‫شوید‬ ‫مطمئن‬ ‫که‬ ‫است‬ ‫این‬ ‫دهید‬ ‫انجام‬ ‫باید‬ ‫که‬ ‫کاری‬ ‫اولین‬ ،
:‫کنید‬ ‫اجرا‬ ‫را‬ ‫دستور‬ ‫این‬ ،‫استقرار‬ ‫آخرین‬ ‫بررسی‬ ‫برای‬ .
rally deployment check
:‫دید‬ ‫خواهید‬ ‫را‬ ‫زیر‬ ‫مشابه‬ ‫خروجی‬ ،‫کند‬ ‫کار‬ ‫درستی‬ ‫به‬ ‫چیز‬ ‫همه‬ ‫اگر‬
‫داشته‬ ‫وجود‬ ‫مشکلی‬ ‫اگر‬ .‫شود‬ ‫می‬ ‫اندازی‬ ‫راه‬ ‫درستی‬ ‫به‬ ‫رالی‬ ‫حالت‬ ‫این‬ ‫در‬ .‫است‬ ‫آمده‬ ‫جدول‬ ‫در‬ ‫سرویس‬ ‫هر‬ ‫وضعیت‬ ،‫بینید‬ ‫می‬ ‫که‬ ‫همانطور‬
: ‫باشد‬ ‫زیر‬ ‫مانند‬ ‫پیامی‬ ‫است‬ ‫ممکن‬ ،‫مثال‬ ‫برای‬ .‫چیست‬ ‫که‬ ‫گوید‬ ‫می‬ ‫شما‬ ‫به‬ ‫استقرار‬ ‫بررسی‬ ،‫باشد‬
،‫تاریخی‬ ‫دالیل‬ ‫به‬ .‫است‬ ‫نادرست‬ ‫شده‬ ‫ثبت‬ ‫ابر‬ ‫اعتبار‬ ،‫حالت‬ ‫این‬ ‫در‬
Rally
،‫دهید‬ ‫تغییر‬ ‫را‬ ‫شده‬ ‫ثبت‬ ‫ابر‬ ‫یک‬ ‫اعتبار‬ ‫دهد‬ ‫نمی‬ ‫اجازه‬ ‫شما‬ ‫به‬
.‫مناسب‬ ‫اعتبارنامه‬ ‫با‬ ‫بار‬ ‫این‬ ‫اما‬ ،‫کنید‬ ‫ثبت‬ ‫را‬ ‫ابر‬ ‫همان‬ ‫دوباره‬ ‫باید‬ ‫بنابراین‬
‫کار‬ ‫یک‬ ‫بیایید‬ ،‫خود‬ ‫ابر‬ ‫بررسی‬ ‫برای‬ .‫بزنید‬ ‫محک‬ ‫را‬ ‫خود‬ ‫ابر‬ ‫که‬ ‫هستید‬ ‫آماده‬ ،‫هستید‬ ‫راضی‬ ‫کند‬ ‫می‬ ‫کار‬ ‫چیز‬ ‫همه‬ ‫اینکه‬ ‫از‬ ‫که‬ ‫هنگامی‬
Rally
.‫کنیم‬ ‫اجرا‬ ‫را‬
A Rally Task
‫دهید‬ ‫اجازه‬ ،‫کار‬ ‫شروع‬ ‫از‬ ‫قبل‬ .‫شود‬ ‫می‬ ‫اجرا‬ ‫ابر‬ ‫یک‬ ‫برابر‬ ‫در‬ ‫که‬ ‫است‬ ‫معیارهایی‬ ‫از‬ ‫ای‬ ‫مجموعه‬
.‫بیندازیم‬ ‫وظیفه‬ ‫ورودی‬ ‫فایل‬ ‫فرمت‬ ‫به‬ ‫نگاهی‬
Rally
‫یک‬ ‫اجرای‬ ‫برای‬ ‫راه‬ ‫ترین‬ ‫ساده‬ ‫اوقات‬ ‫گاهی‬ ‫بنابراین‬ ،‫کند‬ ‫آزمایش‬ ‫را‬ ‫زیادی‬ ‫مختلف‬ ‫سناریوهای‬ ‫تواند‬ ‫می‬ ‫و‬ ‫است‬ ‫پذیر‬ ‫انعطاف‬ ‫بسیار‬
‫در‬ ‫نمونه‬ ‫مخزن‬ ‫از‬ ‫را‬ ‫آن‬ ‫وظیفه‬ ‫که‬ ‫است‬ ‫این‬ ‫معیار‬
stackforge
:‫کنید‬ ‫کپی‬
https://github.com/stackforge/rally/tree/master
/
doc/samples/tasks
‫سناریوها‬/
:‫دارند‬ ‫مشابه‬ ‫ساختاری‬ ‫وظیفه‬ ‫ورودی‬ ‫های‬ ‫فایل‬ ‫تمام‬
---
ScenarioClass.scenario_method:
-
args:
...
runner:
...
context
...
sla:
…
ScenarioClass.scenario_method
.‫است‬ ‫ماست‬ ‫سناریوی‬ ‫کامل‬ ‫نام‬
" ‫بخش‬
args
.‫شود‬ ‫می‬ ‫استفاده‬ ‫معیار‬ ‫سناریوی‬ ‫روش‬ ‫به‬ ‫پارامترها‬ ‫انتقال‬ ‫برای‬ "
).‫کنید‬ ‫استفاده‬ ‫مجازی‬ ‫های‬ ‫ماشین‬ ‫کردن‬ ‫بوت‬ ‫برای‬ ‫تصویری‬ ‫چه‬ ‫از‬ ،‫مثال‬ ‫عنوان‬ ‫(به‬
" ‫بخش‬
runners
.‫کند‬ ‫می‬ ‫مشخص‬ ‫شود‬ ‫تولید‬ ‫باید‬ ‫که‬ ‫را‬ ‫باری‬ ‫نوع‬ "
‫هر‬ ‫را‬ ‫سناریو‬ ‫"این‬ ،‫مثال‬ ‫عنوان‬ ‫(به‬
1
)."‫کنید‬ ‫اجرا‬ ‫ثانیه‬
‫باید‬ ‫که‬ ‫را‬ ‫معیاری‬ ‫محیط‬ "‫"زمینه‬ ‫بخش‬
Rally
.‫کند‬ ‫می‬ ‫تعریف‬ ،‫کند‬ ‫ایجاد‬
" ،‫مثال‬ ‫عنوان‬ ‫(به‬
10
‫در‬ ‫کاربر‬
5
)."‫کنید‬ ‫تنظیم‬ ‫را‬ ‫آنها‬ ‫سهمیه‬ ‫و‬ ‫کنید‬ ‫ایجاد‬ ‫مستاجر‬
" ‫بخش‬
sla
.‫کند‬ ‫می‬ ‫تعیین‬ ‫معیار‬ ‫برای‬ ‫را‬ ‫موفقیت‬ ‫معیارهای‬ "
).‫شکست‬ ‫درصد‬ ‫حداکثر‬ ،‫مثال‬ ‫عنوان‬ ‫(به‬
‫معیار‬ ‫بیایید‬
HeatStack.create_and_delete_stack
‫دایرکتوری‬ ‫در‬ ‫را‬ ‫آن‬ ‫‌توانید‬
‫ی‬‫م‬ ‫که‬ ‫کنیم‬ ‫تست‬ ‫را‬
heat
‫شامل‬ ‫این‬ .‫کنید‬ ‫پیدا‬
: ‫است‬ ‫زیر‬ ‫ساختار‬
:‫است‬ ‫اساسی‬ ‫اقدامات‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ‫شامل‬ ‫معیار‬ ‫سناریوی‬ ‫این‬
.‫شود‬ ‫انجام‬ ‫عملیات‬ ‫این‬ ‫تا‬ ‫ماند‬ ‫می‬ ‫منتظر‬ ‫و‬ ‫کند‬ ‫می‬ ‫ارسال‬ ‫پشته‬ ‫ایجاد‬ ‫برای‬ ‫درخواستی‬ ‫عمل‬ - ‫پشته‬ ‫ایجاد‬
.‫شود‬ ‫می‬ ‫انجام‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫عملیات‬ ‫این‬ ‫انتظار‬ ‫واحد‬ ‫و‬ ‫کند‬ ‫می‬ ‫ارسال‬ ‫پشته‬ ‫یک‬ ‫حذف‬ ‫برای‬ ‫درخواستی‬ ‫عمل‬ - ‫پشته‬ ‫حذف‬
‫توسط‬ ‫معیار‬ ‫سناریوی‬ ‫این‬
6
‫از‬ ‫موقت‬ ‫شده‬ ‫ایجاد‬ ‫کاربر‬
2
( ‫مستاجر‬
2
‫در‬ ‫مستأجر‬
3
‫مجموع‬ ‫در‬ )‫مستاجر‬ ‫هر‬ ‫کاربر_در‬
10
.‫شود‬ ‫می‬ ‫اجرا‬ ‫بار‬
‫تنها‬ ،‫لحظه‬ ‫هر‬ ‫در‬
2
.‫کنند‬ ‫می‬ ‫اجرا‬ ‫را‬ ‫سناریو‬ ‫این‬ ‫همزمان‬ ‫طور‬ ‫به‬ ‫کاربر‬
: ‫کنید‬ ‫استفاده‬ ‫ساختار‬ ‫این‬ ‫از‬ ‫توانید‬ ‫می‬ ‫سادگی‬ ‫به‬ ،‫معیار‬ ‫این‬ ‫اجرای‬ ‫برای‬
rally task start create-and-delete-stack.yaml
‫نتایج‬ ،‫بینید‬ ‫می‬ ‫که‬ ‫همانطور‬
Rally
‫عملکرد‬ ‫مورد‬ ‫در‬ ‫زیادی‬ ‫اطالعات‬ ‫حاوی‬
Heat
‫بلکه‬ ،‫کاربر‬ ‫یک‬ ‫سناریوی‬ "‫"مدت‬ ‫تنها‬ ‫نه‬ - ‫است‬
‫(مانند‬ ‫اتمی‬ ‫اقدام‬ ‫هر‬ ‫مورد‬ ‫در‬ ‫دقیق‬ ‫اطالعات‬ ‫همچنین‬
create_stack
‫و‬
delete_stack
‫را‬ "‫"موفقیت‬ ‫ستون‬ ‫ما‬ ‫جدول‬ ‫در‬ ‫همچنین‬ .)
‫استقرار‬ ‫این‬ ‫آیا‬ ‫که‬ ‫کنید‬ ‫تعیین‬ ‫دهد‬ ‫می‬ ‫امکان‬ ‫شما‬ ‫به‬ ‫که‬ ‫داریم‬
OpenStack
‫کند‬ ‫کنترل‬ ‫را‬ ‫کار‬ ‫در‬ ‫شده‬ ‫مشخص‬ ‫بار‬ ‫نوع‬ ‫تواند‬ ‫می‬ ‫خاص‬
.‫خیر‬ ‫یا‬
.‫هستند‬ ‫ساده‬ ‫نمایش‬ ‫یک‬ ‫فقط‬ ‫نتایج‬ ‫این‬ ‫اما‬
.‫کنیم‬ ‫ارائه‬ ‫نمودار‬ ‫و‬ ‫گرافیک‬ ‫مانند‬ ،‫درک‬ ‫قابل‬ ‫و‬ ‫آسان‬ ‫شکلی‬ ‫به‬ ‫را‬ ‫نتایج‬ ‫باید‬ ،‫باشد‬ ‫مفید‬ ‫واقعا‬ ‫اینکه‬ ‫برای‬ ‫اما‬ ،‫است‬ ‫عالی‬ ‫کردن‬ ‫بنچمارک‬
‫با‬ ،‫خوشبختانه‬
Rally
:‫کنید‬ ‫ایجاد‬ ‫قدرتمند‬ ‫بسیار‬ ‫اما‬ ،‫تک‬ ‫و‬ ‫ساده‬ ‫دستور‬ ‫یک‬ ‫با‬ ‫را‬ ‫زیبایی‬ ‫های‬ ‫گزارش‬ ‫توانید‬ ‫می‬
rally task report <task_id> --out report.html

Openstack Rally

  • 1.
    ‫تعالی‬ ‫باسمه‬ openstack Rally ‌ :‫نویسنده‬ ‫دخت‬ ‫اسمعیل‬ ‫یاشار‬ ‫مهندس‬ : ‫نسخه‬ 0.1
  • 2.
    : ‫نویسنده‬ ‫درباره‬ ‫رشته‬‫آموخته‬ ‫دانش‬ ‫دخت‬ ‫اسمعیل‬ ‫یاشار‬ ‫بنده‬ cyber security . ‫هستم‬ ‫از‬ ‫بیش‬ ۱۵ . ‫دارم‬ ‫فعالیت‬ ‫سابقه‬ ‫سال‬ ‫مولف‬ - ‫مدرس‬ - ‫مشاور‬ : ‫داد‬ ‫شرح‬ ‫زیر‬ ‫های‬ ‫ساختار‬ ‫در‬ ‫میتوان‬ ‫را‬ ‫بنده‬ ‫های‬ ‫فعالیت‬ ‫جمله‬ ‫از‬ gnu/linux system/network/security/cloud Engineer/administrator & oracle dba | Linux Trainer |devops . ): ‫جدید‬ ‫دنیاهای‬ ‫کشف‬ ‫و‬ ‫تحقیق‬ ‫و‬ ‫مطالعه‬ ‫به‬ ‫مند‬ ‫عالقه‬ . ‫کنم‬ ‫اشاره‬ ‫استراتژی‬ ‫های‬ ‫بازی‬ ‫و‬ ‫اوتلو‬ ‫و‬ ‫شطرنج‬ ‫بازی‬ ‫به‬ ‫میتوانم‬ ‫من‬ ‫های‬ ‫سرگرمی‬ ‫از‬ ‫واقع‬ ‫در‬ ‫تبریز‬ ‫الگ‬ ‫گذاران‬ ‫بنیان‬ ‫از‬ ‫یکی‬ ‫و‬ ‫لینوکس‬/‫گنو‬ ‫و‬ ‫باز‬ ‫متن‬ ‫دنیای‬ ‫عاشق‬ . ‫هستم‬ ‫عاشق‬ ‫یک‬ ‫من‬ : ‫کنید‬ ‫پیدا‬ ‫و‬ ‫کنید‬ ‫دنبال‬ ‫را‬ ‫من‬ ‫میتوانید‬ ‫چطور‬ ‫خب‬ Mob : 09141100257 Telegram ID Telegram channel Instagram Account Linkedin Account . ‫بشنوم‬ ‫را‬ ‫انتقادتون‬ ‫یا‬ ‫پیشنهاد‬ ‫هرگونه‬ ‫میشم‬ ‫خوشحال‬ ‫همچنین‬ : ‫کنید‬ ‫پیدا‬ ‫را‬ ‫من‬ ‫از‬ ‫ی‬ ‫دیگر‬ ‫های‬ ‫کتاب‬ ‫میتونید‬ ‫چطور‬ ‫توی‬ slideshare . ‫کنید‬ ‫پیدا‬ ‫را‬ ‫کردم‬ ‫منتشر‬ ‫آزاد‬ ‫بصورت‬ ‫که‬ ‫دیگری‬ ‫های‬ ‫کتاب‬ ‫میتونید‬ ‫بگردید‬ ‫من‬ ‫اسم‬ ‫دنبال‬ ‫گوگل‬ ‫یا‬ ‫این‬ ‫از‬ ‫میتوانید‬ ‫هم‬ ‫دونیت‬ ‫جهت‬ ‫لینک‬ ‫کنید‬ ‫استفاده‬
  • 3.
    : ‫مشاوره‬ . ‫بود‬‫خواهم‬ ‫شما‬ ‫دسترس‬ ‫در‬ ‫من‬ . ‫فرمایید‬ ‫حاصل‬ ‫تماس‬ . ‫کردم‬ ‫اشاره‬ ‫قبل‬ ‫صفحه‬ ‫در‬ ‫که‬ ‫هایی‬ ‫کانال‬ ‫از‬ ‫میتوانید‬ ‫مشاوره‬ ‫جهت‬
  • 4.
    : ‫به‬ ‫تقدیم‬ ‫خدا‬ ‫شتافت‬‫یاریم‬ ‫به‬ ‫که‬ ‫بود‬ ‫او‬ ‫تنها‬ ‫هایم‬ ‫سختی‬ ‫در‬ ‫که‬ ‫چرا‬ ‫مادرم‬ ‫اویم‬ ‫مدیون‬ ‫که‬ ‫را‬ ‫حبت‬َ ‫م‬ ‫و‬ ‫انسانیت‬ ‫داد‬ ‫یاد‬ ‫و‬ . ‫کرد‬ ‫تقدیم‬ ‫زندگی‬ ‫به‬ ‫مرا‬ ‫که‬ ‫چرا‬ ‫پدرم‬ ‫اویم‬ ‫مدیون‬ ‫و‬ ‫بود‬ ‫من‬ ‫حامی‬ ‫همیشه‬ ‫روحش‬ ‫که‬ ‫عشقم‬ ‫هست‬ ‫و‬ ‫بود‬ ‫مشوقم‬ ‫که‬ ‫سورس‬ ‫اپن‬ ‫جامعه‬ ‫بشریت‬ ‫را‬ ‫هایش‬ ‫دانسته‬ ‫میکند‬ ‫منتشر‬ ‫و‬ ‫میخواند‬ ‫که‬ ‫او‬ ‫و‬ ): ‫هیچ‬ ‫دیگر‬ ‫و‬ ‫جهانی‬ ‫صلح‬ ‫امید‬ ‫به‬ ‫و‬
  • 5.
    ‫که‬ ‫کرد‬ ‫بررسی‬‫را‬ ‫مفهوم‬ ‫این‬ ‫باید‬ ‫مقاله‬ ‫شروع‬ ‫قبل‬ openstack ‫؟‬ ‫چیست‬ ‌ : ‫جمله‬ ‫از‬ ‫داریم‬ ‫ساختار‬ ‫چندین‬ ‫ما‬ ‫ابر‬ ‫مفهوم‬ ‫در‬ ‫‌واقع‬ ‫ر‬‫د‬ . ‫میباشد‬ ‫ابر‬ ‫‌سازی‬ ‫ه‬‫پیاد‬ ‫برای‬ ‫اکوسیستم‬ ‫یک‬ ‫‌واقع‬ ‫ر‬‫د‬ ‫و‬ ‫سکو‬ ‫یک‬ ‫استک‬ ‫اپن‬ Infrastructure as a service (Iaas) Platform as a service (Paas) Software as a service (Saas) Network as a service (Naas) Storage as a service (Staas) xaas (anything as a service) Security as a service Load balancing as a service Dns as a service And … ‫پردازش‬ ‫کارهای‬ ‫گذاری‬ ‫اشتراک‬ ‫امکان‬ ‫تا‬ ‫هستند‬ ‫شبکه‬ ‫در‬ ‫دور‬ ‫راه‬ ‫از‬ ‫سرورهای‬ ‫از‬ ‫بزرگی‬ ‫های‬ ‫گروه‬ ‫آن‬ ‫در‬ ‫که‬ ‫اینترنت‬ ‫بر‬ ‫مبتنی‬ ‫محاسبات‬ .‫شود‬ ‫فراهم‬ ‫‌ای‬ ‫ه‬‫رایان‬ ‫منابع‬ ‫یا‬ ‫خدمات‬ ‫به‬ ‫آنالین‬ ‫دسترسی‬ ‫و‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫متمرکز‬ ‫سازی‬ ‫ذخیره‬ ،‫‌ها‬ ‫ه‬‫داد‬ Cloud ،‫اینترنت‬ ‫طریق‬ ‫از‬ ‫محاسباتی‬ ‫خدمات‬ ‫انواع‬ ‫شامل‬ ‫که‬ ‫است‬ ‫‌ای‬ ‫ه‬‫رایان‬ ‫منابع‬ ‫از‬ ‫مشترک‬ ‫مجموعه‬ ‫یک‬ AI ،Big Data ‫و‬ ‫وب‬ ‫‌های‬ ‫ه‬‫برنام‬ ، .‫‌کنیم‬ ‫ی‬‫م‬ ‫استفاده‬ ‫دیگری‬ ‫شخص‬ ‫یا‬ ‫سازمان‬ ‫رایانه‬ ‫منابع‬ ‫از‬ ‫موقت‬ ‫طور‬ ‫به‬ ‫واقع‬ ‫در‬ ‫ما‬ ،‫مدل‬ ‫این‬ ‫در‬ .‫‌شود‬ ‫ی‬‫م‬ ‫غیره‬ IaaS ‫چیست؟‬ ‫یا‬ ‫سرویس‬ ‫عنوان‬ ‫به‬ ‫زیرساخت‬ Infrastructure as a service ‫مانند‬ ‫منابعی‬ ‫‌تواند‬ ‫ی‬‫م‬ )‫(مشتری‬ ‫شما‬ ‫به‬ ‫کننده‬ ‫فراهم‬ ‫که‬ ‫معناست‬ ‫این‬ ‫به‬ ‫همگانی‬ ‫مدیریت‬ ‫و‬ ‫‌افزار‬ ‫ت‬‫سخ‬ ‫خرید‬ ‫به‬ ‫نیازی‬ ‫دیگر‬ ‫شما‬ ‫بنابراین‬ .‫بدهد‬ ‫را‬ …‫و‬ ‫عامل‬ ‫سیستم‬ ،‫شبکه‬ ‫مختلف‬ ‫اجزای‬ ،‫داده‬ ‫‌سازی‬ ‫ه‬‫ذخیر‬ ،‫سرور‬ ‫این‬ ‫به‬ ‫‌تان‬ ‫ی‬‫دسترس‬ ‫میزان‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫شما‬ .‫باشید‬ ‫داشته‬ ‫اختیار‬ ‫در‬ ‫سرویس‬ ‫یکسری‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫اما‬ ،‫ندارید‬ ‫موارد‬ ‫این‬ ‫تمام‬ ‫‌های‬ ‫س‬‫سروی‬ ‫‌گوییم‬ ‫ی‬‫م‬ ‫که‬ ‫روست‬ ‫این‬ ‫از‬ .‫کنید‬ ‫گسترده‬ ‫یا‬ ‫محدود‬ ‫را‬ ‫منابع‬ IaaS .‫باشند‬ ‫‌پذیر‬ ‫س‬‫مقیا‬ ‫‌توانند‬ ‫ی‬‫م‬
  • 6.
    ‫مزایای‬ IaaS IaaS ‫از‬ .‫ندارند‬ ‫را‬‫‌افزاری‬ ‫ت‬‫سخ‬ ‫منابع‬ ‫از‬ ‫زیاد‬ ‫بسیار‬ ‫استفاده‬ ‫برای‬ ‫امکانی‬ ‫و‬ ‫دلیل‬ ،‫قصد‬ ‫که‬ ‫باشد‬ ‫‌هایی‬ ‫ت‬‫شرک‬ ‫برای‬ ‫گزینه‬ ‫بهترین‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫که‬ ‫آنجایی‬ IaaS ‫کنید‬ ‫تصور‬ ‫مثال‬ ‫برای‬ .‫باشد‬ ‫مناسب‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫تغییر‬ ‫ناگهانی‬ ‫صورت‬ ‫به‬ ‫که‬ ‫‌هایی‬ ‫ن‬‫اپلیکیش‬ ‫برای‬ ‫‌تواند‬ ‫ی‬‫م‬ ،‫است‬ ‫‌پذیر‬ ‫س‬‫مقیا‬ ‫صورت‬ ‫این‬ ‫در‬ ،‫باشد‬ ‫نیازمند‬ ‫منابع‬ ‫از‬ ‫میزان‬ ‫چه‬ ‫به‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫پردازش‬ ‫برای‬ ‫است‬ ‫ممکن‬ ‫آینده‬ ‫در‬ ‫که‬ ‫‌دانید‬ ‫ی‬‫نم‬ ‫و‬ ‫‌اید‬ ‫ه‬‫ساخت‬ ‫اپلیکیشن‬ ‫یک‬ ‫که‬ IaaS .‫یابد‬ ‫تطبیق‬ ‫شما‬ ‫نیاز‬ ‫براساس‬ ‫‌تواند‬ ‫ی‬‫م‬ • ‫از‬ ‫استفاده‬ ‫در‬ ‫‌تان‬ ‫ی‬‫‌ها‬ ‫ه‬‫هزین‬ ،‫ندارید‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫مدیریت‬ ‫برای‬ ‫محیطی‬ ‫اجاره‬ ‫و‬ ‫‌افزار‬ ‫ت‬‫سخ‬ ‫خرید‬ ‫به‬ ‫نیازی‬ ‫که‬ ‫آنجایی‬ ‫از‬ IaaS ‫کم‬ ‫بسیار‬ .‫بود‬ ‫خواهد‬ • .‫داد‬ ‫خواهند‬ ‫انجام‬ ‫سرویس‬ ‫خود‬ ‫مدیران‬ ‫که‬ ‫است‬ ‫فرایندی‬ ‫‌سازی‬ ‫ی‬‫مجاز‬ • .‫داشت‬ ‫خواهید‬ ‫‌ها‬ ‫ت‬‫زیرساخ‬ ‫روی‬ ‫کاملی‬ ‫کنترل‬ ‫شما‬ • .‫‌گیرید‬ ‫ی‬‫م‬ ‫انجام‬ ‫سرعت‬ ‫به‬ ‫سرویس‬ ‫از‬ ‫نوع‬ ‫این‬ ‫در‬ ‫‌پذیری‬ ‫س‬‫مقیا‬   • .‫بود‬ ‫خواهد‬ ‫‌تان‬ ‫ف‬‫مصر‬ ‫میزان‬ ‫براساس‬ ‫شما‬ ‫‌های‬ ‫ه‬‫هزین‬ • ،‫دیگر‬ ‫‌های‬ ‫س‬‫سروی‬ ‫با‬ ‫مقایسه‬ ‫در‬ IaaS .‫‌کند‬ ‫ی‬‫م‬ ‫ارائه‬ ‫شما‬ ‫به‬ ‫را‬ ‫‌پذیری‬ ‫ف‬‫انعطا‬ ‫بیشترین‬
  • 7.
    PaaS ‫چیست؟‬ ‫‌های‬ ‫س‬‫سروی‬ ،‫‌ها‬ ‫ت‬‫زیرساخ‬ ‫بر‬‫اضافه‬ PaaS ،‫داده‬ ‫توسعه‬ ‫را‬ ‫‌تان‬ ‫ی‬‫‌افزارها‬ ‫م‬‫نر‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫آن‬ ‫در‬ ‫که‬ ‫‌دهند‬ ‫ی‬‫م‬ ‫را‬ ‫محیطی‬ ‫از‬ ‫استفاده‬ ‫قابلیت‬ ‫شما‬ ‫به‬ ‫بتوانند‬ ‫‌فزار‬ ‫م‬‫نر‬ ‫مهندسین‬ ‫که‬ ‫است‬ ‫آن‬ ‫سرویس‬ ‫این‬ ‫اصلی‬ ‫هدف‬ ‫واقع‬ ‫در‬ .‫باشید‬ ‫داشته‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫روی‬ ‫مناسبی‬ ‫مدیریت‬ ‫نهایت‬ ‫در‬ ‫و‬ ‫کنید‬ ‫تست‬ ‫داده‬ ‫‌سازی‬ ‫ه‬‫ذخیر‬ ‫و‬ ‫سیستم‬ ‫مدیریت‬ ،‫‌ها‬ ‫ی‬‫بروزرسان‬ ‫بابت‬ ‫از‬ ‫نگرانی‬ ‫دیگر‬ ‫و‬ ‫باشند‬ ‫داشته‬ ‫‌ها‬ ‫ن‬‫اپلیکیش‬ ‫طراحی‬ ‫روی‬ ‫را‬ ‫ممکن‬ ‫تمرکز‬ ‫بیشترین‬ .‫باشند‬ ‫نداشته‬ ‫مزایای‬ PaaS • ‫که‬ ‫‌هایی‬ ‫ت‬‫قابلی‬ ‫روی‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫شما‬ ‫شرکت‬ PaaS .‫نباشد‬ ‫منابع‬ ‫بابت‬ ‫از‬ ‫نگران‬ ‫و‬ ‫کرده‬ ‫حساب‬ ‫‌کند‬ ‫ی‬‫م‬ ‫ارائه‬   • .‫است‬ ‫کم‬ ‫بسیار‬ ‫سرویس‬ ‫این‬ ‫در‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫دیپلوی‬ ‫و‬ ‫توسعه‬ ‫پروسه‬ • .‫باشید‬ ‫‌تان‬ ‫ن‬‫اپلیکیش‬ ‫ساخت‬ ‫نگران‬ ‫تنها‬ ‫شما‬ ‫بنابراین‬ ،‫‌شود‬ ‫ی‬‫م‬ ‫انجام‬ ‫‌دهنده‬ ‫س‬‫سروی‬ ‫توسط‬ ‫سرور‬ ‫مدیریت‬ ‫فرایندهای‬ ‫تمام‬ • .‫‌دهد‬ ‫ی‬‫م‬ ‫را‬ ‫‌تان‬ ‫م‬‫تی‬ ‫با‬ ‫دور‬ ‫راه‬ ‫از‬ ‫همکاری‬ ‫قابلیت‬ ‫شما‬ ‫به‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫سرویس‬ ‫این‬ ‫در‬ ‫امکاناتی‬ ‫احتمالی‬ ‫مشکالت‬ • ‫شدن‬ ‫قطع‬ ‫صورت‬ ‫در‬ ‫است‬ ‫شده‬ ‫ساخته‬ ‫منابع‬ ‫این‬ ‫پایه‬ ‫بر‬ ‫شما‬ ‫سرویس‬ ‫که‬ ‫آنجایی‬ ‫از‬ ‫و‬ .‫است‬ ‫محدود‬ ‫سرور‬ ‫منابع‬ ‫روی‬ ‫شما‬ ‫کنترل‬ .‫دهید‬ ‫انجام‬ ‫را‬ ‫کاری‬ ‫هیچ‬ ‫‌توانید‬ ‫ی‬‫نم‬ ‫شما‬ ‫منابع‬ • ‫از‬ ‫استفاده‬ ‫با‬ PaaS ‫امنیتی‬ ‫مشکالت‬ ‫آوردن‬ ‫بوجود‬ ‫باعث‬ ‫مسئله‬ ‫این‬ ‫خود‬ ‫که‬ ‫دارند‬ ‫منابع‬ ‫به‬ ‫را‬ ‫دسترسی‬ ‫میزان‬ ‫یک‬ ‫مختلف‬ ‫کاربران‬ ، .‫‌شود‬ ‫ی‬‫م‬   • ‫توسط‬ ‫که‬ ‫‌افزاری‬ ‫م‬‫نر‬ ‫محیط‬ PaaS ‫مطمئن‬ ‫رو‬ ‫این‬ ‫از‬ .‫باشد‬ ‫داشته‬ ‫ابزاری‬ ‫پشتیبانی‬ ‫نظر‬ ‫از‬ ‫‌هایی‬ ‫ت‬‫محدودی‬ ‫است‬ ‫ممکن‬ ‫‌شود‬ ‫ی‬‫م‬ ‫ارائه‬ ‫‌دهنده‬ ‫س‬‫سروی‬ ‫که‬ ‫شوید‬ PaaS .‫‌کند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫شما‬ ‫برای‬ ‫را‬ ‫موجود‬ ‫ابزارهای‬ ‫تمام‬
  • 8.
    SaaS ‫چیست؟‬ ‫یا‬ ‫عنوان‬ ‫به‬‫‌افزار‬ ‫م‬‫نر‬ SaaS ‫یک‬ ‫در‬ ‫که‬ ‫است‬ ‫این‬ ‫بکنید‬ ‫باید‬ ‫که‬ ‫کاری‬ ‫تنها‬ .‫است‬ ‫ابری‬ ‫پردازش‬ ‫برای‬ ‫‌ها‬ ‫ه‬‫گزین‬ ‫‌ترین‬ ‫ه‬‫شد‬ ‌ ‫ه‬‫شناخت‬ ‫از‬ ‫یکی‬ ‫سرویس‬ SaaS .‫ندارید‬ …‫و‬ ‫سرور‬ ‫مدیریت‬ ‫بابت‬ ‫از‬ ‫نگرانی‬ ‫هیچ‬ ‫شما‬ ‫بنابراین‬ .‫‌کنید‬ ‫ی‬‫م‬ ‫اجرا‬ ‫را‬ ‫‌افزارتان‬ ‫م‬‫نر‬ ‫و‬ ‫کرده‬ ‫نام‬ ‫ثبت‬ ‫‌دهندگان‬ ‫س‬‫سروی‬ SaaS ‫تمرکز‬ ‫‌توانند‬ ‫ی‬‫م‬ ‫‌نویسان‬ ‫ه‬‫برنام‬ ‫رو‬ ‫این‬ ‫از‬ .‫‌دهند‬ ‫ی‬‫م‬ ‫انجام‬ ‫را‬ ‫‌ها‬ ‫ی‬‫بروزرسان‬ ‫و‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫مدیریت‬ ‫را‬ ‫‌ها‬ ‫ت‬‫زیرساخ‬ ‫تمام‬ .‫باشند‬ ‫نداشته‬ ‫دیگری‬ ‫نگرانی‬ ‫و‬ ‫گذاشته‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫روی‬ ‫را‬ ‫بیشتری‬ ‫درحالیکه‬ IaaS ‫و‬ ‫دارد‬ ‫نیاز‬ ‫‌داری‬ ‫ه‬‫نگ‬ ‫برای‬ ‫تخصصی‬ ‫دانش‬ ‫به‬ PaaS ،‫است‬ ‫شده‬ ‫طراحی‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫برای‬ ‫نیز‬ SaaS ‫در‬ ‫که‬ ‫است‬ ‫سرویسی‬ ‫یک‬ ‫شما‬ ‫نهایت‬ end user .‫بود‬ ‫خواهید‬ ‫آن‬ ‫برای‬ ‫که‬ ‫گفت‬ ‫‌توان‬ ‫ی‬‫م‬ ‫زیر‬ ‫دالیل‬ ‫به‬ SaaS :‫دارد‬ ‫باالیی‬ ‫بسیار‬ ‫محبوبیت‬ • .‫است‬ ‫ساده‬ ‫بسیار‬ ‫‌ها‬ ‫ن‬‫اپلیکیش‬ ‫دیپلوی‬ ‫و‬ ‫نصب‬ • .‫است‬ ‫کم‬ ‫بسیار‬ ‫آن‬ ‫هزینه‬ • .‫است‬ ‫راحت‬ ‫آن‬ ‫در‬ ‫ارتقا‬ ‫و‬ ‫بروزرسانی‬ ‫احتمالی‬ ‫مشکالت‬ • .‫کند‬ ‫ایجاد‬ ‫خالل‬ ‫کارتان‬ ‫در‬ ‫است‬ ‫ممکن‬ ‫تکنیکی‬ ‫مشکالت‬ ‫رو‬ ‫این‬ ‫از‬ ‫و‬ ‫ندارید‬ ‫اپلیکیشن‬ ‫اجرایی‬ ‫محیط‬ ‫روی‬ ‫کنترلی‬ ‫هیچ‬ ‫شما‬ • .‫شوند‬ ‫روبرو‬ ‫امنیتی‬ ‫مشکالت‬ ‫برخی‬ ‫با‬ ‫است‬ ‫ممکن‬ ‫کاربران‬ ‫نام‬ ‫به‬ ‫فردی‬ ‫پیش‬ ‫سال‬ ‫چند‬ Albert Barron ‫انجمن‬ ‫در‬ IBM ‫با‬ ‫پیتزا‬ ‫یک‬ ‫ساخت‬ ‫پروسه‬ ‫طریق‬ ‫از‬ ‫را‬ ‫مختلف‬ ‫‌های‬ ‫ل‬‫مد‬ ‫میان‬ ‫‌های‬ ‫ت‬‫تفاو‬ .‫کرد‬ ‫مقایسه‬ ‫همدیگر‬
  • 10.
    ‫باید‬ ‫‌دهنده‬ ‫س‬‫سروی‬ ‫که‬‫است‬ ‫کارهایی‬ ‫‌دهنده‬ ‫ن‬‫نشا‬ ‫سبز‬ ‫رنگ‬ ‫و‬ ‫دهید‬ ‫انجام‬ ‫باید‬ ‫شما‬ ‫که‬ ‫است‬ ‫کارهایی‬ ‫‌دهنده‬ ‫ن‬‫نشا‬ ‫باال‬ ‫تصویر‬ ‫در‬ ‫آبی‬ ‫رنگ‬ .‫دهد‬ ‫انجام‬ ‫را‬ ‫شبکه‬ ‫‌های‬ ‫ه‬‫الی‬ ،‫کنید‬ ‫مدیریت‬ ‫را‬ ‫سرور‬ ‫باید‬ ‫که‬ ‫شمایید‬ .‫دارید‬ ‫‌ها‬ ‫ش‬‫بخ‬ ‫تمام‬ ‫روی‬ ‫کاملی‬ ‫کنترل‬ ‫شما‬ ،‫است‬ ‫سنتی‬ ‫مدل‬ ‫که‬ ‫مدل‬ ‫اولین‬ ‫در‬ ‫همان‬ ‫که‬ ‫دوم‬ ‫مدل‬ ‫در‬ . …‫و‬ ‫بگیرید‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫حافظه‬ ‫مدیریت‬ ،‫نمایید‬ ‫بررسی‬ IaaS ‫بجز‬ ‫و‬ ‫دارید‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫کنترل‬ ‫بیشتر‬ ‫شما‬ ،‫است‬ ‫همان‬ ‫یا‬ ‫سوم‬ ‫حالت‬ ‫در‬ .‫دهید‬ ‫انجام‬ ‫باید‬ ‫را‬ ‫کارها‬ ‫تمام‬ ‫‌سازی‬ ‫ی‬‫مجاز‬ ‫و‬ ‫‌افزار‬ ‫ت‬‫سخ‬ ‫مدیریت‬ PaaS ‫صورت‬ ‫به‬ ‫کارها‬ ‫تقریبا‬ ۵۰ - ۵۰ ‫‌شود‬ ‫ی‬‫م‬ ‫انجام‬ ‫که‬ ‫آخر‬ ‫حالت‬ ‫نهایت‬ ‫در‬ ‫و‬ SaaS ‫چرا‬ ‫ندارد‬ ‫سازگاری‬ ‫منطق‬ ‫با‬ ‫حدی‬ ‫تا‬ ‫آخر‬ ‫حالت‬ ‫البته‬ .‫‌شود‬ ‫ی‬‫م‬ ‫انجام‬ ‫‌دهنده‬ ‫س‬‫سروی‬ ‫توسط‬ ‫کارها‬ ‫تمام‬ ،‫است‬ .‫‌دهید‬ ‫ی‬‫م‬ ‫انجام‬ ‫شما‬ ‫نیز‬ ‫را‬ ‫کارها‬ ‫از‬ ‫بخشی‬ ‫که‬ ،‫کند‬ ‫اجرا‬ ‫دردسر‬ ‫بدون‬ ‫را‬ ‫‌افزارتان‬ ‫م‬‫نر‬ ‫بتواند‬ ‫که‬ ‫هستید‬ ‫‌ای‬ ‫ه‬‫‌دهند‬ ‫س‬‫سروی‬ ‫دنبال‬ ‫به‬ ‫تنها‬ ‫اگر‬ SaaS ‫از‬ ‫میزانی‬ ‫به‬ ‫اگر‬ .‫‌کنیم‬ ‫ی‬‫م‬ ‫پیشنهاد‬ ‫را‬ ‫دارید‬ ‫نیاز‬ ‫تنظیمات‬ ‫و‬ ‫‌سازی‬ ‫ی‬‫سفارش‬ PaaS ‫به‬ ‫و‬ ‫باشید‬ ‫داشته‬ ‫‌ها‬ ‫ت‬‫زیرساخ‬ ‫روی‬ ‫کاملتری‬ ‫کنترل‬ ‫‌خواهید‬ ‫ی‬‫م‬ ‫اگر‬ .‫شماست‬ ‫گزینه‬ ‫بهترین‬ ‫دهید‬ ‫انجام‬ ‫را‬ ‫‌تان‬ ‫ی‬‫کارها‬ ‫‌ای‬ ‫ه‬‫حرف‬ ‫صورت‬ IaaS .‫شماست‬ ‫مناسب‬
  • 12.
    ‫اما‬ ‫و‬ Rally ‌ ‫؟‬ ‫دارد‬‫کاربردی‬ ‫چه‬ ‫و‬ ‫هست‬ ‫سرویسی‬ ‫چه‬ Rally ‫برای‬ ‫عملکرد‬ ‫تحلیل‬ ‫و‬ ‫تجزیه‬ ‫و‬ ‫محک‬ ‫ابزار‬ ‫یک‬ OpenStack ‫تمرکز‬ ‫با‬ ‫‌سازی‬ ‫ه‬‫نمای‬ ‫و‬ ‫‌گیری‬ ‫ه‬‫انداز‬ ‫خودکارسازی‬ ‫برای‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫که‬ ‫است‬ ‫عملکرد‬ ‫بر‬ ‫جدید‬ ‫کد‬ ‫تغییرات‬ ‫تأثیر‬ ‫چگونگی‬ ‫بر‬ OpenStack ‫‌های‬ ‫ی‬‫معمار‬ ‫چگونه‬ ‫اینکه‬ ‫بررسی‬ ‫و‬ ،‫عملکرد‬ ‫و‬ ‫‌بندی‬ ‫س‬‫مقیا‬ ‫مشکالت‬ ‫شناسایی‬ ، ‫عملکرد‬ ‫بر‬ ‫مختلف‬ ‫‌افزارهای‬ ‫ت‬‫سخ‬ ‫و‬ ‫استقرار‬ OpenStack ‫برای‬ ‫اساسی‬ ‫ابزار‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫آن‬ ‫از‬ ‫توان‬ ‫می‬ .‫شود‬ ‫استفاده‬ ‫‌گذارند‬ ‫ی‬‫م‬ ‫تأثیر‬ ‫سیستم‬ OpenStack CI/CD ‫مداوم‬ ‫طور‬ ‫به‬ ‫که‬ ‫کرد‬ ‫استفاده‬ SLA .‫بخشد‬ ‫می‬ ‫بهبود‬ ‫را‬ ‫آن‬ ‫پایداری‬ ‫و‬ ‫عملکرد‬ ، " :‫دهد‬ ‫می‬ ‫پاسخ‬ ‫سؤال‬ ‫این‬ ‫به‬ ‫که‬ ‫است‬ ‫آزمایش‬ ‫برای‬ ‫ابزار‬ ‫یک‬ ‫‌واقع‬ ‫ر‬‫د‬ OpenStack "‫کند؟‬ ‫می‬ ‫کار‬ ‫موجود‬ ‫مقیاس‬ ‫این‬ ‫در‬ ‫چگونه‬ Rally ‫آیا‬ ‫که‬ ‫شود‬ ‫بررسی‬ ‫که‬ ‫کند‬ ‫می‬ ‫فراهم‬ ‫را‬ ‫امکان‬ ‫این‬ ‫و‬ ،‫دهد‬ ‫می‬ ‫انجام‬ ‫عمومی‬ ‫روشی‬ ‫به‬ ‫را‬ ‫کار‬ ‫این‬ OpenStack ‫های‬ ‫ساختار‬ ‫روی‬ .… ‫دیگر‬ ‫های‬ ‫تست‬ ‫و‬ .‫خیر‬ ‫یا‬ ‫کند‬ ‫می‬ ‫کار‬ ‫خوبی‬ ‫به‬ ‫باال‬ ‫بار‬ ‫تحت‬ ‫نمونه‬ ‫برای‬ ‫مختلف‬ ‫سیستم‬ ‫برای‬ ‫اساسی‬ ‫ابزار‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫آن‬ ‫از‬ ‫توان‬ ‫می‬ ‫بنابراین‬ OpenStack CI/CD ‫مداوم‬ ‫طور‬ ‫به‬ ‫که‬ ‫کرد‬ ‫استفاده‬ SLA ‫و‬ ‫عملکرد‬ ، .‫بخشد‬ ‫می‬ ‫بهبود‬ ‫را‬ ‫آن‬ ‫پایداری‬
  • 13.
    ‫شک‬ ‫بدون‬ OpenStack .‫است‬ ‫ابری‬‫رایانش‬ ‫بزرگ‬ ‫خدمات‬ ‫از‬ ‫عظیم‬ ً‫ا‬‫واقع‬ ‫اکوسیستم‬ ‫یک‬ Rally ‫این‬ ‫به‬ ‫که‬ ‫است‬ ‫آزمایش‬ ‫برای‬ ‫ابزار‬ ‫یک‬ " :‫دهد‬ ‫می‬ ‫پاسخ‬ ‫سؤال‬ OpenStack "‫کند؟‬ ‫می‬ ‫کار‬ ‫موجود‬ ‫مقیاس‬ ‫این‬ ‫در‬ ‫چگونه‬ Rally ‫آیا‬ ‫که‬ ‫شود‬ ‫بررسی‬ ‫که‬ ‫کند‬ ‫می‬ ‫فراهم‬ ‫را‬ ‫امکان‬ ‫این‬ ‫و‬ ،‫دهد‬ ‫می‬ ‫انجام‬ ‫عمومی‬ ‫روشی‬ ‫به‬ ‫را‬ ‫کار‬ ‫این‬ OpenStack ‫های‬ ‫ساختار‬ ‫روی‬ .… ‫دیگر‬ ‫های‬ ‫تست‬ ‫و‬ .‫خیر‬ ‫یا‬ ‫کند‬ ‫می‬ ‫کار‬ ‫خوبی‬ ‫به‬ ‫باال‬ ‫بار‬ ‫تحت‬ ‫نمونه‬ ‫برای‬ ‫مختلف‬ ‫سیستم‬ ‫برای‬ ‫اساسی‬ ‫ابزار‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫آن‬ ‫از‬ ‫توان‬ ‫می‬ ‫بنابراین‬ OpenStack CI/CD ‫مداوم‬ ‫طور‬ ‫به‬ ‫که‬ ‫کرد‬ ‫استفاده‬ SLA ‫و‬ ‫عملکرد‬ ، .‫بخشد‬ ‫می‬ ‫بهبود‬ ‫را‬ ‫آن‬ ‫پایداری‬
  • 14.
    ‫فناوری‬ ‫و‬ ‫محصوالت‬‫پذیرش‬ OpenStack ‫انجمن‬ ‫به‬ ‫جدیدی‬ ‫‌کنندگان‬ ‫ت‬‫مشارک‬ ‫روز‬ ‫هر‬ .‫است‬ ‫رشد‬ ‫حال‬ ‫در‬ ‫کننده‬ ‫خیره‬ ‫سرعتی‬ ‫با‬ OpenStack ‫درواقع‬ .‫‌شود‬ ‫ی‬‫م‬ ‫عملکرد‬ ‫بهبود‬ ‫و‬ ‫جدید‬ ‫‌های‬ ‫ی‬‫ویژگ‬ ‫نظر‬ ‫از‬ ،‫مداوم‬ ‫‌های‬ ‫ی‬‫‌روزرسان‬ ‫ه‬‫ب‬ ‫به‬ ‫منجر‬ ‫این‬ .‫‌پیوندند‬ ‫ی‬‫م‬ OpenStack ً‫ا‬‫واقع‬ ‫سخت‬ ‫‌بندی‬ ‫س‬‫مقیا‬ ‫و‬ ‫عملکرد‬ ‫مشکالت‬ ‫یا‬ ‫سیستم‬ ‫خرابی‬ ‫صورت‬ ‫در‬ ‫را‬ ‫‌یابی‬ ‫ب‬‫عی‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫که‬ ‫است‬ ‫مشارکتی‬ ‫خدمات‬ ‫از‬ ‫عظیم‬ ‫اکوسیستم‬ ‫یک‬ .‫است‬ ‫شده‬ ‫طراحی‬ ‫مشکالت‬ ‫این‬ ‫رفع‬ ‫به‬ ‫کمک‬ ‫برای‬ ‫که‬ ‫است‬ ‫ابزاری‬ ‫رالی‬ .‫کند‬ ‫در‬ ‫را‬ ‫رالی‬ ‫ویکی‬ ‫صفحه‬ ‫توانید‬ ‫می‬ ،‫آن‬ ‫عملکرد‬ ‫نحوه‬ ‫و‬ ‫رالی‬ ‫از‬ ‫کلی‬ ‫نمای‬ ‫یک‬ ‫برای‬ https://wiki.openstack.org/wiki/Rally ،‫کنید‬ ‫بررسی‬ ‫از‬ ‫را‬ ‫خود‬ ‫کد‬ ‫یا‬ stackforge ‫در‬ https://github.com/stackforge .‫کنید‬ ‫دریافت‬ ،‫خالصه‬ ‫طور‬ ‫به‬ ‫رالی‬ Rally ‫ابرهای‬ ‫زدن‬ ‫محک‬ ‫و‬ ‫تأیید‬ ‫برای‬ ‫ابزاری‬ OpenStack ،‫استرس‬ :‫معنای‬ ‫به‬ ‫رالی‬ ‫مورد‬ ‫در‬ "‫"معیاربندی‬ .‫است‬ ‫ابرهای‬ ‫رگرسیون‬ ‫تست‬ ‫و‬ ‫عملکرد‬ ،‫پذیری‬ ‫مقیاس‬ OpenStack .‫است‬ Rally ‫گرهی‬ ‫چند‬ ‫پروفایل‬ ‫و‬ ‫آزمایش‬ ،‫تأیید‬ ،‫استقرار‬ ‫که‬ ‫است‬ ‫عمومی‬ ‫آزمایش‬ ‫ابزار‬ ‫یک‬ OpenStack ‫می‬ .‫کند‬ ‫می‬ ‫یکپارچه‬ ‫و‬ ‫خودکار‬ ‫را‬ ‫سیستم‬ ‫برای‬ ‫اساسی‬ ‫ابزار‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫آن‬ ‫از‬ ‫توان‬ OpenStack CI/CD ‫مداوم‬ ‫طور‬ ‫به‬ ‫که‬ ‫کرد‬ ‫استفاده‬ SLA ‫را‬ ‫آن‬ ‫پایداری‬ ‫و‬ ‫عملکرد‬ ، .‫بخشد‬ ‫می‬ ‫بهبود‬
  • 15.
    ‫از‬ ‫ها‬ ‫کمپانی‬‫کدام‬ rally ‌ : ‫میکنند‬ ‫استفاده‬
  • 16.
    ‫به‬ ‫نگاهی‬ ‫بیایید‬ 3 ‫از‬‫باال‬ ‫سطح‬ ‫استفاده‬ ‫مورد‬ Rally :‫بیندازیم‬ ‫‌واقع‬ ‫ر‬‫د‬ rally : ‫جمله‬ ‫از‬ ‫مختلف‬ ‫طیف‬ ‫سه‬ ‫برای‬ devops ‫ها‬ ‫کار‬ developer ‫مفهوم‬ ‫میخواهند‬ ‫که‬ ‫هستند‬ ‫کسانی‬ ‫و‬ ‫‌ها‬ CI/CD ‫را‬ . ‫کنند‬ ‫‌سازی‬ ‫ه‬‫پیاد‬
  • 17.
    ‫مفهوم‬ ‫بررسی‬ ‫به‬‫ادامه‬ ‫در‬ CI/CD : ‫پرداخت‬ ‫خواهیم‬ ،‫پیوسته‬ ‫استقرار‬ ‫یا‬ ‫پیوسته‬ ‫تحویل‬ ‫و‬ ‫مداوم‬ ‫‌سازی‬ ‫ه‬‫یکپارچ‬ ‫اعمال‬ ‫مجموعه‬ ‫به‬ ‫کلی‬ ‫‌طور‬ ‫ه‬‫ب‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫مهندسی‬ ‫در‬ CICD ‫یا‬ CI/CD .‫‌گویند‬ ‫ی‬‫م‬ CI/CD ‫بین‬ ‫پلی‬ ‫نحوی‬ ‫به‬ ‫وسیله‬ ‫بدین‬ .‫شوند‬ ‫انجام‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ‫‌ها‬ ‫ه‬‫برنام‬ ‫استقرار‬ ‫و‬ ‫تست‬ ،‫ساخت‬ ‫فرایندهای‬ ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ ‫وادار‬ ‫‌افزار‬ ‫م‬‫نر‬ ٔ ‫«توسعه‬ ‫‌های‬ ‫م‬‫تی‬ ‫‌های‬ ‫ت‬‫فعالی‬ DEVelopment ‫اطالعات‬ ‫فناوری‬ ‫«عملیات‬ ‫و‬ » OPerationS ‫شامل‬ ‫دواپس‬ ‫‌های‬ ‫ت‬‫فعالی‬ .‫‌کند‬ ‫ی‬‫م‬ ‫ایجاد‬ » ' .‫‌باشد‬ ‫ی‬‫م‬ ‫توسعه‬ ‫فرایند‬ ‫طول‬ ‫در‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫بر‬ ‫مداوم‬ ‫نظارت‬ ‫و‬ ‫پیوسته‬ ‫استقرار‬ ،‫مداوم‬ ‫‌سازی‬ ‫ه‬‫یکپارچ‬ ،‫پیوسته‬ ‫آزمون‬ ،‫پیوسته‬ ‫توسعه‬ ‫اقدامات‬ CI/CD .‫‌دهد‬ ‫ی‬‫م‬ ‫تشکیل‬ ‫را‬ ‫دواپس‬ ‫‌های‬ ‫ت‬‫فعالی‬ ‫زیربنای‬ CI/CD :‫انگلیسی‬ ‫(به‬ ‫‌آل‬ ‫ه‬‫اید‬ ‫‌های‬ ‫ش‬‫رو‬ ‫از‬ ‫یکی‬ best practice ‫‌ی‬ ‫ه‬‫توسع‬ ‫‌های‬ ‫ی‬‫متدولوژ‬ ‫از‬ ‫جزئی‬ ،‫این‬ ‫بر‬ ‫عالوه‬ .‫است‬ ‫دواپس‬ ‫‌های‬ ‫م‬‫تی‬ ‫برای‬ ) ‫از‬ ‫استفاده‬ ‫با‬ .‫‌آید‬ ‫ی‬‫م‬ ‫شمار‬ ‫به‬ ‫نیز‬ ‫چابک‬ ‫‌افزاری‬ ‫م‬‫نر‬ CI/CD ‫‌های‬ ‫ی‬‫نیازمند‬ ‫به‬ ‫‌تواند‬ ‫ی‬‫م‬ ،‫استقرار‬ ‫مسائل‬ ‫‌ی‬ ‫ه‬‫دغدغ‬ ‫از‬ ‫فارغ‬ ،‫‌افزار‬ ‫م‬‫نر‬ ‫‌ی‬ ‫ه‬‫توسع‬ ‫تیم‬ . ‫کند‬ ‫رسیدگی‬ ‫امنیت‬ ‫و‬ ‫کد‬ ‫کیفیت‬ ،‫جلسات‬
  • 18.
    :‫است‬ ‫مفید‬ ‫بسیار‬‫رالی‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫نشان‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫مورد‬ ‫چند‬ ،‫کلی‬ ‫طور‬ ‫به‬ .‫‌عامل‬ ‫م‬‫سیست‬ ‫عملکرد‬ ‫بر‬ ‫جدید‬ ‫کد‬ ‫تغییرات‬ ‫تأثیر‬ ‫نحوه‬ ‫بر‬ ‫تمرکز‬ ‫با‬ ‫خودکار‬ ‫‌سازی‬ ‫ه‬‫نمای‬ ‫و‬ ‫‌گیری‬ ‫ه‬‫انداز‬ ‫عملکرد؛‬ ‫و‬ ‫بندی‬ ‫مقیاس‬ ‫به‬ ‫مربوط‬ ‫مسائل‬ ‫تشخیص‬ ‫برای‬ ‫رالی‬ ‫پروفیلر‬ ‫از‬ ‫استفاده‬ .‫عامل‬ ‫سیستم‬ ‫عملکرد‬ ‫بر‬ ‫مختلف‬ ‫‌های‬ ‫ش‬‫رو‬ ‫چگونگی‬ ‫بررسی‬ ‫درست‬ ‫استقرار‬ ‫جهت‬ ‫مناسب‬ ‫های‬ ‫معماری‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ‫کردن‬ ‫پیدا‬ ‫برای‬ OpenStack . ‫غیره)؛‬ ‫و‬ ‫سریع‬ ‫های‬ ‫گره‬ ،‫کنترلرها‬ ‫(تعداد‬ ‫مختلف‬ ‫بارهای‬ ‫برای‬ ‫استقرار‬ ‫مشخصات‬ ‫ایجاد‬ ‫ابر‬ ‫برای‬ ‫که‬ ‫را‬ ‫افزاری‬ ‫سخت‬ ‫جستجوی‬ OpenStack . ‫است‬ ‫مناسب‬ ‫خاص‬ ‫در‬ ‫اطمینان‬ ‫قابلیت‬ ‫و‬ ‫ها‬ ‫پذیری‬ ‫دسترس‬ ‫تست‬ ‫و‬ ‫مختلف‬ ‫های‬ ‫تست‬ ‫جهت‬ ‫ساختار‬ ‫ایجاد‬ openstack . … ‫و‬ ‫پذیری‬ ‫دسترس‬ ‫و‬ ‫امنیتی‬ ‫های‬ ‫تست‬ ‫جهت‬ ‫مختلف‬ ‫بارهای‬ ‫با‬ ‫بنچمارک‬ ‫های‬ ‫تست‬ ‫ایجاد‬ ‫مدیریت‬ instance ‫با‬ ‫مرتبط‬ ‫های‬ ‫ساختار‬ ‫و‬ ‫ها‬ instance ‫های‬ ‫مولفه‬ ‫و‬ openstack . ‫تست‬ api . ‫مختلف‬ ‫های‬ ‫معماری‬ ‫های‬ ‫پروژه‬ ً‫ال‬‫معمو‬ OpenStack ‫بنابراین‬ ،‫شوند‬ ‫می‬ ‫سازی‬ ‫پیاده‬ "‫سرویس‬ ‫یک‬ ‫عنوان‬ ‫"به‬ Rally ‫بر‬ ‫عالوه‬ .‫دهد‬ ‫می‬ ‫ارائه‬ ‫را‬ ‫رویکرد‬ ‫این‬ ‫بر‬ ‫مبتنی‬ ‫رویکرد‬ ‫یک‬ ،‫این‬ CLI . ‫ندارد‬ ‫نیاز‬ ‫دیمون‬ ‫به‬ ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ ‫‌سازی‬ ‫ه‬‫پیاد‬ ‫را‬ ‫مفهوم‬ ‫در‬ Rally : ‫داریم‬ ‫را‬ ‫مفهوم‬ ‫دو‬ ‫ما‬ Rally as-a-Service ‫‌دهند‬ ‫ی‬‫م‬ ‫ارائه‬ ‫را‬ ‫وب‬ ‫کاربری‬ ‫رابط‬ ‫که‬ ‫‌شود‬ ‫ی‬‫م‬ ‫اجرا‬ ‫ها‬ ‫دیمون‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫رالی‬ : Rally as-an-App ‫برنامه‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫رالی‬ : CLI .‫کند‬ ‫می‬ ‫ساده‬ ‫را‬ ‫آن‬ ‫توسعه‬ ‫و‬ ‫استفاده‬ ‫که‬ ‫حمل‬ ‫قابل‬ ‫و‬ ‫سبک‬ ‫بسیار‬ :‫دارد‬ ‫وجود‬ ‫رالی‬ ‫در‬ ‫امکان‬ ‫این‬ ‫چگونه‬ ‫که‬ ‫دهد‬ ‫می‬ ‫نشان‬ ‫زیر‬ ‫نمودار‬
  • 19.
    ‫از‬ ‫رالی‬ ‫واقعی‬‫هسته‬ 3 :‫اند‬ ‫شده‬ ‫فهرست‬ ‫شوند‬ ‫می‬ ‫عمل‬ ‫وارد‬ ‫که‬ ‫ترتیبی‬ ‫به‬ ‫زیر‬ ‫در‬ ‫که‬ ‫است‬ ‫شده‬ ‫تشکیل‬ ‫اصلی‬ ‫جزء‬ Deploy .‫شوند‬ ‫می‬ ‫استفاده‬ ‫وظیفه‬ ‫و‬ ‫تأیید‬ ‫دستورات‬ ‫توسط‬ ‫ها‬ ‫اعتبارنامه‬ ،‫کنید‬ ‫ذخیره‬ ‫را‬ ‫خود‬ ‫استقرارهای‬ ‫به‬ ‫مربوط‬ ‫اعتباری‬ ‫اطالعات‬ - ‫دهد‬ ‫می‬ ‫امکان‬ ‫شما‬ ‫به‬ ‫که‬ ‫است‬ ‫اتصال‬ ‫قابل‬ ‫مکانیزم‬ ‫دارای‬ LCM .‫کنید‬ ‫سازی‬ ‫پیاده‬ ‫آزمایش‬ ‫محیط‬ ‫برای‬ ‫را‬ ‫اولیه‬ Verify ‫در‬ .‫کند‬ ‫می‬ ‫بندی‬ ‫بسته‬ ‫نتایج‬ ‫گزارش‬ ‫و‬ ‫سازی‬ ‫ذخیره‬ ‫با‬ ‫کامل‬ ‫ابزار‬ ‫ارائه‬ ‫برای‬ ‫را‬ ‫تست‬ ‫واحد‬ ‫بر‬ ‫مبتنی‬ ‫عملکردی‬ ‫تست‬ ‫چارچوب‬ - ‫برای‬ ‫پالگین‬ ‫فقط‬ ‫حاضر‬ ‫حال‬ OpenStack Tempest .‫است‬ ‫شده‬ ‫سازی‬ ‫پیاده‬ Task ‫از‬ ‫استفاده‬ ‫با‬ ‫پیچیده‬ ‫آزمایشی‬ ‫موارد‬ ‫در‬ ‫را‬ ‫آنها‬ ‫ترکیب‬ ‫و‬ ‫شده‬ ‫پارامتری‬ ‫های‬ ‫افزونه‬ ‫نوشتن‬ ‫امکان‬ ‫که‬ ‫چارچوبی‬ - YAML ‫می‬ ‫فراهم‬ ‫را‬ ‫خطا‬ ‫تست‬ ‫حتی‬ ‫و‬ ‫ظرفیت‬ ،‫مقیاس‬ ،‫بار‬ ،‫رگرسیون‬ ،‫همزمانی‬ ،‫عملکردی‬ ‫تست‬ ‫جمله‬ ‫از‬ ‫ها‬ ‫تست‬ ‫انواع‬ ‫تا‬ ‫دهد‬ ‫می‬ ‫اجازه‬ ‫چارچوب‬ .‫کند‬ .‫کند‬ ‫تولید‬
  • 21.
    ‫نصب‬ ‫برای‬ ‫مختلفی‬‫‌های‬ ‫ش‬‫رو‬ ‫ما‬ rally . ‫داریم‬ ‫طریق‬ ‫از‬ ‫نصب‬ ‫دیگری‬ ‫و‬ ‫ها‬ ‫بسته‬ ‫مدیریت‬ ‫طریق‬ ‫از‬ ‫نصب‬ ‫‌ها‬ ‫ش‬‫رو‬ ‫از‬ ‫یکی‬ scl . Scl ‫مخفف‬ ‫که‬ software collection . ‫میباشد‬ ‫ها‬ ‫بیس‬ ‫ردهت‬ ‫در‬ ‫سیستمی‬ ‫غیر‬ ‫محیط‬ ‫یک‬ ‫بواسطه‬ ‫نصب‬ ‫جهت‬ ‫روش‬ ‫یک‬ . ‫میباشد‬ ‫ها‬ ‫بیس‬ ‫دبیان‬ ‫در‬ ‫مفهوم‬ ‫و‬ ‫ساختار‬ ‫این‬ ‫شبیه‬ snapp ‫خود‬ ‫البته‬ . ‫میباشد‬ snapp ‫ولی‬ . ‫کرد‬ ‫نصب‬ ‫ها‬ ‫بیس‬ ‫ردهت‬ ‫در‬ ‫میتوان‬ ‫را‬ scl ‫فقط‬ . ‫‌باشد‬ ‫ی‬‫م‬ ‫ها‬ ‫بیس‬ ‫ردهت‬ ‫مختص‬ ‫با‬ ‫مرتبط‬ ‫سایت‬ ‫در‬ ‫که‬ ‫همانطور‬ scl . ‫کنیم‬ ‫اضافه‬ ‫خود‬ ‫سیستم‬ ‫به‬ ‫را‬ ‫ریپوزیتوری‬ ‫که‬ ‫هست‬ ‫نیاز‬ ‫نصب‬ ‫جهت‬ . ‫است‬ ‫شده‬ ‫آورده‬
  • 22.
    ‫بصورت‬ ‫نصب‬ ‫از‬‫بعد‬ ‫سپس‬ scl ‫‌سازی‬ ‫ه‬‫پیاد‬ ‫جهت‬ ‫خود‬ ‫نظر‬ ‫مد‬ ‫های‬ ‫ابزار‬ ‫میتوانید‬ rally ‫که‬ ‫هست‬ ‫نیاز‬ ‫نصب‬ ‫در‬ . ‫دهیم‬ ‫استقرار‬ ‫و‬ ‫نصب‬ ‫را‬ ‫به‬ ‫مربوط‬ ‫کالینت‬ openstack ‫ابزارهای‬ ‫و‬ . ‫کنیم‬ ‫نصب‬ ‫‌را‬ rally . ‫کنیم‬ ‫نصب‬ ‫آن‬ ‫برای‬ ‫را‬ ‫های‬ ‫بسته‬ ‫فقط‬ ‫میتوان‬ ‫همچنین‬ scl . ‫کنیم‬ ‫نصب‬ ‫را‬
  • 23.
    ‫از‬ ‫غیر‬ ‫نصب‬‫روش‬ ‫بررسی‬ ‫به‬ ‫ادامه‬ ‫در‬ scl ‌ : ‫پرداخت‬ ‫خواهیم‬ ‫برای‬ ‫دیتابیس‬ ‫هست‬ ‫نیاز‬ ‫منظور‬ ‌ ‫ن‬‫ای‬ ‫برای‬ rally . ‫شود‬ ‫ساخته‬ mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or g. Your MariaDB connection id is 263 Server version: 10.3.10-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. create database rally; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all privileges on rally.* to rally@'localhost' identified by 'password'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> grant all privileges on rally.* to rally@'%' identified by 'password'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> exit
  • 24.
    ‫نود‬ ‫در‬ rally : ‫میگیرد‬‫انجام‬ ‫موارد‬ yum -y install openstack-rally openstack-rally-plugins python-fixtures vi /etc/rally/rally.conf # line 32: uncomment and change log_file = rally.log # line 37: uncomment and change log_dir =/var/log/rally # line 189: MariaDB connection info connection = mysql+pymysql://rally:password@ip/rally mkdir /var/log/rally rally db create Creating database: mysql+pymysql://rally:password@ip/rally Database created successfully ‫قسمت‬ ‫در‬ : ‫نکته‬ ip ‫میبایستی‬ ip . ‫شود‬ ‫وارد‬ ‫‌کنترلر‬ ‫برای‬ ‫ریجستری‬ ‫که‬ ‫هست‬ ‫نیاز‬ : ‫دوم‬ ‫نکته‬ rally . ‫کنید‬ ‫ایجاد‬ ‫که‬ ‫هست‬ ‫نیاز‬ ‫مفهوم‬ ‫این‬ ‫برای‬ env ‌ : ‫نمونه‬ ‫برای‬ . ‫کنید‬ ‫ست‬ ‫را‬ ‫خود‬ export OS_USERNAME=”admin” export OS_TENANT_NAME=”admin” export OS_PASSWORD=”admin” export OS_AUTH_URL=”http://your_cloud.url:5000/v2”
  • 25.
    ‫اجرای‬ ‫برای‬ Rally BenchMarkingTasks ‫برای‬ ‫را‬ ‫محیطی‬ ‫متغیرهای‬ ، Openstack ‫به‬ Rally .‫کنید‬ ‫اضافه‬ rally deployment create --fromenv --name=mycloud +--------------------------------------+---------------------+----------+------------------+--------+ | uuid | created_at | name | status | active | +--------------------------------------+---------------------+----------+------------------+--------+ | 9320b988-ad3b-4318-b683-80a28326a718 | 2021-10-29T01:13:25 | mycloud | deploy->finished | | +--------------------------------------+---------------------+----------+------------------+--------+ Using deployment: 9320b988-ad3b-4318-b683-80a28326a718 ~/.rally/openrc was updated HINTS: * To use standard OpenStack clients, set up your env by running: source ~/.rally/openrc OpenStack clients are now configured, e.g run: openstack image list source ~/.rally/openrc rally deployment show mycloud +--------------------------+----------+----------+-------------+-------------+---------------+ | auth_url | username | password | tenant_name | region_name | endpoint_type | +--------------------------+----------+----------+-------------+-------------+---------------+ | http://ip:5000/v3 | admin | *** | admin | | None | +--------------------------+----------+----------+-------------+-------------+---------------+ rally deployment check -------------------------------------------------------------------------------- Platform openstack: -------------------------------------------------------------------------------- Available services: +-------------+----------------+-----------+ | Service | Service Type | Status | +-------------+----------------+-----------+
  • 26.
    | __unknown__ |placement | Available | | cinder | volumev3 | Available | | cloud | cloudformation | Available | | designate | dns | Available | | glance | image | Available | | heat | orchestration | Available | | keystone | identity | Available | | neutron | network | Available | | nova | compute | Available | +-------------+----------------+-----------+ ‫سناریوی‬ # Benchmarking ‫کنید‬ ‫تعریف‬ ‫را‬ ‫کنید‬ ‫تعریف‬ ‫محاسباتی‬ ‫نمونه‬ ‫یک‬ ‫حذف‬ ‫و‬ ‫ایجاد‬ ‫برای‬ ‫ساده‬ ‫سناریوی‬ ‫یک‬ ،‫مثال‬ ‫برای‬ # [ ‫برای‬ # flavor ‫کنید‬ ‫مشخص‬ ‫را‬ ‫خود‬ ‫شده‬ ‫ثبت‬ ‫فلیور‬ ‫نام‬ ،] [ ‫برای‬ # image ‫کنید‬ ‫مشخص‬ ‫را‬ ‫خود‬ ‫شده‬ ‫ثبت‬ ‫تصویر‬ ‫نام‬ ،] vi boot-and-delete.json { "NovaServers.boot_and_delete_server": [ { "args": { "flavor": { "name": "m1.small" }, "image": { "name": "CentOS7" }, "force_delete": false }, "runner": { "type": "constant", "times": 10, "concurrency": 2 }, "context": {} } ] } rally task start boot-and-delete.json
  • 27.
    -------------------------------------------------------------------------------- Preparing input task -------------------------------------------------------------------------------- Taskis: { "NovaServers.boot_and_delete_server": [ { "args": { "flavor": { "name": "m1.small" }, "image": { "name": "CentOS7" }, "force_delete": false }, "runner": { "type": "constant", "times": 10, "concurrency": 2 }, "context": {} } ] } Task syntax is correct :) Running Rally version 2.0.0 -------------------------------------------------------------------------------- Task e5b40e84-c553-4351-b252-e95eac2f9ab4: started -------------------------------------------------------------------------------- Running Task... This can take a while... To track task status use: rally task status or rally task detailed ..... ..... -------------------------------------------------------------------------------- Task e5b40e84-c553-4351-b252-e95eac2f9ab4 has 0 error(s) -------------------------------------------------------------------------------- +-----------------------------------------------------------------------------------------------------------------------+ | Response Times (sec) | +--------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+ | Action | Min (sec) | Median (sec) | 90%ile (sec) | 95%ile (sec) | Max (sec) | Avg (sec) | Success | Count | +--------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+ | nova.boot_server | 4.226 | 5.179 | 6.134 | 6.717 | 7.3 | 5.206 | 100.0% | 10 | | nova.delete_server | 2.251 | 2.273 | 2.305 | 2.358 | 2.412 | 2.285 | 100.0% | 10 | | total | 6.519 | 7.446 | 8.405 | 8.985 | 9.565 | 7.49 | 100.0% | 10 | | -> duration | 5.519 | 6.446 | 7.405 | 7.985 | 8.565 | 6.49 | 100.0% | 10 | | -> idle_duration | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 100.0% | 10 |
  • 28.
    +--------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+ Load duration: 37.5457 Fullduration: 50.4424 HINTS: * To plot HTML graphics with this data, run: rally task report e5b40e84-c553-4351-b252-e95eac2f9ab4 --out output.html * To generate a JUnit report, run: rally task export e5b40e84-c553-4351-b252-e95eac2f9ab4 --type junit --to output.xml * To get raw JSON output of task results, run: rally task report e5b40e84-c553-4351-b252-e95eac2f9ab4 --json --out output.json
  • 33.
  • 34.
    ‫همچنین‬ : ‫نکته‬ rally ‫طریق‬‫از‬ ‫میتوانید‬ ‫‌را‬ git . ‫نمایید‬ ‫نصب‬ ‫‌نیز‬ git clone https://github.com/stackforge/rally.git cd rally && sudo ./install_rally.sh ‫نام‬ ‫ثبت‬ ‫برای‬ OpenStack Cloud ، Rally ‫به‬ registery ‫دارد‬ ‫نیاز‬ ‫شما‬ . ‫طریق‬ ‫از‬ ‫یا‬ ‫محیطی‬ ‫متغیرهای‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫را‬ ‫آنها‬ ‫توانید‬ ‫می‬ ‫کنید‬ ‫منتقل‬ ‫خاص‬ ‫فایل‬ ‫یک‬ . : ‫نمونه‬ ‫برای‬ ‫باشد‬ ‫داشته‬ ‫را‬ ‫شما‬ ‫استک‬ ‫اپن‬ ‫محیطی‬ ‫مشخصات‬ ‫که‬ ، ‫کرده‬ ‫ایجاد‬ ‫فایل‬ ‫یک‬ ‫مفهوم‬ ‫این‬ ‫برای‬ export OS_USERNAME=”admin” export OS_TENANT_NAME=”admin” export OS_PASSWORD=”admin” export OS_AUTH_URL=”http://your_cloud.url:5000/v2”
  • 35.
    ‫در‬ ، ‫بعد‬‫مرحله‬ ‫در‬ OpenStack ‫هست‬ ‫نیاز‬ registery :‫کنید‬ ‫اجرا‬ ‫را‬ ‫زیر‬ ‫دستور‬ ، ‫کار‬ ‫این‬ ‫انجام‬ ‫برای‬ . ‫دهید‬ ‫انجام‬ ‫را‬ rally deployment create --name test --fromenv ‫خوشه‬ ‫یک‬ ‫اساس‬ ‫بر‬ ‫استقرار‬ ‫یک‬ ‫خواهید‬ ‫می‬ ‫اگر‬ ،‫دیگر‬ ‫طرف‬ ‫از‬ OpenStack ‫مشخص‬ ‫شما‬ ‫فعلی‬ ‫محیط‬ ‫متغیرهای‬ ‫توسط‬ ‫که‬ ‫آنچه‬ ‫از‬ ‫غیر‬ ‫فایل‬ ‫یک‬ ‫از‬ ‫توانید‬ ‫می‬ ،‫کنید‬ ‫ایجاد‬ ‫است‬ ‫شده‬ json .‫کنید‬ ‫استفاده‬ ‫ورودی‬ ‫عنوان‬ ‫به‬ ‫ابر‬ ‫ریجستری‬ OpenStack ‫ورودی‬ ‫فایل‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫ابر‬ ‫یک‬ ‫ریجستری‬ ‫برای‬ OpenStack .‫کنید‬ ‫استفاده‬ ‫ورودی‬ ‫فایل‬ ‫یک‬ ‫از‬ ‫توانید‬ ‫می‬ -- ‫شما‬ ‫فعلی‬ ‫محیط‬ ‫متغیرهای‬ ‫از‬ ‫مستقل‬ -- ‫دلخواه‬ ‫فایل‬ ‫یک‬ ،‫کار‬ ‫این‬ ‫انجام‬ ‫برای‬ json :‫کند‬ ‫می‬ ‫فهرست‬ ‫قالب‬ ‫این‬ ‫در‬ ‫را‬ ‫متغیرها‬ ‫همه‬ ‫که‬ ‫کنید‬ ‫ایجاد‬ { "type": "ExistingCloud", "auth_url": "http://example.net:5000/v2.0/", "admin": { "username": "admin", "password": "admin", "tenant_name": "admin" } }
  • 36.
    ‫ایجاد‬ ‫دستور‬ ‫همان‬‫باید‬ ‫اکنون‬ Rally Deployment :‫کنید‬ ‫مشخص‬ ،‫محیط‬ ‫از‬ ‫اجرای‬ ‫جای‬ ‫به‬ ‫را‬ ‫فایل‬ ‫و‬ ‫کنید‬ ‫اجرا‬ ‫را‬ rally deployment create --name test --filename existing.json .‫است‬ ‫خود‬ ‫جای‬ ‫سر‬ ‫چیز‬ ‫همه‬ ‫که‬ ‫شوید‬ ‫مطمئن‬ ‫توانید‬ ‫می‬ ،‫است‬ ‫شده‬ ‫ایجاد‬ ‫شما‬ ‫استقرار‬ ‫که‬ ‫اکنون‬ ‫ابر‬ ‫بودن‬ ‫دسترس‬ ‫در‬ OpenStack ‫کنید‬ ‫بررسی‬ ‫را‬ ‫شده‬ ‫ثبت‬ ‫ابر‬ ‫نام‬ ‫ثبت‬ ‫از‬ ‫پس‬ OpenStack .‫کند‬ ‫می‬ ‫کار‬ ‫درستی‬ ‫به‬ ‫چیز‬ ‫همه‬ ‫شوید‬ ‫مطمئن‬ ‫که‬ ‫است‬ ‫این‬ ‫دهید‬ ‫انجام‬ ‫باید‬ ‫که‬ ‫کاری‬ ‫اولین‬ ، :‫کنید‬ ‫اجرا‬ ‫را‬ ‫دستور‬ ‫این‬ ،‫استقرار‬ ‫آخرین‬ ‫بررسی‬ ‫برای‬ . rally deployment check :‫دید‬ ‫خواهید‬ ‫را‬ ‫زیر‬ ‫مشابه‬ ‫خروجی‬ ،‫کند‬ ‫کار‬ ‫درستی‬ ‫به‬ ‫چیز‬ ‫همه‬ ‫اگر‬
  • 37.
    ‫داشته‬ ‫وجود‬ ‫مشکلی‬‫اگر‬ .‫شود‬ ‫می‬ ‫اندازی‬ ‫راه‬ ‫درستی‬ ‫به‬ ‫رالی‬ ‫حالت‬ ‫این‬ ‫در‬ .‫است‬ ‫آمده‬ ‫جدول‬ ‫در‬ ‫سرویس‬ ‫هر‬ ‫وضعیت‬ ،‫بینید‬ ‫می‬ ‫که‬ ‫همانطور‬ : ‫باشد‬ ‫زیر‬ ‫مانند‬ ‫پیامی‬ ‫است‬ ‫ممکن‬ ،‫مثال‬ ‫برای‬ .‫چیست‬ ‫که‬ ‫گوید‬ ‫می‬ ‫شما‬ ‫به‬ ‫استقرار‬ ‫بررسی‬ ،‫باشد‬ ،‫تاریخی‬ ‫دالیل‬ ‫به‬ .‫است‬ ‫نادرست‬ ‫شده‬ ‫ثبت‬ ‫ابر‬ ‫اعتبار‬ ،‫حالت‬ ‫این‬ ‫در‬ Rally ،‫دهید‬ ‫تغییر‬ ‫را‬ ‫شده‬ ‫ثبت‬ ‫ابر‬ ‫یک‬ ‫اعتبار‬ ‫دهد‬ ‫نمی‬ ‫اجازه‬ ‫شما‬ ‫به‬ .‫مناسب‬ ‫اعتبارنامه‬ ‫با‬ ‫بار‬ ‫این‬ ‫اما‬ ،‫کنید‬ ‫ثبت‬ ‫را‬ ‫ابر‬ ‫همان‬ ‫دوباره‬ ‫باید‬ ‫بنابراین‬ ‫کار‬ ‫یک‬ ‫بیایید‬ ،‫خود‬ ‫ابر‬ ‫بررسی‬ ‫برای‬ .‫بزنید‬ ‫محک‬ ‫را‬ ‫خود‬ ‫ابر‬ ‫که‬ ‫هستید‬ ‫آماده‬ ،‫هستید‬ ‫راضی‬ ‫کند‬ ‫می‬ ‫کار‬ ‫چیز‬ ‫همه‬ ‫اینکه‬ ‫از‬ ‫که‬ ‫هنگامی‬ Rally .‫کنیم‬ ‫اجرا‬ ‫را‬ A Rally Task ‫دهید‬ ‫اجازه‬ ،‫کار‬ ‫شروع‬ ‫از‬ ‫قبل‬ .‫شود‬ ‫می‬ ‫اجرا‬ ‫ابر‬ ‫یک‬ ‫برابر‬ ‫در‬ ‫که‬ ‫است‬ ‫معیارهایی‬ ‫از‬ ‫ای‬ ‫مجموعه‬ .‫بیندازیم‬ ‫وظیفه‬ ‫ورودی‬ ‫فایل‬ ‫فرمت‬ ‫به‬ ‫نگاهی‬ Rally ‫یک‬ ‫اجرای‬ ‫برای‬ ‫راه‬ ‫ترین‬ ‫ساده‬ ‫اوقات‬ ‫گاهی‬ ‫بنابراین‬ ،‫کند‬ ‫آزمایش‬ ‫را‬ ‫زیادی‬ ‫مختلف‬ ‫سناریوهای‬ ‫تواند‬ ‫می‬ ‫و‬ ‫است‬ ‫پذیر‬ ‫انعطاف‬ ‫بسیار‬ ‫در‬ ‫نمونه‬ ‫مخزن‬ ‫از‬ ‫را‬ ‫آن‬ ‫وظیفه‬ ‫که‬ ‫است‬ ‫این‬ ‫معیار‬ stackforge :‫کنید‬ ‫کپی‬ https://github.com/stackforge/rally/tree/master / doc/samples/tasks ‫سناریوها‬/ :‫دارند‬ ‫مشابه‬ ‫ساختاری‬ ‫وظیفه‬ ‫ورودی‬ ‫های‬ ‫فایل‬ ‫تمام‬
  • 38.
    --- ScenarioClass.scenario_method: - args: ... runner: ... context ... sla: … ScenarioClass.scenario_method .‫است‬ ‫ماست‬ ‫سناریوی‬‫کامل‬ ‫نام‬ " ‫بخش‬ args .‫شود‬ ‫می‬ ‫استفاده‬ ‫معیار‬ ‫سناریوی‬ ‫روش‬ ‫به‬ ‫پارامترها‬ ‫انتقال‬ ‫برای‬ " ).‫کنید‬ ‫استفاده‬ ‫مجازی‬ ‫های‬ ‫ماشین‬ ‫کردن‬ ‫بوت‬ ‫برای‬ ‫تصویری‬ ‫چه‬ ‫از‬ ،‫مثال‬ ‫عنوان‬ ‫(به‬ " ‫بخش‬ runners .‫کند‬ ‫می‬ ‫مشخص‬ ‫شود‬ ‫تولید‬ ‫باید‬ ‫که‬ ‫را‬ ‫باری‬ ‫نوع‬ " ‫هر‬ ‫را‬ ‫سناریو‬ ‫"این‬ ،‫مثال‬ ‫عنوان‬ ‫(به‬ 1 )."‫کنید‬ ‫اجرا‬ ‫ثانیه‬ ‫باید‬ ‫که‬ ‫را‬ ‫معیاری‬ ‫محیط‬ "‫"زمینه‬ ‫بخش‬ Rally .‫کند‬ ‫می‬ ‫تعریف‬ ،‫کند‬ ‫ایجاد‬ " ،‫مثال‬ ‫عنوان‬ ‫(به‬ 10 ‫در‬ ‫کاربر‬ 5 )."‫کنید‬ ‫تنظیم‬ ‫را‬ ‫آنها‬ ‫سهمیه‬ ‫و‬ ‫کنید‬ ‫ایجاد‬ ‫مستاجر‬ " ‫بخش‬ sla .‫کند‬ ‫می‬ ‫تعیین‬ ‫معیار‬ ‫برای‬ ‫را‬ ‫موفقیت‬ ‫معیارهای‬ " ).‫شکست‬ ‫درصد‬ ‫حداکثر‬ ،‫مثال‬ ‫عنوان‬ ‫(به‬ ‫معیار‬ ‫بیایید‬ HeatStack.create_and_delete_stack ‫دایرکتوری‬ ‫در‬ ‫را‬ ‫آن‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫که‬ ‫کنیم‬ ‫تست‬ ‫را‬ heat ‫شامل‬ ‫این‬ .‫کنید‬ ‫پیدا‬ : ‫است‬ ‫زیر‬ ‫ساختار‬ :‫است‬ ‫اساسی‬ ‫اقدامات‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ‫شامل‬ ‫معیار‬ ‫سناریوی‬ ‫این‬ .‫شود‬ ‫انجام‬ ‫عملیات‬ ‫این‬ ‫تا‬ ‫ماند‬ ‫می‬ ‫منتظر‬ ‫و‬ ‫کند‬ ‫می‬ ‫ارسال‬ ‫پشته‬ ‫ایجاد‬ ‫برای‬ ‫درخواستی‬ ‫عمل‬ - ‫پشته‬ ‫ایجاد‬ .‫شود‬ ‫می‬ ‫انجام‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫عملیات‬ ‫این‬ ‫انتظار‬ ‫واحد‬ ‫و‬ ‫کند‬ ‫می‬ ‫ارسال‬ ‫پشته‬ ‫یک‬ ‫حذف‬ ‫برای‬ ‫درخواستی‬ ‫عمل‬ - ‫پشته‬ ‫حذف‬ ‫توسط‬ ‫معیار‬ ‫سناریوی‬ ‫این‬ 6 ‫از‬ ‫موقت‬ ‫شده‬ ‫ایجاد‬ ‫کاربر‬ 2 ( ‫مستاجر‬ 2 ‫در‬ ‫مستأجر‬ 3 ‫مجموع‬ ‫در‬ )‫مستاجر‬ ‫هر‬ ‫کاربر_در‬ 10 .‫شود‬ ‫می‬ ‫اجرا‬ ‫بار‬ ‫تنها‬ ،‫لحظه‬ ‫هر‬ ‫در‬ 2 .‫کنند‬ ‫می‬ ‫اجرا‬ ‫را‬ ‫سناریو‬ ‫این‬ ‫همزمان‬ ‫طور‬ ‫به‬ ‫کاربر‬
  • 39.
    : ‫کنید‬ ‫استفاده‬‫ساختار‬ ‫این‬ ‫از‬ ‫توانید‬ ‫می‬ ‫سادگی‬ ‫به‬ ،‫معیار‬ ‫این‬ ‫اجرای‬ ‫برای‬ rally task start create-and-delete-stack.yaml ‫نتایج‬ ،‫بینید‬ ‫می‬ ‫که‬ ‫همانطور‬ Rally ‫عملکرد‬ ‫مورد‬ ‫در‬ ‫زیادی‬ ‫اطالعات‬ ‫حاوی‬ Heat ‫بلکه‬ ،‫کاربر‬ ‫یک‬ ‫سناریوی‬ "‫"مدت‬ ‫تنها‬ ‫نه‬ - ‫است‬ ‫(مانند‬ ‫اتمی‬ ‫اقدام‬ ‫هر‬ ‫مورد‬ ‫در‬ ‫دقیق‬ ‫اطالعات‬ ‫همچنین‬ create_stack ‫و‬ delete_stack ‫را‬ "‫"موفقیت‬ ‫ستون‬ ‫ما‬ ‫جدول‬ ‫در‬ ‫همچنین‬ .) ‫استقرار‬ ‫این‬ ‫آیا‬ ‫که‬ ‫کنید‬ ‫تعیین‬ ‫دهد‬ ‫می‬ ‫امکان‬ ‫شما‬ ‫به‬ ‫که‬ ‫داریم‬ OpenStack ‫کند‬ ‫کنترل‬ ‫را‬ ‫کار‬ ‫در‬ ‫شده‬ ‫مشخص‬ ‫بار‬ ‫نوع‬ ‫تواند‬ ‫می‬ ‫خاص‬ .‫خیر‬ ‫یا‬ .‫هستند‬ ‫ساده‬ ‫نمایش‬ ‫یک‬ ‫فقط‬ ‫نتایج‬ ‫این‬ ‫اما‬
  • 40.
    .‫کنیم‬ ‫ارائه‬ ‫نمودار‬‫و‬ ‫گرافیک‬ ‫مانند‬ ،‫درک‬ ‫قابل‬ ‫و‬ ‫آسان‬ ‫شکلی‬ ‫به‬ ‫را‬ ‫نتایج‬ ‫باید‬ ،‫باشد‬ ‫مفید‬ ‫واقعا‬ ‫اینکه‬ ‫برای‬ ‫اما‬ ،‫است‬ ‫عالی‬ ‫کردن‬ ‫بنچمارک‬ ‫با‬ ،‫خوشبختانه‬ Rally :‫کنید‬ ‫ایجاد‬ ‫قدرتمند‬ ‫بسیار‬ ‫اما‬ ،‫تک‬ ‫و‬ ‫ساده‬ ‫دستور‬ ‫یک‬ ‫با‬ ‫را‬ ‫زیبایی‬ ‫های‬ ‫گزارش‬ ‫توانید‬ ‫می‬ rally task report <task_id> --out report.html