งานที่ผัดไว้เพราะกลัวว่าแตะแล้วจะพัง
อัปเกรดความปลอดภัยของเฟรมเวิร์ก
อัปเกรดเฟรมเวิร์กเวอร์ชันเก่าให้ขึ้นมา เพื่อให้รับแพตช์ความปลอดภัยได้อีกครั้ง
เวอร์ชันที่ตกค้างยิ่งทิ้งไว้ยิ่งอัปเกรดยาก อัปเกรดตอนนี้คือตอนที่ค่าใช้จ่ายน้อยที่สุด
เมื่อคำเตือนช่องโหว่ขึ้นไม่หยุด แต่พอจะแตะก็รู้สึกว่าจะพัง
พอเฟรมเวิร์กที่ใช้อยู่มีแพตช์ความปลอดภัยออกมา ก็ต้องอัปเกรดเวอร์ชันตาม แต่ถ้าตกค้างมาหลายขั้น พอลงมืออัปเกรดก็พังไปทั่ว เลยผัดไว้ก่อน และยิ่งผัด ครั้งหน้าก็ยิ่งอัปเกรดยากขึ้น ระหว่างนั้นช่องโหว่ก็ยังเปิดค้างอยู่อย่างนั้น
เราทำอะไรบ้าง
-
เริ่มจากเช็กว่าตกค้างไปแค่ไหน
เราดูก่อนว่าเฟรมเวิร์กและแพ็กเกจที่พึ่งพาอยู่ตอนนี้เป็นเวอร์ชันอะไร ติดช่องโหว่ตัวไหนอยู่ และเหลืออีกกี่ขั้นกว่าจะถึงเวอร์ชันล่าสุด
-
ไม่กระโดดทีเดียว แต่ขึ้นทีละขั้น
เราไม่กระโดดไปเวอร์ชันล่าสุดในครั้งเดียว แต่ขึ้นทีละขั้น เพื่อให้เห็นทันทีว่าขั้นไหนทำอะไรพัง
-
แก้จุดที่พัง
API ที่หายไป พฤติกรรมเริ่มต้นที่เปลี่ยนไป และการตั้งค่าบิลด์ที่ต่างจากเดิม เราแก้ให้เข้ากับเวอร์ชันใหม่
-
ตรวจว่าอัปเกรดแล้วยังใช้งานได้
เรากดดูหน้าจอและฟีเจอร์หลักด้วยตัวเองว่ายังทำงานถูกต้อง แล้วดีพลอยให้จบ ไม่ใช่อัปเกรดเวอร์ชันทิ้งไว้แล้วจบแค่นั้น
บันทึกการอัปเกรด
เราสรุปให้ว่าอัปเกรดจากเวอร์ชันไหนไปเวอร์ชันไหน อะไรพังบ้าง และแก้ด้วยวิธีใด ครั้งหน้าที่ต้องอัปเกรดอีก เริ่มจากอ่านบันทึกนี้ก่อนได้เลย
เริ่มต้นแบบนี้
-
ดูรีโพซิทอรีและเวอร์ชันที่ใช้อยู่
ให้สิทธิ์อ่านมา เราจะเรียบเรียงให้ว่าตอนนี้ใช้เวอร์ชันอะไร และมีอะไรที่ติดอยู่บ้าง
-
ตกลงขอบเขตและระยะเวลา
เราตกลงกันก่อนว่าจะอัปเกรดถึงเวอร์ชันไหนและใช้เวลาเท่าไร ยังไม่มีค่าใช้จ่ายจนกว่าจะตกลงกัน
-
อัปเกรดทีละขั้น
ขึ้นทีละขั้น แล้วแก้จุดที่พังไปทันทีที่เจอ
-
ตรวจและส่งมอบ
ตรวจว่ายังใช้งานได้จริง แล้วส่งมอบพร้อมบันทึกว่าทำอะไรไปบ้าง
เหมาะกับที่แบบนี้
- บริการที่เฟรมเวิร์กซึ่งใช้กันแพร่หลายอย่าง Next.js, React หรือ Spring ค้างอยู่ที่เวอร์ชันเมื่อหลายปีก่อน
- ทีมที่คำเตือนช่องโหว่ขึ้นไม่หยุด แต่ผัดไว้เพราะกลัวแตะแล้วพัง
- โค้ดที่คนสร้างลาออกไปแล้ว จนไม่มีใครอัปเกรดเวอร์ชันได้
คำถามที่พบบ่อย
- อัปเกรดถึงเวอร์ชันล่าสุดในครั้งเดียวไหม?
- ขึ้นอยู่กับว่าตกค้างมามากแค่ไหน ถ้าเหลือหลายขั้น เราจะขึ้นทีละขั้น เพราะถ้ากระโดดในครั้งเดียว จะหาว่าอะไรทำให้พังได้ยากกว่ามาก
- อัปเกรดแล้วหน้าจอจะเปลี่ยนไหม?
- มีบางกรณีที่เฟรมเวิร์กเปลี่ยนพฤติกรรมเริ่มต้นหรือหน้าตาไปเอง ถ้ามีการเปลี่ยนแบบนั้น เราแจ้งให้ทราบล่วงหน้า พร้อมเรียบเรียงวิธีคงของเดิมไว้ให้ด้วย
- รับเฟรมเวิร์กแบบไหนบ้าง?
- เรารับเฟรมเวิร์กที่ใช้กันแพร่หลายทั้งบนเว็บและฝั่งเซิร์ฟเวอร์เกือบทั้งหมด บอกมาว่าใช้ตัวไหนอยู่ เราจะเช็กให้ก่อนว่าทำได้ไหม
เริ่มจากดูก่อนว่าตอนนี้ค้างอยู่ที่เวอร์ชันไหน
แค่ให้สิทธิ์อ่านรีโพซิทอรี เราจะเรียบเรียงเวอร์ชันปัจจุบันและรายการที่ติดอยู่ให้