มาดูผลจาก Technology Radar Vol. 16 ของบริษัท Thoughtworks
มาดูว่ามีเทคโนโลยีและเครื่องมืออะไรที่น่าสนใจบ้างและแนวโน้มต่าง ๆ
ว่ามีอะไรที่ควรนำมาใช้
ว่ามีอะไรบ้างที่ควรลองมาใช้
ว่ามีอะไรบ้างที่ควรทำความเข้าใจก่อน
ว่ามีอะไรบ้างที่ควรเลิกใช้หรือใช้อย่างระมัดระวัง

มาดูกันเลยดีว่า

1. เรื่อง Techniques

เทคนิคที่แนะนำให้นำมาใช้งานได้เลยคือ Pipeline as code
ซึ่งช่วยทำให้ทีมสามารถสร้างระบบการทำงานแบบอัตโนมัติ
บนแต่ละ environment ได้ง่ายและสะดวกมากยิ่งขึ้น
ด้วยการเขียน code

ส่วนสิ่งที่แนะนำให้ลองมาใช้งาน ประกอบไปด้วย
API as a product และ Serverless architecture
ยังไม่พอนะ มีเทคนิคใหม่ ๆ เพิ่มเข้ามาอีกด้วยเช่น

  • การแยกข้อมูลที่เป็นความลับออกจาก source code
  • Legacy in a box นั่นหมายความว่า ถ้าสามารถสร้าง image ของ legacy system ได้ ก็น่าจะช่วยให้การพัฒนาดีและเร็วขึ้น
  • Progressive Web Application (PWA)

ปิดด้วยเทคนิคที่ไม่ควรใช้หรือใช้อย่างระมัดระวัง ประกอบไปด้วย  (Enterprise ล้วน ๆ) !!

  • การใช้ CI server เดียวกับทุก ๆ ระบบ
  • การทำ integration test บนระบบที่ใหญ่ ๆ (Enterprise) หรือ dependency สูง เพราะว่าเสียทั้งเวลา ค่าใช้จ่ายที่สูง แต่กลับได้ประโยชน์น้อยมาก ๆ ดังนั้นสิ่งที่ต้องทำแยกส่วนการทำงานเป็น component ย่อย ๆ จากนั้นทำเรื่อง Contract testing, แยก deploy แต่ละ component ได้ ลดเวลาในการ deploy และลดเวลาในการ recovery ระบบ
  • Spec-based code gen สิ่งที่เจอมาก ๆ คือ WSDL file นั่นเอง หรือ WebService !!! ทำให้การ maintain ลำบากมาก ๆ ลด ละ เลิกเสียนะ

2. เรื่อง Platforms

มีสิ่งที่น่าสนใจพอสมควร แต่จะอยู่ในกลุ่มที่แนะนำให้ลองนำมาใช้งาน เช่น

  • AWS Device Farm ใช้สำหรับการทดสอบ Mobile app บน device จำนวนมาก ๆ ซึ่งเป็นสิ่งที่จำเป็นมาก ๆ ในปัจจุบัน
  • OpenTracing เมื่อเข้าสู่ยุคของ microservice เรื่องของ monitoing/tracing พวก request การใช้งานต่าง ๆ จึงสำคัญมาก ๆ โดยที่ OpenTracing คือมาตรฐานกลางซึ่งพัฒนาโดย Uber, Apple, Yelp

ส่วนสิ่งที่น่าสนใจและยังต้องศึกษากัน ประกอบไปด้วย

  • api.ai
  • Hyperledger, Etherium
  • พวก VR มาเยอะเลยทั้ง OpenVR และ WebVR

สิ่งที่แนะนำให้ ลด ละ เลิก คือ การใช้ API gateway ที่มากหรือซับซ้อนเกินไป
เพราะว่ายากต่อการทดสอบและ deploy อย่างมาก

3. เรื่อง Tools

เรื่องของเครื่องมือมีสิ่งที่แนะนำให้นำมาใช้งานเลยคือ

  • Fastlane ขาดไม่ได้เลยสำหรับระบบ Continuous Delivery ของ Mobile app ถ้าใครไม่ใช้ถือว่าบาปมาก ๆ
  • Grafana ช่วยทำให้การสร้างระบบ dashboard สำหรับ monitoring ระบบง่ายและสะดวกขึ้นอย่างมาก

สิ่งที่แนะนำให้ลองนำมาใช้งานมีเพียบเลยประกอบไปด้วย

  • Cake and Fake  เป็น build tool สำหรับภาษา C# และ F# ซึ่งเขียนด้วย DSL ที่ง่าย ซึ่งปีที่ผ่านมาได้รับความนิยมสูงขึ้นอย่างมาก น่าลองมาก ๆ
  • Serverless framework  เป็นเครื่องมือช่วยให้การ deploy และทำงานกับ AWS Lambda ได้ง่ายขึ้น รวมทั้งยังสนับสนุน platform อื่น ๆ อีกด้วย
  • Scikit-learn ก็ยังอยู่ในกลุ่มนี้นะ

4. เรื่อง Languages and Frameworks

มาถึงเรื่องสุดท้ายคือภาษาโปรแกรมและ framework ต่าง ๆ
ในส่วนที่แนะนำให้นำไปใช้งานยังไม่มีอะไรใหม่
คือ Ember.js, Python 3, ReactiveX และ Redux

ส่วนภาษาและ framework ใหม่ ๆ ที่ยังต้องศึกษาต่อไปปนะกอบไปด้วย

  • Angular 2 ต้องเรียกว่า Angular นะ
  • Kotlin
  • สาย Deep learning เช่น Caffe, DeepLearning.scala และ Knet.jl
  • Spring cloud

ส่วน AngularJS ก็ ลด ละ เลิกเถอะนะ !!

อ่านเพิ่มเติมได้ที่ PDF