มาช้าดีกว่าไม่มา สำหรับ Technology Radar Vol. 19 ซึ่งจะทำการ update ปีละ 2 ครั้ง
ที่บอกว่าช้าคือ ผมนี่แหละ ที่ทำการสรุปช้าหน่อย
โดยในครั้งนี้จะมีเรื่องสำคัญ ๆ 4 เรื่องคือ

  1. Sticky cloud
  2. Lingering Enterprise Antipatterns
  3. Enduring Engineering Practices
  4. Pace = Distance / Time

มาดูรายละเอียดกัน

1. Sticky cloud

การผูกติดกับ Cloud provider ต่าง ๆ ไม่ว่าจะเป็น AWS, GCP และ Azure
เมื่อเราใช้ไปเรื่อย ๆ จะพบว่ายิ่งผูกมัดมาก ๆ
บ่อยครั้งจะกลับไปสู่จุดเดิมที่เคยเป็นคือ ย้ายไปไหนไม่ได้
แต่ถ้าเราได้ข้อเสนอจาก Cloud provider อื่น ๆ ที่น่าสนใจ เช่น ดีกว่าและถูกกว่า
เราจะทำอย่างไร ?

ดังนั้นในรายงานครั้งนี้จะเน้นเรื่องของการ portability ของระบบ
เพื่อให้ระบบงานของเราย้ายไปยังที่อื่นได้ง่ายขึ้น
เช่น

โดยในรายงานชุดนี้แนะนำเครื่องมือในการจัดการระบบงานบน cloud 2 ตัวคือ Terragrunt และ Pulumi

2. Lingering Enterprise Antipatterns

ในองกรค์ขนาดใหญ่ที่เรามักเรียกว่า Enterprise นั้น
ไม่ว่า technology จะเปลี่ยนแปลงไปอย่างไร หรือเร็วเพียงใด
ก็มักจะสร้าง antipattern ขึ้นมาอย่างสม่ำเสมอ
หรือจริง ๆ แล้ว มันคือการพยายามต่อต้านกับการเปลี่ยนแปลงนั้นเอง
แต่ว่าจะไม่ทำก็ไม่ได้ ก็เลยต้องใช้ของใหม่ ๆ แต่ก็ยังคิดแแบบเดิม ๆ
งงไหมละ ?

ยกตัวอย่างของ Enterprise Antipatterns ที่เกิดขึ้น
ซึ่งไม่แนะนำให้ทำ แต่ละเรื่องมันออกแนว Centralize และพวก Drag & Drop ทั้งนั้นเลย

อย่าลืมว่า
เราทำการออกแบบระบบใหม่ เพื่อแก้ไขปัญหาเดิมที่เกิดขึ้น
ดังนั้นจำเป็นต้องเลือกเครื่องมือและวิธีการที่เหมาะสมกับปัญหา
รวมทั้งต้องระวังกับการนำแนวคิดเดิม ๆ ที่สร้างปัญหามาใช้ในการแก้ปัญหาด้วยละ
เพราะว่า ผลสุดท้ายก็จะได้ปัญหาแบบเดิม ๆ ในร่างใหม่ ๆ มาอีก !!

3. Enduring Engineering Practices

เมื่อเทคโนโลยีมีอัตราการเปลี่ยนแปลงที่สูงขึ้น
ดังนั้นองค์กรก็ต้องมีคนที่มีความสามารถ
ตลอดจนต้องมี engineering practice ที่ดี
เพื่อช่วยทำให้สามารถนำเทคโนโลยีใหม่ ๆ เข้ามาใช้งานได้อย่างถูกต้องและเกิดประโยชน์สูงสุด
ยกตัวอย่างเช่น พวก container, reactive frontend และ machine learning เป็นต้น

แต่ถ้าองค์กรยังไม่แน่ใจในเทคโนโลยีใหม่ ๆ
ก็จำเป็นต้องทำให้แน่ใจ เข้าใจมันก่อน ว่าจะใช้ได้หรือไม่
นั่นคือการทำ research นั่นเอง

โดยองค์กรต่าง ๆ จำเป็นต้องลงมือในสองรูปแบบนี้อย่างต่อเนื่อง
เพื่อทำการต่อยอดและปรับปรุงอยู่ตลอดเวลา
การเรียนรู้ ไม่ใช่การนำมาใช้งาน
แต่มันคือการทำความเข้าใจ รู้จักข้อดีข้อเสีย ประโยชน์ของมัน
เมื่อเราเจอปัญหาจะได้เลือกนำมาใช้แก้ไขอย่างเหมาะสมและทันท่วงที

4. Pace = Distance / Time

การพัฒนา software นั้นมีการเปลี่ยนแปลงอยู่ตลอดเวลา
โดยที่เวลานั้นน่าจะเป็นค่าคงที่ไปแล้ว
เพราะว่าจากการรายงานเรื่องของ technology จะคงที่ ไม่เปลี่ยนแปลงมากนัก
แต่ในส่วนของ Distance ของการสร้าง เรียนรู้ศึกษา ใช้งาน technology ต่าง ๆ กลับเพิ่มมากขึ้น
นั่นหมายความว่า ความเร็วในการเปลี่ยนแปลงของ technology มันสู’ขึ้นอย่างต่อเนื่อง
ส่งผลทำให้การเลือกมาใช้งานต้องทำอย่างระมัดระวังและรอบคอบ

ลองไปดูบางอย่างที่น่าสนใจในแต่ละกลุ่มกันหน่อย

  • Techniques ที่น่าสนใจคือ Event Storming เป็นเทคนิคหนึ่งสำหรับการทำ domain modeling สำหรับ Microservices นั่นเอง
  • Tools ที่น่าสนใจคือ UI dev environments ที่มาพร้อมกับคำว่า DesignOps ช่วยทำให้ UX/UI/Designer/Developer ทำงานร่วมกันได้ดีมากยิ่งขึ้น โดยเครื่องมือที่ใช้งานก็เช่น Storybook, React-styguidist, Compositor และ MDX เป็นต้น
  • Languages and Frameworks ที่น่าสนใจคือ MMKV เป็น Key-value stage สำหรับ Mobile app ที่สร้างจาก WeChat

สามารถอ่านเอกสารเผยแพร่ภาษาไทยได้ เป็นเอกสารสั้น ๆ นะ
หรือถ้าต้องการแบบเต็ม ๆ ก็ [PDF] Technology Radar Vol. 19 เลยครับ