นั่งอ่านบทความเกี่ยวกับแนวโน้มของ DevOps ในปี 2019 แล้วน่าสนดี
ซึ่งในปี 2018 นั้น หลายองค์กรน่าจะประสบพบเจอหรือต้องเผชิญกับคำว่า DevOps
หนักว่านั้นน่าจะมาพร้อมกับคำว่า Microservice, Continuous Delivery และ Container
เป้าหมายเพื่อให้แต่ละส่วนงานที่ต้องทำงานร่วมกัน
ให้ทำงานร่วมกันได้อย่างดี ไร้รอยต่อ ทอเต็มผืน หลับเต็มตื่น !!!
ส่งผลดีต่อ business ขององค์กร

แน่นอนว่า
ต้องการการปรับเปลี่ยนแนวคิดจากต่างฝ่ายต่างทำ ให้เป็นทำตามเป้าหมายเดียวกัน
ต้องการเรื่องของ skill
ต้องการเรื่องของ process ที่เร็วและดีมีคุณภาพ
ต้องการเรื่องของเครื่องมือที่ช่วยให้คนและ process ดี
ถ้าไม่เป็นตามนี้ปัญหายังคงอยู่แน่นอน

มาดูกันว่าในปี 2019 เรื่องของ DevOps จะมีแนวโน้มอย่างไรบ้าง ?

DevSecOps

นำเรื่องของ security เข้ามาในขั้นตอนการทำงานตามแนวคิด DevOps ด้วย
ดังนั้นแทนที่จะทำการตรวจสอบเรื่องของ security ในช่วงท้ายของการพัฒนาระบบงาน
ก็ให้นำเรื่องของ security หรือ non-functional requirement ที่ชอบพูดถึงกัน
มาพูดคุยกันต้องแต่การคุย requirement, analysis, design, coding, และ deploy กันไปเลย
นั่นหมายความว่า
เราต้องนำเรื่องของ security เข้ามาคุยวางแผน ลงมือทำในทุก ๆ ขั้นตอน
เพื่อทำให้เรารู้ปัญหาได้รวดเร็ว เพื่อที่จะแก้ไขปัญหาได้ทันท่วงทีนั่นเอง

ทำให้ส่งผลต่อ
เรื่องของแนวคิดของคนทำงาน
เรื่องของ skill ของคนทำงาน
เรื่องของ process การทำงาน
อย่างแน่นอน

ที่สำคัญขั้นตอนและเครื่องมือเรื่อง security
น่าจะเริ่มมาทำงานแบบอัตโนมัติมากยิ่งขึ้น
ผลที่ตามมาคือ สามารถส่งระบบงานที่ดีและมีคุณภาพให้ลูกค้าหรือผู้ใช้งานได้บ่อยขึ้น

AI/Data with DevOps

เรื่องของ DevOps จำเป็นต้องนำข้อมูลต่าง ๆ มาใช้งาน
เพื่อทำการวิเคราะห์ ปัญหาหรือแนวโน้มต่าง ๆ ที่จะเกิดขึ้น
ดังนั้นเรื่องของ Data-Driven และ AI จึงจะเข้ามามีบทบาทอย่างมาก

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

รวมทั้งการนำ AI และ Data Science เข้ามาช่วยเหลือ
ก็น่าจะทำให้เห็นหรือเข้าใจข้อมูลเชิงลึกได้มากยิ่งขึ้น
รวมทั้งเข้าใจพฤติกรรม และ แก้ไขปัญหาได้รวดเร็ว
หรือรู้ปัญหาก่อนที่จะเกิดขึ้นได้อีกด้วย
อีกทั้งสามารถส่งมอบ feature ใหม่ ๆ ที่ตอบโจทย์ผู้ใช้งานมากขึ้นอีกด้วย

Working with Containeraization และ Microservice

คำว่า Agile หรือ Agility หรือความคล่องตัว รวดเร็วมาแล้ว
คำว่า Microservice มาแล้ว
คำว่า Container สำหรับการจัดการ Microservice มาแล้ว
ยิ่งทำให้ DevOps ยิ่งสำคัญว่า จะส่งมอบระบบงานที่มีคุณภาพและรวดเร็วได้อย่างไร
ตัวอย่างเช่น
การจัดการ container จำนวนมาก ๆ จะจัดการอย่างไร ?
เช่นต้องมีเครื่องมือพวก Docker และ Kubernetes มาช่วยจัดการหรือไม่ ?
ต้องเริ่มนำ Serverless หรือ Function-as-a-Service เข้ามาใช้งานหรือไม่ ?

Focus on Continuous Delivery (CD)

ยิ่งระบบมีความซับซ้อนสูงขึ้น
การทำงานแบบ manual นั้นเป็นสิ่งที่ยากลำบากมากขึ้น
ดังนั้นเรื่องของ Continuous Delivery จึงมีความสำคัญมาก ๆ
ทั้งเรื่องของ
Continuous Integration
Continuous Testing
Continuous Deployment/Delivery
Continuous Provisioning
Continuous Monitoring

ทั้งหมดนี้พยายามนำมาอยู่ใน build/deployment pipeline ของ Continuous Delivery นั่นเอง
เพื่อร้อยเรียงสิ่งต่าง ๆ ข้างต้นเข้าด้วยกัน
เพื่อทำงานแบบอัตโนมัติให้ได้มากที่สุด
จากนั้นคนเราก็จะได้ไปสนใจเรื่องของการพัฒนาเพื่อตอบโจทย์ business และลูกค้ามากยิ่งขึ้น

NoOps

สุดท้ายคือการย้ายจาก DevOps ไปสูง NoOps (No Uncomfortable Operation)
นั่นหมายความว่า ถ้าใครอยากได้อะไรก็ตาม
ก็ทำการร้องขอผ่านระบบ self-service
จากนั้นเมื่อทำการ approve เรียบร้อย ก็จะได้ระบบหรือสิ่งที่ต้องการเลย
ยกตัวอย่างเรื่องของ environment ต่าง ๆ เป็นต้น
ไม่ต้องมาเสียเวลารอกันไปมาอีกแล้ว
ระบบนี้จะเหมือนกับ Platform-as-a-Service (PaaS) นั่นเอง
แต่จำเป็นต้องการทั้งคนที่มี skill และเครื่องมือเพื่อสร้างระบบต่าง ๆ เหล่านี้ขึ้นมา

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