دواپس یک پروسه است..

افراد درگیر در حوزه ی IT حتما با واژه ای تحت عنوان دواپس(DevOps) که این چند ساله مطرح شده آشنا هستند یا به گوششون خورده. نکته ای که خیلی ها برداشت می کنند اینه که حتما این هم یه عنوانه و فردی که مسلط بهش هست ممکنه یه سری ابزار بلد باشه و یه کاری انجام بده مابین برنامه نویس ها و یه کمی هم شبیه تیم های نگهداری و مدیرسیستم ها و... شاید این یه بخش کوچیکی از مفهوم دواپس باشه، در حقیقت همه ی این ابزار ها و این حرفه ها برای یک امر واحد به میدون میان و قراره خروجی همشون بشه یه چیز! "رضایت مندی مشتری"دقیقا ما برای رضایت مندی مشتری هست که میخوایم سرویس پایدار و همیشه در دسترس و با اطمینان بدیم. دواپس هم اومده تا به ما کمک کنه از این زاویه به جریان نگاه کنیم، و توی همین راستا ابزار های لازم و تخصص های لازم رو به ما نشون میده.بنابراین باید یادمون باشه که دواپس یه فرآینده ، یه مفهمومه، یه سمت خاص نیست، میشه ازش به عنوان یه تیم یاد کرد چون قطعا دواپس یه کار فردی صرف نیست. پیاده سازی فرآیند های دواپس و ابزار های اون ریشه در قسمت های مختلفی از سازمان داره که قطعا نمیشه یه تنه اون رو پیاده سازی کرد.اما چطوری رویکردی برای رسیدن به دواپس در سازمانمون داشته باشیم.اینجا میخوام اشاره ای به یکسری اصول کنم که به ما در پیاده سازی دواپس داخل سازمانمون کمک میکنه.این اصل رو C.A.L.M.S هم میگن که مخفف موارد زیر هست:Culture: به عنوان یک اصل، اشاره به فرهنگ دواپس میکنه و حدفش اینه که دیواره بین برنامه نویس ها و تیم های عملیاتی تون رو بشکنید. به همکاری و هماهنگی هرچه بیشتر بین این دو دسته تیم، کمک کنید. برای این کار ها هم قطعا راه کار ها و ابزار هایی هم ارائه داده، برای مثال میگه شما در مرحله تست با کمک یه ابزاری مثل داکر، میتونین نزدیک ترین شرایط محیط عملیاتی رو در اختیار توسعه دهنده هاتون بذارید و بعد از اون با یه سری ابزار های دیگه شبیه Jenkins تست هاتون رو در سطوح مختلف اعم از بیزنسی، لود و ... انجام بدید. خب قطعا انجام این موارد در محیط کاملا نزدیک به محیط عملیاتی باعث میشه یه ابزار به نتیجه ی تست واقعی برسه و این مشکل پیش نیاد که برنامه به خطایی فضایی توی محیط عملیاتی بخوره و بعد توسعه دهنده بگه مشکل از تیم عملیاته و تیم عملیات بگه از توسعه دهنده! بنا براین میشه با رعایت همچین اصولی هماهنگی بیشتری بین این تو تیم ایجاد کرد.Automation: به عنوان یک اصل به بحث خودکار سازی فرآیند ها اشاره میکنه، به مباحثی مثل CI/CD که باعث میشه شما بتونین یه سری کار ها رو خودکار سازی کنین و در نتیجه به Business continue و بالابردن ضمانت ارائه سرویس برسین. برای این موارد هم به ابزار های Configuration management و مجازی سازی و کانتاینر ها و ... اشاره میکنه.Lean: به عنوان یک اصل به شما یادآوری میکنه باید تلاش کنید موارد اضافی و کارهایی تکراری هستند و گلوگاه های موجود رو حذف کنید . تمرکزتون رو به روی پروسه هایی بذارین که برای مشتری نهایی تون ارزش خلق میکنن. برای درک بهتر این موارد میتونین از ابزارهایی مثل اسکرام، کانبان و XP و... کمک بگیرین.Measurement: بیابیم کجا هستیم تا بدانیم به کجا برویم! شاید این مختصر ترین جمله ای باشه که در مورد این اصل بشه گفت.این اصل به سنجش وضعیت ما اشاره میکنه و میگه باید همه ی موارد درگیر در سرویس رو باید بسنجیم تا بتونیم نقاط ضعف و قوت و دوره ی پیک و ... رو توی سیستممون شناسایی کنیم، به این منظور هم ابزار های مانیتورینگ و مدیریت لاگ رو به ما پیشنهاد میکنه. فقط نکته ای که داره باید در انتخاب این ابزار ها دقت داشت که ابزاری مناسبه که بتونه مانیتورینگ رو برای شما در همه ی سطوح انجام بده و بشه همه ی آیتم هاتون رو باهاش مانیتور کرد. برای مثال زبیکس و نگیوس رو میشه اشاره کرد که این مابین زبیکس به خاطر فول اپن سورس بودنش بیشتر مورد استقبال هست.Sharing: اشتراک گذاری! اشتراک گذاری اطلاعات و نتایج بدست اومده با تیم ها به عنوان یک اصل برای پیشرفت گروهی و تداوم پروسه ی پیاده سازی دواپس، در نظر گرفته شده.با آرزوی موفقیت برای همه شما عزیزان