اتوماتیک کردن مدیریت زیرساخت های IT با Puppet

امروزه با گسترش زیرساخت های فناوری اطلات بر روی پلتفروم های مختلف مثل Linux و Microsoft و همچنین وجود کلی نرم افزار و تنظیمات مرتبط با آنها،فرآیند نگهداری و پشتیبانی این زیرساخت ها توسط مدیران سیستم ها (System Administrators)بسیار وقتگیر و هزینه بر هست. نرم افزاری به نام Puppet مدتی هست که با هدف اتوماتیک کردن فرآیندهای نگهداری زیرساخت های IT  تولید شده است.

Puppet

Puppet در چه مواردی کاربرد دارد:

  • اگر تعداد زیادی سرور دارید که میخواهید همه آنها را  Config کنید و یا مثلا یک Application روی همه  آنها نصب کنید.
  • وقتی نیاز دارید تا زیر ساخت شما به صورت Dynamic تنظیم بشود.
  • قبل از اینکه تنظیمات به صورت دائمی در سرورهای شما اعمال شود، ابتدا آنها را شبیه سازی و تست کنید تا بتوانید تغییرات را در زیر ساخت خود مدیریت کنید(Change Management).
  • وقتی که نیاز دارید تا کلیه تنظیمات مربوط به زیرساخت شما در یک مکان مرکزی (Centralized) وجود داشته باشد.
  • و …

نکات جالب در مورد Puppet

  • Puppet به صورت دو نسخه OpenSource و Enterprise وجود دارد که نسخه Enterprise آن توسط PuppetLabs فروخته می شود که  البته تا ۱۰ عدد Node را میتوانید به صورت رایگان مدیریت کنید و در واقع شامل ۴۰ محصول OpenSource دیگر میشود که شامل پیشتیبانی شرکت PuppetLabs هم می باشد. در اینجا میتوانید مقایسه ای بین امکانات نسخه OpenSource و Enterprise این محصول داشته باشید.
  • Puppet همه چیز را به صورت Object میبیند، مثلا سرور شما یک Object هست که Value و Property دارد.
  • اسکریپت های Puppet به صورت Declarative هستند  و شبیه کدهایی هستند که با Ruby نوشته میشود.تنظیمات Puppet را Manifest می گویند.
  • شما میتوانید این کد ها را با مدیران سیستم دیگر هم به اشتراک بگذارید و یا از کدهای آماده دیگران استفاده کنید. در حال حاضر حدود ۲۰۰۰ تنظیم قابل دانلود از مسیر Puppet Forge قابل دریافت است.
  • مدل کارکرد Puppet معمولا به صورت Client/Server است. Client به صورت دوره ای با استفاده از Puppet Agent که بر روی Client نصب شده است به Server که  Pupper Master Server نامیده میشود درخواست یا Fact میفرستد که در واقع آخرین وضعیت خودش است، سپس Pupper Master Server یک Catalog را تولید میکند و آن را به Puppet Agent میفرستد که به Client میگوید به چه صورتی باید تنظیم شود. در نهایت Client یک Report تولید میکند که مشخص میکند که تنظیمات با موفقیت اعمال شده است.  عکس زیر مراحل کاری Puppet را نشان می دهد.
  • puppet-dataflow

چند وقت پیش خبری منتشر شد مبنی بر اینکه Puppet و Microsoft با هم همکاری بیشتری دارند و محصولات این دو شرکت یکپارچه تر شدند. در حال حاضر بیشتر تمرکز بر روی Windows Azure هست و همینطور Plugin برای Visualstudio نوشته شده که امکان ایجاد ماژول های Puppet رو با استفاده از این IDE قدرتمند برای شما فراهم میکند.

پاسخ دهید