ปัญหา Fly.io ได้รับการแก้ไขแล้ว
(status.flyio.net)- หน้าสถานะของ Fly.io ปัจจุบันเป็น All Systems Operational และองค์ประกอบหลัก เช่น การรันแอป แดชบอร์ด Machines API และความพร้อมใช้งานตามภูมิภาค อยู่ในสถานะทำงาน
- เหตุการณ์ Elevated API Errors เมื่อวันที่ 1 ก.ค. 2026 ได้รับการแก้ไขเมื่อ 07:50 UTC หลังจากแก้ไขข้อผิดพลาดของ GraphQL API และปัญหาการประมวลผลงานเบื้องหลัง
- เหตุการณ์ Delayed Metrics เมื่อวันที่ 30 มิ.ย. ทำให้แดชบอร์ด fly-metrics.net ของลูกค้าบางรายมีเมตริกล่าช้าหรือขาดหาย และกลับสู่ภาวะปกติหลังประมวลผล backlog และเพิ่ม capacity
- หน้าสถานะนี้ใช้สำหรับอัปเดต เหตุขัดข้องระดับโลก จึงไม่รวมเหตุขัดข้องของฮาร์ดแวร์ที่มีผลกระทบจำกัดหรือเหตุการณ์โครงสร้างพื้นฐานที่เกิดแบบแยกส่วน
- ควรตรวจสอบผลกระทบเฉพาะแอปได้จาก personalized status page ในแดชบอร์ด Fly Organization และแนะนำให้ดู incident ภายในกับกิจกรรมต่าง ๆ ที่ Infra Log
สถานะบริการปัจจุบัน
- หน้าสถานะของ Fly.io ปัจจุบันอยู่ในสถานะ All Systems Operational
- รายการหลักที่แสดงว่าใช้งานได้ ได้แก่ Customer Applications, Dashboard, Machines API, Regional Availability, Persistent Storage (Volumes), Deployments, Remote Builds, Logs, Metrics, SSL/TLS Certificate Provisioning, UDP Anycast, Fly Machine Image Registry 1·2, Extensions, Upstash for Redis, DNS, Billing, Managed Postgres
- สถานะรายภูมิภาคก็แสดงว่าใช้งานได้ โดยภูมิภาคเป้าหมายคือ AMS, ARN, BOM, CDG, DFW, EWR, FRA, GRU, IAD, JNB, LAX, LHR, NRT, ORD, SIN, SJC, SYD, YYZ
ขอบเขตของหน้าสถานะ
- หน้านี้ใช้สำหรับอัปเดต global incidents
- ไม่รวมการอัปเดตเหตุขัดข้องของฮาร์ดแวร์ประจำวันซึ่งมีผลกระทบจำกัด หรือเหตุการณ์โครงสร้างพื้นฐานที่เกิดแบบแยกส่วน
- มุมมองแบบปรับให้เฉพาะบุคคลของเหตุการณ์ทั้งหมดที่อาจส่งผลต่อแอป สามารถตรวจสอบได้จาก personalized status page ในแดชบอร์ด Fly Organization
- แนะนำให้ตรวจสอบ incident ภายในและกิจกรรมอื่น ๆ ที่ Infra Log
1 ก.ค. 2026: Elevated API Errors
- Elevated API Errors ถูกทำเครื่องหมายว่า Resolved เมื่อวันที่ 1 ก.ค. เวลา 07:50 UTC
- เวลา 06:14 UTC เริ่มตรวจสอบ elevated errors ใน GraphQL API และการประมวลผลงานเบื้องหลัง
- เวลา 06:27 UTC ระบุสาเหตุได้แล้ว และดำเนินการแก้ไข
- เวลา 07:05 UTC มีการปรับใช้การแก้ไข และไม่พบ elevated API errors อีกต่อไป
- งานบางอย่างบน dashboard อาจล่าช้าในช่วงที่การประมวลผลเบื้องหลังกำลังไล่ backlog ให้ทัน
- เวลา 07:26 UTC งานเบื้องหลังไล่ทันแล้ว และยังคงมอนิเตอร์ API ในสถานะที่ใช้งานได้เต็มรูปแบบต่อไป
30 มิ.ย. 2026: Delayed Metrics และ egress IP ใน SIN/NRT
- Delayed Metrics ได้รับการแก้ไขเมื่อวันที่ 30 มิ.ย. เวลา 22:19 UTC
- เกิดปัญหากับเมตริกสำหรับลูกค้าบนแดชบอร์ด fly-metrics.net ทำให้ผู้ใช้อาจเห็นเมตริกล่าช้าหรือขาดหาย
- ปัญหาบนหลาย host ทำให้การรวบรวมเมตริกล่าช้า และมีการระบุว่า resource contention บน metrics ingestion hosts บางส่วนเป็นสาเหตุ
- เพื่อประมวลผล backlog ได้เพิ่ม throughput ของ metrics cluster และมีการปรับสมดุล ingestion traffic พร้อมเพิ่ม capacity สำหรับการประมวลผล
- วันที่ 30 มิ.ย. เวลา 19:58 UTC เมตริกเกือบทั้งหมดไล่ทันแล้ว แต่ยังเหลือเมตริกจำนวนน้อยจาก
sinและsyd - Egress IP issues in SIN and NRT ได้รับการแก้ไขเมื่อวันที่ 30 มิ.ย. เวลา 14:03 UTC
- Machines บางส่วนที่ใช้ egress IP ใน SIN และ NRT อาจสูญเสียการเชื่อมต่อชั่วคราวหรือประสบปัญหาประสิทธิภาพลดลง
26~25 มิ.ย. 2026: เหตุการณ์ด้านเครือข่าย การ deploy และ control plane
- IPv6 Connectivity Issues in EWR ได้รับการแก้ไขเมื่อวันที่ 26 มิ.ย. เวลา 23:48 UTC
- เกิดปัญหาการเชื่อมต่อเครือข่าย IPv6 ของ upstream provider ใน EWR
- แอปที่มี Machines บน host ที่ได้รับผลกระทบอาจได้รับผลกระทบต่อการเชื่อมต่อไปยังปลายทาง IPv6 บางแห่ง
- Network maintenance in YYZ เป็นการบำรุงรักษาตามกำหนดที่ดำเนินการในวันที่ 26 มิ.ย. เวลา 08:00~09:00 UTC และเสร็จสิ้นแล้ว
- คาดว่าอาจเกิด การสูญเสียการเชื่อมต่อสูงสุด 15 นาที ภายในช่วงเวลาบำรุงรักษา
- Deploys defaulting to Fly-hosted Builders ได้รับการแก้ไขเมื่อวันที่ 25 มิ.ย. เวลา 15:38 UTC
- ระหว่างตรวจสอบความล่าช้าในการ provisioning ของ Depot backed builders กลยุทธ์เริ่มต้นของ
fly deployถูกเปลี่ยนไปใช้ Fly-hosted builders - ผู้ใช้สามารถบังคับใช้การ deploy แบบ Depot-based ด้วย
fly deploy --depot=trueและภายหลังสามารถ deploy แบบใช้ Fly builder ด้วยfly deploy --depot=falseได้เช่นกัน
- ระหว่างตรวจสอบความล่าช้าในการ provisioning ของ Depot backed builders กลยุทธ์เริ่มต้นของ
- Elevated control plane latency ได้รับการแก้ไขเมื่อวันที่ 25 มิ.ย. เวลา 15:18 UTC
- เกิด control plane latency และ saturation ที่ส่งผลต่อภูมิภาค BOM และ NRT
- แอปที่มี Machines ในภูมิภาคดังกล่าวอาจพบเวลาตอบสนองยาวขึ้นและอาจเกิด 502 errors
24~17 มิ.ย. 2026: เครือข่ายอเมริกาเหนือและ SIN/NRT กับการค้นหา log
- Degraded networking in North America ได้รับการแก้ไขเมื่อวันที่ 24 มิ.ย. เวลา 06:57 UTC
- มีการตรวจสอบประสิทธิภาพเครือข่ายระหว่างไซต์ในอเมริกาเหนือที่ลดลง เนื่องจาก upstream incident
- Machines บางส่วนอาจพบ packet loss และ latency สูงขึ้นในเส้นทางบางเส้น
- ผลกระทบต่อทราฟฟิก 6PN Private Networking บางส่วนที่เข้าออกภูมิภาค LAX ยังคงเหลืออยู่
- Network issues in SIN, NRT ได้รับการแก้ไขเมื่อวันที่ 22 มิ.ย. เวลา 21:56 UTC
- upstream provider ประสบปัญหาเครือข่ายในภูมิภาค SIN และ NRT และแอปในภูมิภาคดังกล่าวอาจเข้าถึงไม่ได้หรือมี packet loss สูง
- SIN, NRT network issues ได้รับการแก้ไขเมื่อวันที่ 22 มิ.ย. เวลา 19:48 UTC
- ในตอนแรกมีการตรวจสอบเป็น upstream network issue ในภูมิภาค SIN และภายหลังแอปในภูมิภาค NRT ก็อาจพบปัญหาในการเข้าถึงปลายทางบางแห่งด้วย
- Log search unavailable ได้รับการแก้ไขเมื่อวันที่ 19 มิ.ย. เวลา 21:53 UTC
- ส่งผลต่อ Fly Metrics log search panels และ historical application logs ที่ส่งกลับครั้งแรกจากคำสั่ง
fly logs - การสตรีม
fly logs, หน้า Live Logs ใน dashboard และ Fly Log Shipper services ทำงานได้ตามปกติ - หลังแก้ไขแล้ว historical logs ถูก backfill และ queued historical logs ส่วนใหญ่ค้นหาได้แล้ว
- ส่งผลต่อ Fly Metrics log search panels และ historical application logs ที่ส่งกลับครั้งแรกจากคำสั่ง
- Network Issues in SIN ได้รับการแก้ไขเมื่อวันที่ 17 มิ.ย. เวลา 04:55 UTC
- มีปัญหาการเชื่อมต่อเครือข่ายในภูมิภาค SIN และ hosted apps อาจใช้งานไม่ได้
- Machines บางส่วนไม่สามารถเข้าถึงได้ และ Managed Postgres clusters บางส่วนอาจ fail-over หรือ update ไม่สำเร็จ
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
เว็บไซต์ของผมที่เอาขึ้นไว้บน fly.io ล่มไป 5 นาที เมื่อประมาณ 6 ชั่วโมงก่อน แล้วก็กลับมาใช้งานได้ทันที หลังจากนั้นก็ปกติมาตลอด
บริการมอนิเตอร์ฟรีตรวจทุก 5 นาที เลยอาจพลาด downtime ที่สั้นกว่านั้นไปก็ได้ แต่โดยรวมถือว่าค่อนข้างเสถียร
uptime ของแอปพลิเคชันก็ไม่ค่อยนิ่งอยู่แล้ว แต่ที่แย่กว่าคือมีกรณีที่ fly deploy ล้มเหลว โดยไม่มีสาเหตุ บางครั้ง layer ก็ค้างอยู่อย่างนั้นแล้วสุดท้ายก็ล้มเหลว พอผ่านไป 1–2 ชั่วโมงแล้วรันคำสั่งเดิมอีกครั้งโดยไม่ได้เปลี่ยนอะไร กลับทำงานได้ปกติ
อยากเห็นบริการมอนิเตอร์ที่ลอง deploy แอปพื้นฐานทุก 5 นาที หรือก็คือรันคำสั่ง
fly deployเป็นระยะ เพื่อดูว่า deployment ล้มเหลวหรือค้างบ่อยแค่ไหน คิดคร่าว ๆ ว่าน่าจะมีประมาณ 5% ที่ล้มเหลวโดยไม่มีคำอธิบาย และถ้าเวลาไม่เหลือเฟือก็น่าหงุดหงิดพอสมควรจากฝั่งนี้ดูเหมือนว่า กินเวลาต่อเนื่อง 16 นาที
fly.io เผยแพร่ postmortem ไว้ที่นี่: https://fly.io/infra-log/
postmortem ล่าสุดค่อนข้างน่าสนใจและมีรายละเอียดเยอะ ในปี 2016 องค์ประกอบหลักของโครงสร้างพื้นฐานปฏิบัติการของ fly.io คือเซิร์ฟเวอร์ TLS ความปลอดภัยสูงชื่อ consul ซึ่งต้องติดตาม shared state พร้อมกับยืนยันตัวตนทั้ง server certificate และ client certificate
ด้วยโครงสร้างแบบรวมศูนย์จึงเกิดปัญหาเรื่องการขยายสเกล และในปี 2020 fly.io จึงสร้าง corrosion ขึ้นมาแทน แล้วก็ลืม consul ไปอย่างรวดเร็ว แต่ก็ยังเอาออกไม่หมด
ต่อมาในเดือนตุลาคม 2024 signing key ของ root key ของ consul หมดอายุ ทำให้การเชื่อมต่อทั้งหมดตกลงไป และเพราะใช้การยืนยันตัวตนสองทาง จึงกู้คืนไม่ได้จนกว่าจะกระจาย SSL certificate ชุดใหม่ไปยังเครื่องทั้งหมด พวกเขาทำได้สำเร็จภายใน 30 นาที somehow แต่โดมิโนเริ่มล้มไปแล้ว และจุดอ่อนอื่น ๆ ของโครงสร้างพื้นฐานก็โผล่ออกมา
ยังมีบริการภายในอีกตัวหนึ่งที่ชุด TLS key แยกต่างหากหมดอายุไปนานแล้ว แต่ไม่มีใครรู้จนกระทั่งมันถูกรีสตาร์ตระหว่างขั้นตอนออก key ใหม่ให้ consul เรื่องนี้ถูกเปิดเผยเพราะการเชื่อมต่อ TCP ที่เคยสร้างไว้ตอน certificate ยังใช้ได้ถูกตัดจากการรีสตาร์ต ระหว่างนั้นเครื่องมือ logging ก็กำลังยิงใส่ผู้ให้บริการเครือข่ายเหมือน DDoS อยู่ด้วย คนที่ช่วยให้บริษัทอยู่รอดและยังปกป้องลูกค้าได้ในตอนที่หลายอย่างระเบิดพร้อมกันขนาดนี้ น่าทึ่งจริง ๆ
แต่ในหน้ารับสมัครงาน [1] กลับบอกว่า “เราไม่ค่อยเชื่อเรื่อง technical debt”
มองจากข้างนอกแล้วอ่านเหมือนเป็น คอรัสแห่งความย้อนแย้ง
[1] https://fly.io/docs/hiring/working/#we-re-ruthless-about-doi...
Fly.io ดูเป็นบริการที่ค่อนข้างมี สองด้าน
https://news.ycombinator.com/item?id=41917436
https://news.ycombinator.com/item?id=35044516
https://news.ycombinator.com/item?id=34742946
https://news.ycombinator.com/item?id=34229751
ผมมองว่าถ้าแพลตฟอร์มคลาวด์ให้ความน่าเชื่อถือได้ไม่ดีพอ ก็ไม่คุ้มค่าเท่าไร อาจจะดีกว่าถ้าเช่าเซิร์ฟเวอร์เสมือนแล้วประหยัด ภาษีคลาวด์ ไป
แต่ราคานี้เป็นสำหรับอินสแตนซ์ RAM 256MB (https://fly.io/docs/about/pricing/) ถึงอย่างนั้นก็ยังพอรันโปรเจกต์ที่มีความหมายบนเครื่องนั้นได้ เว็บเซิร์ฟเวอร์ที่ใช้ Rust อย่าง Rocket ต้องการ RAM แค่ราว 10MB และจากที่ลองค้นดู เซิร์ฟเวอร์ PHP พื้นฐานก็น่าจะใส่ได้
ไม่ใช่แค่ปัญหาการ deploy แต่แทบทุกวันจะมีอะไรสักอย่างที่ใช้งานไม่ได้แบบสุ่มหรือหน่วง
การขึ้นราคา และการที่หัวหน้าเห็นปัญหาหลายครั้งในโปรเจกต์ที่ผมเอาขึ้น Fly ทำให้ผมจำเป็นต้องย้ายออกไปเมื่อไม่กี่เดือนก่อน
แถมยังเลิกและถอดบริการสำรองข้อมูล sqlite ออกไปด้วย ตอนนี้กลับไปใช้ GCP แล้ว ไม่ต้องกังวลกับปัญหาล่มสารพัด
มีบริการของบริษัทใหญ่จำนวนมากที่รันใน AWS region เดียวแต่มีผู้ใช้หลายล้านคนทั่วโลก มันให้ความรู้สึกเหมือนเป็นอะไรที่เปิดทางให้ทำ premature optimization ตั้งแต่ค่าเริ่มต้น
ถ้าจะ optimize โดยมีเป้าหมายเพื่อ เพิ่มความน่าเชื่อถือให้สูงสุด นั่นก็เป็นทางเลือกที่สมเหตุสมผลอย่างยิ่งเช่นกัน ผมจะไม่บอกว่าในปี 2024 เราดีกว่า UE1
เผื่อเป็นข้อมูลอ้างอิง มีหลายอย่างที่อาจผิดพลาดและก็ผิดพลาดจริง แต่รูปแบบปัญหาที่คุณน่าจะเห็นบ่อยที่สุดที่นี่คือช่วงเวลาที่ deploy ไม่ได้ เหตุการณ์ครั้งนี้เป็นปัญหา deploy/orchestration เมื่อไม่กี่เดือนก่อนเราเหยียบกับดัก concurrency ใน Rust จนเกิดปัญหา routing คำขอทั้งหมด แต่เรื่องแบบนั้นเกิดขึ้นน้อยมาก
ปัญหา deploy และอัปเดตสถานะก็เป็นเรื่องใหญ่ และถ้าคุณ deploy ต่อเนื่องไปยังกลุ่ม Fly Machines หลายกลุ่มตามที่เราแนะนำ ก็อาจกระทบ availability ได้ เพราะเป็นหนึ่งในฟีเจอร์หลักของแพลตฟอร์ม ผมไม่ได้พยายามพูดให้ดูเล็กลง
จริง ๆ แล้วถ้ารัน Firecracker บนเซิร์ฟเวอร์ bare metal ของตัวเอง ก็ทำสิ่งที่ fly.io ทำได้แทบเหมือนกันในราคาถูกกว่า
ภาพจำของสาธารณะต่อ fly.io ดูเหมือนจะมัวหมองจนยากจะกู้คืนแล้ว ตอนนี้นับไม่ไหวแล้วว่าขอโทษไปกี่ครั้ง
แม้หัวข้อบทความจะว่าอย่างนั้น แต่ Fly.io API ยังเข้าถึงไม่ได้อยู่ หมายความว่าผู้ใช้ยังเข้าถึงการ deploy, database ฯลฯ ไม่ได้
ดูอัปเดตที่ถูกต้องได้ที่ https://community.fly.io/t/fly-io-site-is-currently-inaccess...
จากประสบการณ์ส่วนตัวที่เคยใช้ทั้ง Fly.io และ Railway.com Railway ชนะขาด ฝ่าย support ของ Railway ก็ดีมากเมื่อเทียบกัน
Fly.io ยังไม่เคยตอบคำถามเรื่องการลบข้อมูลที่ส่งไปทางอีเมล support เลยจนถึงตอนนี้
แอปบน Railway ออนไลน์มาตลอดโดยไม่มี downtime ใหญ่ ๆ ใครที่กำลังมองหาทางเลือกที่ดี แนะนำให้ลอง Railway
ไอเดียดีก็จริง แต่ในทางปฏิบัติไม่อยากใช้กับงานจริงจัง
ผมเข้าใจว่าผู้ใช้ปลายทางต้องการความน่าเชื่อถือ และก็รู้ว่า Fly ลงทุนกับเรื่องนี้ค่อนข้างมากในช่วง 2 ปีที่ผ่านมาแต่ชื่อเสียงก็ยังไม่ดี อย่างไรก็ตาม ปัญหาลักษณะนี้ไม่ใช่เรื่องที่มีเฉพาะผู้ให้บริการรายหนึ่งแต่ไม่มีในอีกราย การ สร้าง cloud infrastructure ไม่ใช่เรื่องง่ายสำหรับใครทั้งนั้น
เท่าที่ผมเห็นด้วยตัวเอง นี่น่าจะเป็นปัญหาล่มใหญ่ครั้งที่ 5 หรือ 6 ของ Fly.io แล้ว ยังมีปัญหาอื่นอีกมาก และบางอันผมอาจพลาดไม่ได้เห็น
ผมแนะนำบริการนี้ให้เพื่อน แล้วภายในสองวันเขาเจอปัญหาล่มสองครั้ง
Fly.io จำเป็นต้องตั้งสติจริง ๆ ทำไมยังทำไม่ได้จนถึงตอนนี้ก็ยังเป็นปริศนา ผลิตภัณฑ์ดี แต่ถ้าเป็นบริการโฮสติ้ง เสถียรภาพ ต้องเป็นสิ่งสำคัญอันดับหนึ่งแบบไม่มีข้อโต้แย้ง ที่เหลือทั้งหมดเป็นเรื่องรอง
เคล็ดลับดูเหมือนจะเป็นการกลายเป็นเจ้าตลาดเดิมที่ไม่มีตัวแทนเหมาะ ๆ แบบนั้นต่อให้ความน่าเชื่อถือเละเทะ ทุกคนก็จะปล่อยผ่านความล้มเหลวในการดำเนินงานไปแบบคร่าว ๆ
น่าสงสัยว่า Turso ก็เริ่มมีปัญหาแทบจะในเวลาเดียวกัน CEO ยืนยันใน Discord ว่าเป็น เพราะเหตุขัดข้องของ Fly
ดูเหมือนว่าในอนาคต Turso จะมี AWS tier ให้บริการ
ไม่น่าแปลกใจ ประมาณ 1 ปีก่อนผมดู fly.io เพราะราคาถูก และสงสัยว่าเขาลดต้นทุนตรงไหนถึงทำเงินได้ สุดท้ายก็เจอคำตอบในเอกสารเทคนิค ซึ่งเขียนไว้ชัดเจนว่า อินสแตนซ์ของ fly ถูกตรึงอยู่กับเซิร์ฟเวอร์จริงเครื่องเดียว และถ้าเซิร์ฟเวอร์นั้นตายก็ไม่สามารถทำ failover ได้ ไม่แน่ใจว่าส่วนนั้นยังอยู่ในเอกสารทางการหรือไม่
ในทางปฏิบัตินั่นหมายความว่า ถ้าเซิร์ฟเวอร์ล่ม ก็ต้องโหลด snapshot ล่าสุดของอินสแตนซ์นั้นจากแบ็กอัปขึ้นไปบนเซิร์ฟเวอร์ใหม่ อัปเดตเส้นทางเครือข่าย แล้วภาวนาว่าจะไม่มีเซิร์ฟเวอร์ล่มมากกว่ากำลังสำรองที่มี มิฉะนั้นก็ต้องรอการกู้คืนจนกว่าดาต้าเซ็นเตอร์จะเสียบเซิร์ฟเวอร์เพิ่มอีกสองสามเครื่องเข้ารैक
นั่นจึงอธิบายได้ค่อนข้างดีว่าทำไมรายงานเหตุขัดข้องจึงดูสุ่ม ๆ บางแอปล่ม บางแอปปกติ บางแอปกลับมาใน 5 นาที แต่อีกบางแอปใช้เวลานาน
ถ้าเป็นธุรกิจที่งบจำกัด ผมคิดว่าตัวเลือกอื่นอย่างคลัสเตอร์ civo ขนาดเล็กอาจดีกว่า
ส่วนที่ว่า “อินสแตนซ์ของ fly ถูกตรึงอยู่กับเซิร์ฟเวอร์จริงเครื่องเดียวและทำ failover ไม่ได้” ผมไม่ค่อยเข้าใจว่าถ้าไม่ใช่แบบนั้นแล้วควรเป็นอย่างไร รู้ว่ามี live migration แต่ถึงอย่างนั้น VM ก็ยังต้อง “ตรึง” อยู่กับเซิร์ฟเวอร์จริงสักเครื่องอยู่ดีไม่ใช่หรือ?
แถมมันก็ไม่ฟรีด้วย เช่น ใน GCP ตอนที่ VM ถูก migrate จะมีประสิทธิภาพตกชั่วคราวจนรู้สึกได้
ถ้า proxy layer ล้มเหลว Fly ทั้งหมดก็ยังล่มได้อยู่ แต่กรณีแบบนั้นพบได้น้อยกว่ามาก
รูปแบบที่เห็นซ้ำ ๆ คือเหตุขัดข้องมักเกิดขึ้นในสัปดาห์ที่มีวันหยุดสำคัญของสหรัฐฯ
MS 365/Teams/Exchange ก็มีปัญหาช่วงสั้น ๆ ตอนเช้า, Fly.io ล่มเต็มรูปแบบ และหลังจากนั้นเว็บไซต์กับบริการหลายแห่งก็สั่นคลอนตามไปด้วย
ปกติผมไม่เห็นด้วยกับ “change freeze” แต่คิดว่ารอบ ๆ วันหยุดสำคัญ change freeze มีเหตุผล มันทำให้ทุกทีมมีเวลาชาร์จพลัง หยุดพัก และซ่อมบำรุงได้
ไม่ควรโยนแรงกดดันหนักเกินไปให้ทีม B ที่บังเอิญเข้าเวรอยู่
ช่วงวันหยุดอาจพยายามลดการเปลี่ยนแปลงพวกนั้นได้ แต่ถ้าต้องต่ออายุ certificate ล่ะ? ถ้าต้องลงแพตช์ความปลอดภัยสำคัญล่ะ? ถ้าต้อง provision ชุดเซิร์ฟเวอร์ใหม่ล่ะ? ถ้าพื้นที่ฮาร์ดดิสก์ใกล้หมดล่ะ?
ไม่ว่าช่วงไหนของปี ปัญหาหนัก ๆ ด้าน operation ก็หลีกเลี่ยงด้วยการวางแผนอย่างเดียวไม่ได้
แล้วสุดท้ายก็มีแคมเปญการตลาด/ผลิตภัณฑ์พิเศษเกิดขึ้น ตรรกะราคาพิเศษต้องใช้โค้ดใหม่และ UI widget ใหม่ ทราฟฟิกกับโหลดพุ่งขึ้นมาก และทั้งที่อยู่ในช่วง freeze ก็ต้องปล่อยเดี๋ยวนั้น เพราะเกี่ยวกับรายได้ จึงสำคัญสำหรับผู้บริหาร
ทีมวิศวกรรมและทีมโครงสร้างพื้นฐานส่วนใหญ่ไม่รู้เรื่องนี้ เพราะทีมผลิตภัณฑ์เร่งกันจนวินาทีสุดท้ายและทำค่อนข้างเป็นความลับ สุดท้ายเลย freeze การแก้ไขเล็ก ๆ คุณภาพดีได้ แต่ freeze ฟีเจอร์ใหม่ที่ไม่เสถียรให้ถูกต้องไม่ได้
เป็นเรื่องยาก และถึงอย่างนั้นก็แนะนำให้ลืมเรื่อง freeze ไป แล้วดำเนินงานอย่างสมเหตุสมผล ไม่หักโหม ทั้งก่อน ระหว่าง และหลังช่วงนั้น
การเปลี่ยนแปลงที่ “ไม่จำเป็น” อาจถูกกันไว้ได้ แต่เส้นแบ่งนั้นจะกลายเป็นพื้นที่สีเทาอย่างรวดเร็วมาก
ในเหตุขัดข้องต่อเนื่องช่วงต้นปี 2023 ก็มี ความเจ็บปวดเกี่ยวกับ Corrosion ด้วย: https://community.fly.io/t/reliability-its-not-great/11253
ผมไม่ได้รู้ข้อจำกัดดีมากนัก แต่ ScyllaDB รองรับ eventual consistency และโดยรวมก็ค่อนข้างยืดหยุ่น สำหรับ multi-leader replication ก็มี CouchDB เป็นตัวเลือกด้วย