SLI | SLA | SLO: مفاهیم مرتبط با SRE که باید با آن‌ها آشنا بود


SRE مفهومی است که در مقاله‌ای تحت عنوان SRE: آشنایی با مقولهٔ مهندسی ضریب اطمینان و اهمیت در کمپانی گوگل آن را مورد بررسی قرار داده‌ایم اما اگر بخواهیم تعریف خلاصه از آن داشته باشیم، باید گفت که Site Reliability Engineering یا به اختصار SRE که به صورت تحت‌الفظی می‌توان آن را «مهندسی ضریب اطمینان» ترجمه کرد، با این ایده آغاز می‌شود که معیارهای اندازه‌گیری امنیت یک اپلیکیشن باید با اهداف کسب‌وکار گره بخورند که در همین راستا یکسری مفاهیم مرتبط همچون SLA ،SLI و SLO هستند که آشنایی با آن‌ها ضامن درک بهتری از چگونگی کارکرد SRE است.

Service-Level Objective
فلسفهٔ مهندسی ضریب اطمینان، در دسترس بودن (Availability) را توانایی یک سیستم در انجام وظایف از پیش تعریف شده‌اش در یک زمان معین تعریف می‌کند و نیاز به توضیح نیست که همواره در دسترس بودن پیش‌نیاز موفقیت یک کسب‌وکار آنلاین است و نیاز به توضیح نیست سیستمی که کاملاً در دسترس نباشد، نمی‌تواند تَسک‌های در نظر گرفته شده برایش را انجام دهد و اساساً خراب محسوب می‌گردد.

علاوه بر اینکه اندازه‌گیری میزان در دسترس بودن در طول زمان به عنوان یک ابزار گزارش‌دهی استفاده می‌شود، می‌تواند مشخص کند که چه‌قدر احتمال دارد سیستم شما در آینده همان‌گونه که انتظار می‌رود، عمل کند و به یاد داشته باشید که هرچه یک سیستم بیشتر قابل‌اطمینان باشد، مسلماً نگاهداری آن هزینهٔ بیشتری می‌طلبد و اینجا است که Service-Level Objective یا به اختصار SLO خودنمایی می‌کند به طوری که هرگونه اِعمال تغییرات در نرم‌افزار باید استانداردهای در نظر گرفته شده در SLO را برآورده سازد (برای مثال، می‌توان این هدف را تا پایان سال در نظر گرفت که تأخیر ۹۹.۹٪ ریکوئست‌های ارسالی به صفحهٔ هوم‌پیج کمتر از ۳۰۰ میلی‌ثانیه خواهد شد.)

Service-Level Agreement
این استاندارد که به اختصار SLA خوانده می‌شود، معمولاً دربرگیرندهٔ یکسری تعهدات به کسانی است که از سرویس شما استفاده می‌کنند که در نهایت تضمین می‌کند SLO سرویس شما، که پیش از آن با مفهومش آشنا شدیم، باید سطح مشخصی از میزان در دسترس بودن را در زمان مشخصی برآورده کند و اگر در انجام آن ناموفق باشد، باید جریمه‌ای را متحمل شوید (این جریمه ممکن است عدم دریافت هزینهٔ اشتراک از کاربران در مدت زمانی مشخص و یا زمان اشتراک رایگان بیشتر باشد.) اگر از مشتریانتان هزینهٔ اشتراک دریافت می‌کنید، به نظر می‌رسد که به یک دستورالعمل SLA نیاز خواهید داشت (برای مثال، اگر تا پایان سال این میزان از ۹۵٪ به ۹۹.۵٪ افزایش پیدا نکرد، به میزان مشخصی به اعتبار کاربران برای استفاده از سرویس‌مان افزوده خواهد شد.)

Service-Level Indicator
این اصطلاح که به اختصار SLI گفته می‌شود، معیاری جهت اندازه‌گیری مستقیم رفتار سرویس‌مان است به طوری که وقتی می‌خواهیم ارزیابی کنیم ببینیم که آیا سیستم‌مان در هفته‌ٔ گذشته اهداف SLO را برآورده کرده است یا خیر، نیاز به یک مجموعه راه‌کار در قالب SLI داریم تا درصد در دسترس بودن سرویس را به دست آوریم به طوری که اگر سیستم اهداف SLO را برآورده نکند، یعنی با مشکل مواجه شده‌ایم و ممکن است لازم باشد تا در دسترس بودن سرویس را به نحوی افزایش دهیم (به طور مثال، می‌توان سرویس مشابهی را در ناحیهٔ جغرافیایی دیگری اجرا کنیم و بین این دو نمونه لود بالانسینگ انجام داده و تفاوت‌ها را رصد کرد.) به طور کلی، اگر می‌خواهید بدانید که سرویس شما چه‌قدر قابل‌اطمینان است، باید قادر باشید تا درصد کوئری‌های موفق و ناموفق را به عنوان یک شاخص SLO اندازه‌گیری کنید (برای مثال، ۹۵٪ تأخیر ریکوئست‌های صفحهٔ هوم‌پیج در ۵ دقیقهٔ گذشته کمتر از ۳۰۰ میلی‌ثانیه است.)

منبع