«پایداری سرویسها» از موضوعهای معمول در گپ و گفتهایِ گهگاهی با همکاران در بازار ایران است. «اگر بخوایم یک نفر-فصل زمان بذاریم پایداریمونو بهتر کنیم رو چی بذاریم؟» پرسش آسان ولی نادرست است. همه میدانیم ولی برای دوستان تهِ سالنی، آقای ربیعی و حسنلو، دو نکته مرور کنیم:
یک: کاربرِ دیروز به #سیستم_همیشه_بالا خیلی حساس نبود ولی کاربرِ امروز هست - منظورم گوگل نیست بلکه همان فروشگاه و تاکسی اینترنتی شماست. اگر هم گمان میکنید کاربر امروز همچنان آنقدر حساس نیست که به یکی دو بار پایین بودنِ شما به سیستم رقیب مهاجرت کند، بدانید که کاربرِ فردا هست.
چرا بازگوییِ این بدیهیات؟ چون مهندسانِ باتجربه به اهمیت پایداری آگاهند ولی گاهی بالادستیها (شاید شما) سرمایهگذاری اصلی را در feature میبینند و پایداری را جانبی، به ویژه چون تضادهایی دارند: پایداری یعنی کُند شدن سرعت توسعه. پس درکِ این که یک مزیت رقابتی مهم است، مهم است.
دو: پایداری نه تنها وابسته به معماری سیستم و مدیریت بار و غیره است، وابسته به استانداردسازی و هردمبیلیزدایی در زنجیرهای از رویههاست، از پیش از توسعه تا پس از استقرار، از سبْک کد و فرآیندهای توسعه و بازبینی و تست و CI تا انتشارِ ایمن و پایشِ فراگیر و هشدار و پاسخ به حادثه.
دربارهی برخی پیشتر نوشتم، اینجا سیاهه میکنم برای دوستانی که بعدتر به ما پیوستند:
خلاصه متوجهام که منابع محدودند و کارها زیاد و «با هزینهی محدود برای بهبود پایداری از کجا شروع کنم» پرسش آسان، ولی فهم درست از مولفههای پایداری و رویکرد درست به آن، مهمتر است.
پ.ن. پایداری و مقیاس و کارایی، از موضوعهای مورد علاقهی بندهاند. موضوعهای غیرفنی و سازمانی، کمتر. ولی گپ و گفتهایی که در آغاز عرض کردم، به این سمت دوم رفته که تخصصی هم ندارم و آنچه در یادداشتها میبینید صرفا از مشاهده است. این پ.ن. برای متقاضیان گپ در آینده است.
پ.ن. برای دوستانِ ناآشنا: آقای ربیعی و حسنلو در توییت نخست، تلمیح به اجرایی معروف از جواد یساری است. از افتخارات بنده این است که گویا با استاد بچهمحل بودیم.