เมื่อ Technology Radar Volume 21 จากบริษัท ThoughtWorks ออกมา
ก็มีทั้งเทคนิค เครื่องมือและเทคโนโลยีต่าง ๆ ที่น่าสนใจออกมา
ดังนั้นเรามาดูกันว่าในครั้งนี้ มีอะไรที่น่าสนใจบ้าง ?
แยกออกเป็นหัวข้อหลักได้ดังนี้

  • การใช้ function ต่าง ๆ จาก Cloud provider เยอะ ก็มีทั้งข้อดีและข้อเสีย จากครั้งที่ผ่านมาให้ระวังเรื่อง vendor lock-in
  • เรื่องของกระบวนการส่งมอบ software (CI/CD) ทำงานแบบอัตโนมัติ ดังนั้นเรื่องของการป้องกันกระบวนการนี้จึงมีความสำคัญ ทั้ง security, dependency management และปรับการทำงานที่สำคัญ ๆ ให้เป็นแบบอัตโนมัติ
  • ว่าด้วยเรื่องของ Machine Learning เราต้องเข้าใจการทำงาน ความเหมาะสมและข้อจำกัดต่าง ๆ 
  • Software development เหมือนกันทีมกีฬา โดยที่เรื่องของ 10x engineers นั้นขอให้เลิกใช้หรือใช้อย่างระมัดระวัง แต่ให้เน้นไปที่ 10x teams มากกว่า นั่นคือการทำงานแบบ Cross functional

มาดูในเรื่องของความปลอดภัยและการป้องกันกระบวนการทำงาน

พบว่าในส่วนของเทคนิคนั้นมีเพียบเลย
ยกตัวอย่างเช่น

  • Container security scanning ซึ่งทำงานอยู่ใน pipeline ของ CI/CD เลย
  • Run cost as architecture fitness function (เป็นคำมาจาก Evolutionary architecture) เป็นขั้นตอนที่ช่วยทำให้รรู้ว่า cost ที่ใช้ไปมันคุ้มค่าหรือไม่ เนื่องจากการเปลี่ยนแปลงมันเกิดขึ้นได้ตลอดเวลา
  • Dependency drift fitness function ทำการตรวจสอบและ tracking dependency ต่าง ๆ ที่ใช้งานกัน ว่าต้องทำการเปลี่ยนแปลงหรือไม่ ? เช่นมันเก่าแล้ว หรือ เป็นส่วนที่ส่งมอบล่าช้า หรือ มีปัญหาในการทำงาน ยกตัวอย่างเรื่องมือเช่น Dependabot เป็นต้น
  • Security policy as  code นั่นคือการกำหนดนโยบายเรื่องความปลอดภัยด้วย code เลย เหมือนกับ pipeline as a code และ infrastructure as a code ทำให้เราสามารถเก็บไว้ใน version control, ทำการตรวจสอบได้อย่างอัตโนมัติ เมื่อทำการ deploy หรือ monitoring เป็นต้น ยกตัวอย่างเช่น Open Policy Agent (OPA) และ Istio เป็นต้น
  • Sidecars for endpoint security ก็มาเช่นกัน ช่วยทำให้เราสามารถจัดการ component/service ได้ง่ายขึ้น

มาดูเครื่องมือที่น่าสนใจฝั่งการพัฒนาระบบงานบ้าง

มีหลายตัวแจ่มมาก ๆ เช่น

  • Commitizen ช่วยเรื่องของการ commit ด้วย git
  • Detekt คือ Static code analysis สำหรับภาษา Kotlin
  • KotlinTest เป็นเครื่องมือสำหรับทดสอบระบบที่พัฒนาด้วยภาษา Kotlin ซึ่งสามารถทำ properties-based testing ได้ด้วย
  • Jib สำหรับการสร้าง Docker image ของ Java application
  • React styleguidist ใช้สำหรับเป็น development environment ของการสร้าง react component นั่นเอง ใช้ง่ายดี มีประโยชน์มาก ๆ
  • Figma สายออกแบบไม่พลาดแน่นอน เพราะว่าออกแบบมาให้ทำงานร่วมกันได้ง่ายและสะดวกมากยิ่งขึ้น หลาย ๆ คนน่าจะย้ายมาใช้กันแล้ว ยิ่งสาย DesignOps ไม่น่าพลาด
  • Docker notary สำหรับการ signed Docker Image ที่สร้างด้วย private key และการ hash ทำให้เราสามารถตรวจสอบ Docker image ได้เลยว่ามันสิ่งที่เราสร้างขึ้นมาหรือไม่ ?
  • ส่วน Enzyme นั้น ที่ใช้ทดสอบระบบงานที่พัฒนาด้วย React แนะนำให้ไปใช้งาน React Testing Library แทนเลย  เนื่องจาก Enzyme ไม่ค่อยถูก maintain และ update แล้ว

ส่วนเรื่องอื่น ๆ ลองอื่นเพิ่มเติมในเอกสารตัวเต็ม ๆ ได้เลยครับ
มีอีกหลายเรื่องที่น่าสนใจ