جوجو؛ آسان‌كردن توسعه نرم‌افزار

 

كانونيكال، ‌شركت پشتيبان توزيع اوبونتو در تلاش است توسعه كد و اجراي عمليات نرم‌افزاري در محيط Cloud را به‌كمك فريم‌ورك juju آسان‌تر كند. مدتي است كه از راه‌اندازي طرح جوجو مي‌گذرد اما تاكنون تاثير مثبتي بر جامعه نرم‌افزاري نگذاشته است. ژرژ كاسترو، توسعه‌دهنده كانونيكال و مارك ميمز، مهندس نرم‌افزار در دمويي كه در كنفرانس اوپن‌سورس OSCON برگزار كردند، نشان دادند كه اين فريم‌ورك براي استفاده بهينه كاملا مناسب است.آن طور كه كاسترو توضيح داد، ايده‌اصلي جوجو، رها شدن از مساله‌اي به‌نام metawork است. متاورك در حقيقت كارهايي است كه قبل از اجراي برنامه بايد انجام داد. يكي از مثال‌هايي كه وي مطرح كرد، كلاينت آي‌آر‌سي Subway بود كه بسرعت در حال محبوب شدن است. وقتي ساب‌وي موج اول محبوبيت را كسب كرد، توسعه‌دهندگان آن با درخواست‌هاي فراواني در خصوص چگونگي نصب موتور DBMS مواجه شدند.كار جوجو، دادن ابزارهاي لازم به توسعه‌دهندگان و مديران سيستم در سطح سرويس و نه در سطح ماشين است. در حقيقت، جوجو يك جورهايي App-getاي براي Cloud‌ است.جوجو البته جايگزين برنامه‌هايي چون Puppet و Chef نيست كه كارشان پيكربندي خودكار ماشين است. هر سروري تنظيمات نرم‌افزاري خودش را دارد. جوجو سرويس‌ها را مديريت مي‌كند، نه ماشين‌ها را.به‌طور خاص، جوجو را مي‌توان به‌عنوان يكي از سرويس‌هاي اوبونتو در كلاوهاي اوپن‌استك يا آمازون به‌كار گرفت. اين فريم‌ورك به‌صورت آزمايشي در مايكروسافت آژور نيز قرار گرفته است.جوجو در حقيقت كارهاي انجام شده DevOps را قابل اشتراك، استفاده مجدد و تكرار مي‌كند. مي‌توان از نتيجه تلاش ديگران استفاده كرد و اصلاح نشده يا با دستكاري‌هاي زياد (مطابق نياز) از آنها استفاده كرد.در دموي نشان داده شده، ميمز نشان داد چطور مي‌توان با كمك اين منابع در دسترس، هادوپ را نصب كرد (هادوپ برنامه تحت سرور كلاستري است كه براي مديريت داده‌هاي حجيم استفاده مي‌شود). همچنين او سيستم‌هاي عامل و ديگر وابستگي‌هاي اين سيستم را در سرورهاي آمازون نصب كرد. او نگران محل سرورها يا شيوه نصب آنها نبود، زيرا جوجو تمام اين كارها را انجام مي‌داد.طبق گفته كاسترو،‌اين فقط يك دمو نيست و اوبونتو از جوجو براي انجام كارهاي خود استفاده مي‌كند.هر منبع يا به‌اصطلاح دقيق‌تر Charm (سحر، افسون!) شامل تنظيماتي براي هر سرويس و شيوه پيكربندي آنهاست. جوجو به‌زبان پايتون نوشته شده، اما چارم‌هاي آن مي‌تواند به‌هر زباني نوشته شود. بعد از اتمام كار، مي‌توان با استفاده از اين چارم‌ها سرويس‌هايي را اجرا و آنها را بدون نگراني از جزئيات پيچيده به‌يكديگر متصل كرد.هم‌اكنون كانونيكال حدود 90 چارم در مخزن عمومي خود در اختيار دارد. استفاده از مخازن يكي ديگر از نقاط مثبت اين فريم‌ورك خواهد بود؛ زيرا مشابه Apt-get محبوب، جوجو نيز قابليت اتصال به مخازن داده را خواهد داشت.در حال حاضر براي نصب سرورها و كلاوهاي محبوبي چون كلاودفاندري، دروپال، ماي‌سه‌كوئل، تام‌كت و وردپرس چارم‌هايي نوشته شده است. اين ابزارها همه روي اوبونتوي 04/12 اجرا خواهد شد و با توجه به نياز كاربر به سرورهاي كلاود مختلف متصل خواهد شد. هرچند جوجو مي‌تواند فراتر از تنظيم سرويس‌هاي كلاود عمل كند، مي‌توان از اين فريم‌ورك براي اتصال ميان اپليكيشن‌ها نيز استفاده كرد.براي مثال مي‌توان هادوپ را به يك DBMS خاص وصل كرد يا LAMP را با نسخه‌هاي خاص برنامه‌هاي مختلف نصب كرد. همچنين مي‌توان از آن براي راه‌اندازي چند نمونه از يك دستور مي‌توان استفاده كرد، مثلا:‌

