(english version)قوانینی برآمده از تجربه در تیمهای زیرساخت
به عنوان فردی که گاهی مسئول تیم زیرساخت بودم یا گاهی بخشی از تیم زیرساخت، تصمیم گرفتم یکبار برای همیشه، اشتباهات و تجربیاتم رو به مکتوب و تبدیل به قانون کنم.
- سادهبودن فرآیندها و معماریها، مقدم بر پیچیدگی است.
- استفاده از ساختار IaC، مقدم بر مستندنویسی میباشد.
- رفع مشکلات در لحظهی فهمیدن، مقدم بر گردآوری لیست مشکلات و رفع در آینده نزدیک است.
- تمرکز بر انجام یک کار به صورت عالی، مقدم بر انجام چندکار به صورت متوسط است.
- اشتراک دانش و تجربه در تیم زیرساخت، مقدم بر ایجاد افرادی به عنوان Single Point Of Failure میباشد.
- معماری Immutable مقدم بر معماری Mutable میباشد.
- خودکار سازی فرآیندهای تکراری و زمانبر و با امکان اشتباه بالا، مقدم بر انجام دستی آنهاست.
- نگهداری IaC ها در VCS ها مقدم بر نگهداری آنها در سرورها یا سیستمهای شخصی اعضای تیم زیرساخت است.
- سازوکارهای Backup/Restore به عنوان بخشی از هر فرآیند، مقدم بر بخشی جداگانه که بعدا اضافه خواهد شد، است.
- داشتن چکلیستهای مکتوب برای هر تغییر یا دپلوی مهم و غیرمهم، مقدم بر چکلیستهای ذهنی است.
- آپدیتکردن، تغییردادن یا هر اقدام مشابه دیگر قبل از رویدادها و اتفاقات مهم در زیرساخت ممنوع میباشد. باید احتمال بدیم که ممکنه این تغییر باعث شکست در بخشی از سیستم بشه حتی اگر همه چیز تحت کنترل باشه، پس در زمان مناسبتر با فضای بیشتر برای رفع مشکلات احتمالی باید تغییرات رو اعمال کنیم.
پینوشت: این قوانین، نمیتوانند مطلق باشند و به مرور دچار تکامل میشوند.
پینوشت: دنیای واقعی معمولا متفاوت از تئوریهاست. اگر قانونی را شکستیم، آگاهانه بشکنیم وبرای رفع مشکلات ناشی از شکستن قانونمان، برنامه داشته باشیم و بقیه را مطلع کنیم.