มาดูผลจาก 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)
- การใช้ 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