Reading time - 6 minutes

แนวโน้มเทคโนโลยี ปี 2017 จาก Thoughtworks

เทคโนโลยีเปลี่ยนแปลงทุกปีและตลอดเวลา เราลองมาดู แนวโน้มเทคโนโลยี ปี 2017 จาก Thoughtworks Technology Radar Vol.16 กันดีกว่าว่ามีอะไรใหม่ๆ ที่น่าใช้น่าลอง หรือเทคโนโลยีไหนที่ควรจะหยุดใช้ได้หรือพักการพัฒนาในรูปแบบนั้น

ใน Technology Radar จะแบ่ง แนวโน้มเทคโนโลยี เทคนิค หรือพวก ภาษา framework ไว้เป็น 4 ระดับคือ

  • Adopt – ควรนำมาใช้งานจริง
  • Trial –  น่านำมาทดลองหรือทำความเข้าใจการนำไปใช้งาน
  • Assess – ทำความเข้าใจและดูผลกระทบต่อองค์กร
  • Hold – นำมาใช้ด้วยความระมัดระวัง หรือพูดอีกมุมได้ว่า ระวังที่จะนำมาใช้

​อะไรที่ควรนำมาใช้หรือน่าที่จะลองใช้

  • Pipeline as a code – การที่เราใช้งาน  CI/CD อย่างเช่น Jenkins ผ่านทาง UI นั้นดูสะดวก แต่ถ้ามองในมุมของการ scale นั้นเราเองต้อง manual ค่อนข้างเยอะ อีกทั้งยัง  track change ไม่ได้ง่ายๆ การนำ Jenkinsfile หรือ  Job DSL มาใช้ช่วยในการทำ  versioining ทำได้ง่ายขึ้น
  • Prototyping with InVision and Sketch – การทำ interactive prototype ด้วยการเขียน code กับ  การ mock up data  นั้นดีแต่ว่า ใช้ effort ค่อนข้างสูง  ​​Invision กับ Sketch (มีแต่บน Mac) เป็นการรวมการใช้ tool  ที่ทำหน้าจอและการทำ flow interaction เข้าด้วยกัน ทำให้เราสามารถทดสอบการออกแบบได้รวดเร็วและยังประหยัด effort  ในการทำอีกด้วย ลองเข้าไปดูตัว tool ได้ที่ https://www.invisionapp.com/sketch-prototyping
  • HashiCorp Vault – ในส่วนการจัดการ CI/CD บางครั้งเราจำเป็นต้องจัดการ secret file หรือ access account หรือ ​API KEY สำหรับการ deploy system tool นี้ช่วยเพิ่มเรื่อง security เข้ามาใน pipeline  ของเราได้

แนวโน้มเทคโนโลยี ปี 2017

  • ภาษาและ framework – มีมาหลายตัวเลยที่ยังไม่เคยได้สัมผัส ที่น่าสนใจเช่น Python 3 ที่ align ไปกับการทำ machine learning, ReactiveX สำหรับการพัฒนาแอพแบบ  asynchronous and event-based ได้มีประสิทธิภาพมากขึ้น มีแยกตาม platform เช่น  RxJava, RxJs, หรือ  RxSwift อันนี้ก็น่าลอง
  • Spring Cloud – อันนี้เป็น project ที่มี  tool ให้เราไปสร้าง  Microservices ecosystem ได้ง่ายและเร็วขึ้น เหมาะมากสำหรับสาย คนที่คุ้นเคยกับ Java Spring ตัวอย่างเช่น การทำ  API Gateway  เพื่อจัดการ microservices หลังบ้านด้วย Zuul Api Gateway ซึ่งเป็น Netflix OSS Stack, การทำ Service Discovery ด้วย Eureka Server และ Client เพื่อการทำ  service routing  และ load balancing  แบบ dynamic
  • มีเรื่องของ Serverless Framework และ Serverless Architecture – ซึ่งก่อนหน้านี้น่าจะมี Amazon Lambda ที่จะได้ยินบ่อยๆ

​อะไรที่ควรระวังในการจะนำไปใช้

ในส่วนนี้ของเล่มนี้ ยังไม่มีอะไรเปลี่ยนไปไปมากมากนักเช่น

แนวโน้มเทคโนโลยี ปี 2017

  • การนำ AngularJS ไปใช้ในตอนนี้อาจจะไม่ใช่หรือแนะนำไปใช้  AngularJS 2 หรือ Vue.js
  • Anemic REST เป็นการสร้าง  ​REST service โดยอิงจาก stauc data model โดยตรงทำให้การเรียกใช้งานนั้นซับซ้อนสำหรับฝั่ง  client ซี่งทางที่ดีกว่าเป็นการทำ HATEOS ซึ่งอ้างอิงจาก Richardson Maturity Model

ส่วนตัวยังรู้จักไม่ถึงครึ่ง มีแค่เพียงบ้างส่วนเท่านั้นที่เคยสัมผัสมาบ้าง ยังไงตามไปอ่านกันเต็มๆที่ https://www.thoughtworks.com/radar