اتوماتیک کردن مدیریت زیرساخت های 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 قدرتمند برای شما فراهم میکند.

یک کارشناس فنی S.M.A.R.T باشیم!

کارشناس فنی

در سازمان هایی که یا به صورت تخصصی در حوزه IT کار میکنند و یا واحد IT به عنوان یکی از واحدهای سازمانی است کارشناسان فنی در زمینه IT مشغول به فعالیت هستند. این افراد معمولا تخصص هایی در حوزه مدیریت شبکه های کامپیوتری، توسعه نرم افزار، تجزیه و تحلیل سیستم ها و … دارند. اکثر آنها (از جمله خودم) به دنبال یافتن راه حل و استفاده از آخرین تکنولوژی ها هستند و دوست دارند در محیط کسب و کار هرچیزی که به تازگی یاد گرفته اند پیاده سازی کنند (Geek ها) و یا طرح ها و ایده هایی در ذهن دارند که بسیار هم از نظر فنی قوی و ارزشمند است.

البته که تمام این موارد بسیار ارزشمند است اما ارزش آن را باید بررسی کنیم و کارشناس فنی قبل از اینکه انتظارات خود را از مدیر ارشد خود و یا سازمانی که در آن مشغول به فعالیت است زیاد کند و ایده خود را برای آنها مطرح کند باید به سئوالات زیر پاسخ دهد: ادامه مطلب را بخوانید

آیا یک برنامه نویس خوب، مدیر پروژه خوبی خواهد بود؟

در بحث مدیریت پروژه های آی تی یکی از مباحثی که همیشه بحث زیادی در موردش می شود این است که آیا فردی که از نظر فنی شایستگی های کافی دارد باید به عنوان مدیر پروژه و یا یک تیم انتخاب بشود و یا خیر؟

خوب اجازه بدهید قبل از اینکه باهم این بحث را ادامه بدهیم با مفهومی به اسم خطای هاله ای (Halo Effect) در مباحث مدیریتی آشنا بشویم.

خطای هاله ای چیست؟

خطای هاله ای را با مثالی شرح میدهم. فرض کنید که شرکت X یک محصول به نام محصول A تولید کرده که بسیار با کیفیت است و اتفاقا خیلی هم سر و صدا میکند و کلی طرفدار دارد. حالا همین شرکت محصول B را تولید میکند که به محصول A شباهتی ندارد و شاید اصلا با کیفیت هم نباشد! اما مسئله ای که اینجا ایجاد میشود، این است که محصول B به واسطه اینکه مردم نگرش خوبی به محصول A داشتند هم طرفدار پیدا میکند و فکر میکنند که محصول دوم هم باید محصول خوبی باشد.

به خطای هاله ای، قضاوت ناخودآگاه هم میگویند.

اثر هاله نور در مدیریت پروژه

ارتباط خطای هاله ای با پروژه های آی تی

خوب حالا اجازه بدهید خطای هاله ای را در زمینه مورد بحث خودمون یعنی پروژه های آی تی ادامه بدهیم. مثال قبلی ما در مورد یک برند اتفاق افتاد، اما این اتفاق دقیقا برای انسان ها و شخصیت ها هم صدق میکند.

شرکتی را فرض کنید که یک برنامه نویس خیلی خوبی دارد و اتفاقا نگرش مدیر عامل به این فرد هم به واسطه توانایی هایی فنی قوی برنامه نویس به او مثبت است. خوب اینجاست که خطای هاله ای اثر خودش را روی مدیر عامل میگذارد و شخص مدیر عامل با تصور اینکه برنامه نویس شرکتش از نظر فنی انسان قوی است توانایی مدیریت پروژه را هم دارد و اینجاست که ممکن است سرآغاز یک پایان تلخ برای پروژه ما باشد.

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

استانداردهایی مثل PMBOK عنوان می کنند که شخصی که صرفا دانش مدیریت پروژه داشته باشه می تواند هر نوع پروژه ای را مدیریت کند و مثلا حتی فرد نیازی به دانش برنامه نویسی  و به طور کل دانش تخصصی در حوزه تحت مدیریتش نخواهد داشت.

البته نظر شخصی من این است که در این حالت هم مدیر پروژه نمیتواند ارتباط صحیحی با اعضای پروژه برقرار کند و این مورد هم معضلی برای مدیریت پروژه خواهد بود و مدیری که توانمندی های مدیریتی پروژه خوب و آشنایی کلی با حوزه تخصصی تحت مدیریتش داشته باشد قطعا ارتباط بهتری با اعضای پروژه خواهد داشت. بحث هایی در این مورد در + و + شده که به نظرم برای مطالعه مفید هستند.