آشنایی با مفهوم SRE و اهمیت در فضای اینترنت

آشنایی با مفهوم SRE و اهمیت در فضای اینترنت

SRE در واقع سرواژهٔ ۳ کلمهٔ Site Reliability Engineering است که به‌صورت تحت‌الفظی می‌توان آن‌را «مهندسی ضریب اطمینان سایت» ترجمه نمود؛ اما درعین‌حال خود عبارت «مهندسی ضریب اطمینان» هم گیج‌کننده است! اجازه دهید این‌گونه برایتان توضیح دهیم که وقتی عملکردهای یک سیستم مورد تهدید واقع می‌شوند و این‌طور به‌نظر می‌رسد که این تهدیدات نوعی مشکل نرم‌افزاری‌اند، پای SRE‌ها به میدان باز می‌شود. در همین راستا، مأموریت این دسته از مهندسین این است که همهٔ سیستم‌ها و نرم‌افزارهایی که در پس خدمات عمومی سایت گوگل هستند را ارتقاء دهند و از آن‌ها حفاظت کنند (این مهندسین حتی پروایدر این نرم افزارها و سیستم‌ها نیز محسوب می‌شوند.) آن‌ها باید با نهایت دقت بر ظرفیت، عملکرد و دسترسی‌پذیری خدمات گوگل همچون جستجوی گوگل (Google Search)، تبلیغات (Ads)، خدمات پست الکترونیک گوگل (Gmail)، سیستم‌عامل اندروید (Android)، یوتیوب (YouTube) و موتور نرم‌افزاری گوگل (App Engine) نظارت کنند.

شغل مهندسان SRE ترکیبی است که نظیرش در هیچ کجای دنیای صنعت و فناوری پیدا نمی‌شود! این گروه از مهندسین مانند گروه‌های عملیاتی قدیمی، سیستم‌های حیاتی و مهم را سرپا نگاه می‌دارند و برخلاف وجود خطاهای پیکربندی، محدودیت‌های پهنای باند و بسیاری از مشکلات، این‌گونه سیستم‌ها را اکتیو نگاه می‌دارند.

علاوه بر این‌، این گروه از مهندسین گوگل برخلاف گروه‌های عملیاتی قدیمی، نرم‌افزارها را منبع اولیهٔ کار خود می‌دانند و بااستفاده از همین نرم‌افزارها، سیستم‌ها را مدیریت، حفظ و بر آن‌ها نظارت می‌کنند؛ درنهایت مهندسان SRE باید پرمیشن‌های پرنسل برای دسترسی به منابع سیستم را نظاره کنند، کدها را ریفکتور کنند تا همچنان نتیجهٔ دلخواه را ارائه دهند، این کدها را در مقابل حملات تحت وب مقاوم سازند و پلتفرم خود را برای ابعاد و مقیاس‌های جهانی توسعه و گسترش دهند.

مهندسانی برای انجام این کار استخدام می‌شوند که در زمینهٔ نرم‌افزار و سیستم‌ها باتجربه باشند، البته اگر شخصی پیدا شود که در هر دو زمینه اطلاعات کافی داشته باشد که چه بهتر! از آنجایی که این مهندسان کاری بس بی‌نظیر انجام می‌دهند، درنتیجه محل کارشان نیز منحصر‌به‌فرد است و گوگل فضای کاری مطلوبی را برایشان ایجاد کرده است.

در شرکت گوگل سرمایهٔ خوبی برای توسعهٔ سیستم‌های متفاوت وجود دارد: از پایگاه‌های داده در مقیاس جهانی (Planet-Spanning Databases) گرفته تا سیستم‌هایی برای ذخیره سازی داده‌های مقیاس‌پذیر در آن‌واحد (Near Real-Time Scalable Data Warehousing). در مهندسی SRE، مهندسان در دامنه‌ای از سیستم‌ها و کاربرهایی که شمار آن‌ها از میلیارد نیز می‌گذرد، با انبوهی از جزئیات ورودی/خورجی (I/O) سروکار دارند.

مهندسین SRE، مالک اصلی سرویس‌هایی هستند که هنوز دردست تولید قرار دارند و به بازار عرضه نشده‌اند؛ آن‌ها با استفاده از تسلط کامل و عمیق بر Stack (استک به‌معنی «پشته»)، کنترل ضریب اطمینان و عملکرد در مقیاس‌های عظیم را دردست دارند. درواقع، این مهندسان هر روز درحال یادگیری مطالب جدیدی هستند که برخی از آن‌ها بسیار جالب و هیجان انگیزند (مخصوصاً برای طرفداران الگوریتم‌ها).

نگاهی بر SRE از دیدگاه برخی از متخصصان این حرفه
بن تیلور اسلوس (Ben Treynor Sloss)، نایب رئیس گروه مهندسین شرکت گوکل و مؤسس بخش SRE در شرکت گوگل می‌گوید:

در واقع وقتی شما از یک مهندس میخواین که یک عملکرد رو طراحی و اجرا کنه، یک فرایند SRE صورت می‌گیره. 

ندا فرخ (Nida Farrukh)، مهندس SRE از زوریخ می‌گوید:

مهندسین نرم‌افزار قدیمی سعی می‌کردن که تمرکز و توجه خود رو تنها به یک سیستم معطوف کنن و زیر‌وبم اون سیستم رو کامل فرا بگیرن؛ اما مهندسین SRE به این سو گرایش دارن که دانش خودشون رو در دامنهٔ وسیعی از سیستم‌ها و نرم‌افزارها گسترش بدن.

اندرو ویدوسون (Andrew Widdowson) مهندس SRE در مجلهٔ Mountain می‌گوید:

شغل ما مثل بودن در بزرگترین تیم تعویض وسایل خودروی مسابقه در طول مسابقه هست؛ ما چرخ‌های این خودرو رو درحالی تعویض می‌کنیم که 100 کیلومتر برساعت سرعت داره.

جان تی ریس (John T. Reese) مهندس SRE از سان‌فرانسیسکو می‌گوید:

خدمات SRE بر اساس قابلیت‌های دوجانبه شکل می‌گیرن؛ این شغل حرکت بین دیدگاه‌های مختلفه که به مهارت‌ها و خلاقیت خاصی نیاز داره. درواقع، مهندسین SRE متخصصان ایجاد تغییرات به‌ شکلی ایمن هستن.

نظر شما دربارهٔ حوزهٔ کاری SRE چیست؟ نظرات و دیدگاه‌های خود را با ما و سایر کاربران سکان آکادمی به اشتراک بگذارید.

منبع