🔵 عنوان مقاله
Debugging the One-in-a-Million Failure: Migrating Pinterest’s Search Infrastructure to Kubernetes
🟢 خلاصه مقاله:
** این مقاله روایت مهاجرت زیرساخت جستوجوی Pinterest به Kubernetes است و چگونگی برخورد تیم با یک خطای بسیار نادر را شرح میدهد؛ خطایی که در محیطهای آزمایشی دیده نمیشد اما در بار واقعی تولید، بهصورت افزایشهای مقطعی در تاخیر و تایماوتهای پراکنده بروز میکرد. تیم با تقویت مشاهدهپذیری، همبند کردن لاگها، متریکها و تریسها، و اجرای آزمایشهای کنترلشده و تدریجی روی پیکربندیها، مسئله را مانند یک معمای سیستمهای توزیعشده واکاوی کرد. نتیجه نشان داد مشکل ناشی از برهمکنش چند عامل بود: زمانبندی ارکستریشن، محدودیتهای منابع، و سیاستهای retry/timeout که در شرایط خاص همدیگر را تقویت میکردند. راهحل شامل مجموعهای از بهبودهای کوچک اما مکمل بود—از تنظیم دقیق درخواست/سقف منابع و آمادهسازی سرویس تا هموار کردن رفتار autoscaling، بهینهسازی زمانبندی readiness، و مقاومسازی سیاستهای backoff و فشار معکوس. درسهای کلیدی نیز بر مهاجرتهای مبتنی بر SLO، آینهسازی ترافیک تولید، آزمایش خرابی متمرکز بر رخدادهای Kubernetes، و اتوماسیون علائم هشداردهنده برای تشدیدهای نادر تاکید دارند. در نهایت، مهاجرت مزایای مقیاسپذیری و یکنواختی استقرار را بههمراه داشت و نشان داد که در مقیاس بزرگ، رخدادهای «یک در میلیون» باید بهطور نظاممند دیده، سنجیده و مهار شوند.
#Kubernetes #Pinterest #SearchInfrastructure #DistributedSystems #Debugging #ReliabilityEngineering #Migration #ProductionIncidents
🟣لینک مقاله:
https://ku.bz/BS18f9fpM
➖➖➖➖➖➖➖➖
👑 @DevOps_Labdon
Debugging the One-in-a-Million Failure: Migrating Pinterest’s Search Infrastructure to Kubernetes
🟢 خلاصه مقاله:
** این مقاله روایت مهاجرت زیرساخت جستوجوی Pinterest به Kubernetes است و چگونگی برخورد تیم با یک خطای بسیار نادر را شرح میدهد؛ خطایی که در محیطهای آزمایشی دیده نمیشد اما در بار واقعی تولید، بهصورت افزایشهای مقطعی در تاخیر و تایماوتهای پراکنده بروز میکرد. تیم با تقویت مشاهدهپذیری، همبند کردن لاگها، متریکها و تریسها، و اجرای آزمایشهای کنترلشده و تدریجی روی پیکربندیها، مسئله را مانند یک معمای سیستمهای توزیعشده واکاوی کرد. نتیجه نشان داد مشکل ناشی از برهمکنش چند عامل بود: زمانبندی ارکستریشن، محدودیتهای منابع، و سیاستهای retry/timeout که در شرایط خاص همدیگر را تقویت میکردند. راهحل شامل مجموعهای از بهبودهای کوچک اما مکمل بود—از تنظیم دقیق درخواست/سقف منابع و آمادهسازی سرویس تا هموار کردن رفتار autoscaling، بهینهسازی زمانبندی readiness، و مقاومسازی سیاستهای backoff و فشار معکوس. درسهای کلیدی نیز بر مهاجرتهای مبتنی بر SLO، آینهسازی ترافیک تولید، آزمایش خرابی متمرکز بر رخدادهای Kubernetes، و اتوماسیون علائم هشداردهنده برای تشدیدهای نادر تاکید دارند. در نهایت، مهاجرت مزایای مقیاسپذیری و یکنواختی استقرار را بههمراه داشت و نشان داد که در مقیاس بزرگ، رخدادهای «یک در میلیون» باید بهطور نظاممند دیده، سنجیده و مهار شوند.
#Kubernetes #Pinterest #SearchInfrastructure #DistributedSystems #Debugging #ReliabilityEngineering #Migration #ProductionIncidents
🟣لینک مقاله:
https://ku.bz/BS18f9fpM
➖➖➖➖➖➖➖➖
👑 @DevOps_Labdon
Medium
Debugging the One-in-a-Million Failure: Migrating Pinterest’s Search Infrastructure to Kubernetes
Samson Hu, Shashank Tavildar, Eric Kalkanger, Hunter Gatewood
Forwarded from AI Labdon
مدل opus 4.5 دیروز اومد. بینظیره. بهترین مدل دنیا برای coding با اختلاف زیاد.
یک اتفاق مهم دیگه اینکه Anthropic برای اولین بار قیمت بهترین مدل خودش رو به یک سوم تا یک پنجم قیمت قبلی کاهش داده!!
هر میلیون اینپوت از ۲۵ دلار شده ۵ دلار و هر میلیون output هم از ۷۵ دلار شده ۱۵ دلار!
<Amin Anvary/>
👉 https://t.iss.one/addlist/AJ7rh2IzIh02NTI0
یک اتفاق مهم دیگه اینکه Anthropic برای اولین بار قیمت بهترین مدل خودش رو به یک سوم تا یک پنجم قیمت قبلی کاهش داده!!
هر میلیون اینپوت از ۲۵ دلار شده ۵ دلار و هر میلیون output هم از ۷۵ دلار شده ۱۵ دلار!
<Amin Anvary/>
👉 https://t.iss.one/addlist/AJ7rh2IzIh02NTI0
❤1
🔵 عنوان مقاله
How to Prevent Failures with Kubernetes Topology Spread Constraints
🟢 خلاصه مقاله:
این مقاله نشان میدهد چرا استفاده از Pod Topology Spread Constraints در زمان rolling updates میتواند باعث توزیع ناعادلانه پادها شود و در پایان استقرار، یک یا چند ناحیه بیشازحد شلوغ بماند. علت این است که Scheduler در هنگام جایگذاری پادهای جدید، پادهای قدیمی و جدید را با هم در نظر میگیرد؛ بنابراین پادهای تازه را به نواحی «فعلاً» کمتراکم میفرستد، اما با حذف تدریجی پادهای قدیمی، همان نواحی از نسخه جدید اشباع میشوند.
راهحل پیشنهادی استفاده از matchLabelKeys (برای نمونه با کلید pod-template-hash) است تا Scheduler هر نسل از پادها را فقط نسبت به همنسلهای خودش پخش کند. بدین ترتیب هر ReplicaSet بهطور مستقل متعادل میشود و چون نسل قبلی نیز از قبل متعادل بوده، مجموع پادها در طول و پس از rollout یکنواخت باقی میماند.
برای اجرای درست، از پشتیبانی Kubernetes v1.25+ نسبت به matchLabelKeys مطمئن شوید، topologyKey مناسب (مثلاً topology.kubernetes.io/zone) و maxSkew معقول انتخاب کنید و سیاست whenUnsatisfiable را بسته به نیاز سختگیرانه (DoNotSchedule) یا منعطف (ScheduleAnyway) تنظیم کنید.
#Kubernetes #PodTopologySpreadConstraints #TopologySpread #RollingUpdates #DevOps #SRE #HighAvailability #matchLabelKeys
🟣لینک مقاله:
https://ku.bz/RypzHZTrM
➖➖➖➖➖➖➖➖
👑 @DevOps_Labdon
How to Prevent Failures with Kubernetes Topology Spread Constraints
🟢 خلاصه مقاله:
این مقاله نشان میدهد چرا استفاده از Pod Topology Spread Constraints در زمان rolling updates میتواند باعث توزیع ناعادلانه پادها شود و در پایان استقرار، یک یا چند ناحیه بیشازحد شلوغ بماند. علت این است که Scheduler در هنگام جایگذاری پادهای جدید، پادهای قدیمی و جدید را با هم در نظر میگیرد؛ بنابراین پادهای تازه را به نواحی «فعلاً» کمتراکم میفرستد، اما با حذف تدریجی پادهای قدیمی، همان نواحی از نسخه جدید اشباع میشوند.
راهحل پیشنهادی استفاده از matchLabelKeys (برای نمونه با کلید pod-template-hash) است تا Scheduler هر نسل از پادها را فقط نسبت به همنسلهای خودش پخش کند. بدین ترتیب هر ReplicaSet بهطور مستقل متعادل میشود و چون نسل قبلی نیز از قبل متعادل بوده، مجموع پادها در طول و پس از rollout یکنواخت باقی میماند.
برای اجرای درست، از پشتیبانی Kubernetes v1.25+ نسبت به matchLabelKeys مطمئن شوید، topologyKey مناسب (مثلاً topology.kubernetes.io/zone) و maxSkew معقول انتخاب کنید و سیاست whenUnsatisfiable را بسته به نیاز سختگیرانه (DoNotSchedule) یا منعطف (ScheduleAnyway) تنظیم کنید.
#Kubernetes #PodTopologySpreadConstraints #TopologySpread #RollingUpdates #DevOps #SRE #HighAvailability #matchLabelKeys
🟣لینک مقاله:
https://ku.bz/RypzHZTrM
➖➖➖➖➖➖➖➖
👑 @DevOps_Labdon
Medium
How to Prevent Failures with Kubernetes Topology Spread Constraints
How to Prevent Failures with Kubernetes Topology Spread Constraints Introduction In modern cloud-native environments, ensuring high availability and fault tolerance for your applications is critical …