مهندسان قابلیت اطمینان سایت (SREs) چه وظایفی در مراکز ابری دارند؟
رویکرد فوق کمک میکند اطلاعات دقیقی در ارتباط با تاریخچه نحوه استفاده از منابع به دست آورید و تصمیمات آگاهانهای در ارتباط با نحوه استفاده از منابع متناسب با ظرفیت آینده اتخاذ کنید. ازنقطهنظر ارائهدهنده خدمات نیز کمک میکند تغییراتی در معماری به وجود آورید و بینش دقیقی در ارتباط با عملکرد سیستم به دست آورید. شناسایی رفتارهای غیرعادی قبل از تبدیلشدن به یک چالش جدی اهمیت زیادی دارد و کمک میکند ضمن حفظ اصل دسترسپذیری، کیفیت خدمات را نیز حفظ کنید.
البته برای این منظور سیستمها باید دادهها را در یک بازه زمانی منظم به طور خودکار یا هنگامی که رویدادی به وجود میآید تولید و در قالب گزارشی آماده استفاده در اختیار مدیران شبکه قرار دهند. این دادهها در حالتهای زیر راهگشا هستند:
- به طور فعال از مشکلات احتمالی در سیستم آگاه شویم.
- بهسرعت مشکلی که قبلاً اتفاق داده است را تجزیهوتحلیل و اصلاح کنید.
- عملکرد کلی سیستم را ارزیابی کرده و از صحت سلامت محیط و شبکه اطمینان حاصل کنید.
بنابراین، دریافت این دادهها برای حصول اطمینان از کارکرد درست سیستمها و برنامههای کاربردی مهم است. کاربرد اصلی نظارت، شناسایی بهموقع منبع بروز یک مشکل است. در طول یک قطعی، زمان بسیار مهم است، زیرا باید همه چیز بهسرعت به حالت اولیه باز گردد و زمان زیادی برای تجزیهوتحلیل دقیق وجود ندارد. برای حل این مشکل، سیستمهای مانیتورینگ باید مجموعهدادههای عظیمی از اطلاعات پیچیده را پردازش کرده و بتوانند اطلاعات را از نقاط دادهای حساس جمعآوری کنند. بر اساس این تجزیهوتحلیل، اپراتورها میتوانند به تکتک مشکلات بپردازند و بهسرعت آنها را اصلاح کنند.
تکنیکهای مورداستفاده در نظارت متنوع هستند و در زمینههای پردازش دادههای بلادرنگ و تجزیهوتحلیل دادههای آماری بهراحتی قابلاستفاده هستند. مصورسازی دادهها نیز نقش مهمی در این زمینه دارند، زیرا دادههای پردازش شده باید معنادار و قابل خواندن باشند. راههای زیادی برای تفسیر دادهها وجود دارد و دادههای نظارتی دیدگاههای مختلفی در مورد مسائل اساسی از یک مجموعهداده به شما ارائه میدهند.
دوا پس نقشها و پرسونای کاربری
قبل از پیدایش دوآپس، توسعهدهندگان معمولاً دغدغه خاصی در ارتباط با عملکرد کدهای خود نداشتند و در زمان کوتاهی کدها را در اختیار تیم عملیات قرار میداند. تیم عملیات که مسئول پیادهسازی و راهاندازی برنامه بود، تنها زمانی به سراغ توسعهدهندگان میرفت که کدها با مشکل روبرو میشدند. اصلیترین مشکلی که در این زمینه وجود داشت، عملکرد ضعیف برنامهها و اجرای نهچندان جالب برنامههای کاربردی و بهویژه ابر محور بود. دوآپس بهعنوان پاسخی برای حل این تضادهای اولویتهای نادرست بین دو گروه پدید آمد و مجموعهای از شیوههای جدید را برای پر کردن شکاف بین تیمهای توسعه نرمافزار و عملیات نرمافزار پیشنهاد کرد. تکامل دوآپس را در تصویر زیر مشاهده میکنید
برای همسویی با اصول دوآپس و متدولوژی چابک (Agile)، شرکتها نقشهای خاصی در سازمان خود ایجاد کردند. یکی از این نقشها که در گوگل تکاملیافته است، مهندسان قابلیت اطمینان سایت (SREs) سرنام Site reliability engineering است که مسئول حفظ و راهاندازی سیستمها هستند. SREها سیستمهای تحت نظارت خود را برای دستیابی به اهداف از پیش تعریف شده در قرارداد کیفیت سطح خدمات (SLO) بررسی میکنند. بهطورکلی این مهندسان که نقش مهمی در مشاغل ابر محور دارند باید اطلاعاتی در مورد رفتار سیستم، شناسایی روند استفاده و عملکرد سیستم و اطلاعرسانی و هشدار در مورد موارد پرت و ناهنجاری ارائه کنند.
تشخیص مشکل
SREها مسئولیت حصول اطمینان سیستم را بر عهده دارند و بنابراین باید درک کاملی از خدمات در حال اجرا و نحوه نظارت بر آنها داشته باشند. اگر SREها ابزارها و اطلاعات مناسبی نداشته باشند، حتی پس از شناسایی رفتار غیرعادی، نمیتوانند بهسرعت اطلاعات مهم را پیدا کنند. شکل زیر اصول دوآپس و وظایف مهندسان SRE را نشان میدهد.
مانیتورینگ دامنهها
محیطهای ابری از نظر وسعت و مکانیسمهایی که با آن میتوان آنها را پایش کرد متفاوت هستند. نقشهای مختلف در یک سازمان مسئول نظارت بر حوزههای مختلف مرتبط با یک برنامه کاربردی هستند و بنابراین برای هر یک از آنها اولویتهای مختلف در نظر گرفته میشود. بهطورکلی در شرکتی که خدمات ابری را ارائه میکند این پنج مورد قابلمشاهده است:
بهتر است، همانگونه که در شکل بالا مشاهده میکنید، این حوزهها را از لایه زیرساخت ابری بررسی کنیم و به بالای هرم نظارت برسیم.
زیرساختهای ابری: مدیران ابر، مدیران سیستم و تیمهای عملیاتی علاقهمند به استفاده از منابع میزبانی شده در ابر هستند. این منابع میتوانند پردازنده مرکزی، حافظه، شبکه یا فضای ذخیرهسازی باشد. آنها الگوهای استفاده در طول زمان را بررسی میکنند تا دریابند که آیا منابع بیش از حد استفاده میشود یا خیر. آنها همچنین علاقهمندند بدانند در چه زمانها و تاریخهایی فشار سنگینی به منابع وارد میشوند و چه عاملی باعث این افزایش فشار میشود.
کانتینرها:SREها وظیفه دارند از دردسترسبودن کانتینرها اطمینان حاصل کنند. SREها کانتینرها را برای پارامترهای استفاده خاص و همچنین فرایندهای در حال اجرا در داخل کانتینرها بررسی کرده و زیر نظر میگیرند. اطلاعاتی که توسط مهندسان به دست میآید کمک میکند تا هر بخش از زیرساخت ابری که نیازمند تغییر است را ویرایش کرد و حتی از رویکردهایی مثل مکانیزم صفبندی برای حل مشکل فشار کاری بیش از اندازه به سیستمها استفاده کرد تا اطمینان حاصل شود که شرکت مجبور نیست برای پاسخگویی به درخواستها از رویکردهایی مثل محدودکردن دسترسی به منابع استفاده کند. برخی از شاخصها میتوانند درصد آپتایم کانتینر، تعداد درخواستها در صف یا میانگین درصد زمانی که یک سرویس در حال خدمترسانی است را شامل شوند. عملکرد کانتینر یک فعالیت مجزا از سایر مؤلفهها نیست، به همین دلیل در پیگیری عملکرد زیرساخت ابری که میزبان کانتینرها و برنامههایی که اجرا میکنند این نظارت باید انجام شود.
خدمات: به معنای انتزاعی کردن یک برنامه کاربردی است که بخشی از یک میکروسرویس را تشکیل میدهد و در کانتینرهایی اجرا میشود که امکان پیگیری وضعیت آنها در چند خوشه وجود دارد. سرویسهای پیگیری بهمنظور حصول اطمینان از سلامت و عملکرد سیستم و مولفههای برنامههای کاربردی و بررسی زمان تأخیر برنامه استفاده میشوند. سرویسها به کلاینتها اجازه میدهد خدمات موردنیاز خود را بهسرعت پیدا کنند که به نام کشف سرویس (service discovery) از آن نامبرده میشود. فرایند توزیع درخواستهای دریافتی در مجموعهای از نمونهها، مسیریابی پویا نامیده میشود.
برنامههای کاربردی: توسعهدهندگان و مدیران دوآپس بیشتر به زمان پاسخدهی و نرخ شکست اهمیت میدهند که مرتبط با یک سرویس واحد یکیک برنامه کامل هستند. این افراد نگران نحوه پاسخگویی پایگاهداده، تعداد پرسوجوهایی که در یک دقیقه به آنها پاسخ میدهند، تغییر استفاده از حافظه پشته در طول زمان و موارد اینچنینی هستند. این اطلاعات به توسعهدهندگان کمک میکند تا به طور مداوم برنامه خود را در طول زمان بهبود بخشند و در نتیجه تجربه کاربری بهتری داشته باشند.
تجربه کاربری: تجزیهوتحلیل وب یک کار تخصصی برای نظارت بر رفتار کاربران بهمنظور درک نحوه تعامل کاربران با برنامه، علاقهمندی آنها و نحوه استفاده از خدمات ارائه شده توسط برنامه است. در این زمینه نظارت به معنای پیگیری مواردی همچون لینکها و عناصری است که کاربران روی آنها کلیک میکنند. برای این منظور توسعهدهندگان از فایلهای گزارش وب سرور استفاده میکنند. جمعآوری گزارشهای اینچنینی به درک بهتر رفتار کاربر کرده و اجازه میدهد متخصصان به شکل دقیقی کمپینهای بازاریابی دیجیتال و کمپینهای تبلیغاتی هدفمند را پیادهسازی کنند. شرکتها به اطلاعاتی مانند میانگین زمانی که هر کاربر در برنامه وب/موبایل خود وقت میگذراند و تعداد کاربران جدید در مقابل کاربران بازگشتی علاقهمند هستند. دادههای تجربه کاربری میتواند شامل زمان بارگذاری صفحه، اطلاعات مربوط به مشکلات بارگذاری در دستگاههای همراه، خطاهای جاوا اسکریپت و موارد مشابه باشد. نظارت مصنوعی (Synthetic) یکی دیگر از تکنیکهای محبوب برای نظارت بر برنامهها با شبیهسازی رفتار کاربر در داخل برنامه است. تجربه کاربری تنها عامل مهمی در رضایت مشتری است، بلکه در بهبود عملکرد کسبوکار نتایج مثبت درخشانی دارد.
شاخصهای کلیدی عملکرد (KPI): درگذشته، توسعهدهندگان عمدتاً توسعه فناوری و تیم عملیاتی وظیفه نظارت بر آپتایم بودن برنامهها را برعهده داشت و هیچکدام نقشی در بهبود فعالیتهای تجاری نداشتند. بااینحال، با ورود دوآپس، متخصصان بیشتری روی بهبود فعالیتهای تجاری متمرکز شدند، زیرا توجه به فعالیتهای تجاری کمک میکند قابلیتها و ویژگیهای جدیدی به مجموعه اضافه شوند و مهمتر آن که موفقیت یا شکست برخی از برنامههای تجاری منوط به ارزیابی فعالیتهای تجاری است. رویکرد فوق میتواند به نوآوریهای سازمانی تبدیل شده و رونق تجاری بیشتر سازمان کمک کند. برای این منظور مهم است که شاخصهای کلیدی عملکرد (KPI) کسبوکار بهعنوان یک نقطه بازرسی دقیق برای پیگیری این موضوع که آیا برنامههای شما ارزشی برای مشتریان دارند یا خیر موردتوجه قرار گیرند. KPI میتواند شامل ارزیابی وضعیت برنامههای سیار، تجربه کاربران از ورود به سیستم، نحوه خرید و حتی کلیک روی تبلیغات باشد که همگی موارد مهمی در رونق تجاری به شمار میروند.
منبع: مجله شبکه