juju add-unit –n20 hadoop-slavecluster

اين دستور براي راه‌اندازي 200 نمونه از هادوپ كافي است. در آزمايش‌هاي كانونيكال، مي‌توان تا 2000 نمونه از هادوپ را با جوجو فراخواند و اجرا كرد. البته مي‌توان با كمك جوجو چارمي نوشت كه اجازه اجراي 2000 نمونه را ندهد!علاوه بر نصب و حذف نمونه سرويس‌ها، از چارم‌ها مي‌توان استفاده ديگري كرد. براي مثال يك چارم در mySQL مي‌تواند سه تنظيم داشته باشد: running-level=fast ،safe و unsafe. حالت سريع براي سرعت بالاي اين سرويس تنظيم شده است. حالت safe سريع‌تر از نصب vanilla است و حالت unsafe باعث مي‌شود اين سرويس در سريع‌ترين حالت ممكن (و البته بدون ترمز) فعاليت كند. البته مي‌توان اين چارم‌ها را ويرايش كرد تا نيازهاي ديتابيس را بهتر فراهم كند.فرض كنيم سرويسي براي برنامه‌نويسان Ruby on Rails تهيه مي‌كنيد؛ گروهي از برنامه‌نويسان كه هميشه مي‌خواهند آخرين نسخه از برنامه‌هايشان نصب شده باشد. مي‌توان چارمي تهيه كرد كه هر موقع نمونه‌اي از يك برنامه را اجرا مي‌كند، به‌طور خودكار آن را به آخرين نسخه ممكن ارتقا دهد. البته مي‌توان چارمي هم تهيه كرد كه همواره يك نسخه را اجرا كند و امكان آپديت وجود نداشته باشد.امتياز چارم‌ها در اين است كه منبع‌بازند. اگر تغييراتي در چارم ايجاد كرديد، مي‌توانيد آن را به كانونيكال بفرستيد تا در مخازن عمومي قرار بگيرد يا در مخازن خودتان قرار دهيد. جوجو به نسبت امن هم هست. وقتي چارمي را از مخازن جوجو فرامي‌خوانيد، ارتباط برقرار شده ميان دو نقطه SSL است.زندگي ادمين‌هاي اينترنتي با كمك جوجو بسيار شيرين‌تر خواهد شد؛ زيرا تمركز را از مولفه‌هاي سطح پايين به سرويس‌هاي سطح بالا انتقال مي‌دهد و نصب سرويس‌هاي پيچيده را كه نياز به ماشين‌ها يا ايميج‌هاي متفاوتي دارد، بسيار ساده مي‌كند.تيم كانونيكال معتقد است براي ايده‌آل شدن جوجو كار زيادي در پيش است. كارهايي از جمله فعاليت در زمينه ذخيره‌سازي ـ كه جوجو خيلي در آن ماهر نيست‌ ـ تا سرويس‌هايي همچون PostgreSQL كه كار بيشتري نياز دارد.با وجود اين، جوجو بسيار مفيد است و مي‌تواند نقش بسزايي در كاهش متاورك داشته باشد.

 

منبع:linuxtoday

 

 





تاريخ : دو شنبه 16 مرداد 1391برچسب:, | | نویسنده : مقدم |