ADPT

สรุปหัวข้อบรรยาย Transform Your Organization into DevSecOps Culture: A New Era of Infrastructure รู้จักนิยามและวิธีการเริ่มต้นกับ DevSecOps อย่างง่ายๆ

ในงานสัมมนา AIS Business Digital Future 2021 – Your Trusted Digital Partner ที่ผ่านมา Session หนึ่งที่ถือว่าน่าสนใจมากๆ สำหรับคนสาย IT Infrastructure และ Software Development ก็คือการบรรยายเรื่อง DevSecOps โดยคุณจิรายุส นิ่มแสง จากทาง Opsta ที่จะมาเล่าให้เราเข้าใจถึงทั้งนิยาม แนวทาง และเทคโนโลยีที่เกี่ยวข้องในการทำ DevSecOps ให้ทุกท่านได้รู้จักกัน ซึ่งทาง TechTalkThai ก็ขอนำสรุปเรื่องราวนี้เอาไว้ดังนี้ครับ

DevSecOps คืออะไร?

ในมุมของ Opsta ที่ทำ DevSecOps มาเป็นเวลากว่า 5 ปีและมีประสบการณ์มาอย่างเข้มข้นทางด้านนี้ ได้เริ่มต้นจากการเล่าถึงเทรนด์ของ DevSecOps ว่าเป็นเทคโนโลยีที่เพิ่งเกิดใหม่ เริ่มเป็นที่รู้จักกันในช่วงราวๆ ปี 2017 ในขณะที่ DevOps นั้นเริ่มต้นเป็นที่รู้จักมาตั้งแต่ปี 2010 แล้ว เรียกได้ว่า DevSecOps ถือเป็นแนวโน้มที่กำลังเกิดขึ้นและจะกลายเป็น Mainstream ได้ในอนาคต

ก่อนจะทำความเข้าใจกับนิยามของ DevSecOps นั้น ต้องเริ่มต้นจากการทำความเข้าใจขั้นตอนในการพัฒนาผลิตภัณฑ์ทางด้าน IT ก่อน ซึ่งจะต้องประกอบไปด้วย 4 ส่วน ได้แก่

  • Discovery การค้นหาไอเดียผลิตภัณฑ์และออกแบบ โดยอาจใช้หลักของการทำ Design Thinking เข้ามาช่วย
  • Delivery การพัฒนา Software ขึ้นมา โดยอาจมีการใช้ Agile, Scrum, Kanban เข้ามาประยุกต์ใช้ในการบริหารจัดการ
  • Operation การนำ Software ที่มีอยู่ออกไปให้บริการสู่ตลาด โดยการทำ DevOps และ DevSecOps จะอยู่ในขั้นตอนนี้
  • Data การนำข้อมูลที่เกิดขึ้นในระบบมาจัดเก็บและใช้งาน โดยจะมี Data Lake และ Data Mesh เป็นเทคโนโลยีที่เกี่ยวข้อง

ในการพัฒนา Software ใดๆ นั้น โดยทั่วไปขั้นตอนการพัฒนาจะมีผู้ที่เกี่ยวข้องแบ่งออกเป็น 3 กลุ่ม ได้แก่

  1. Developer (Dev) หรือนักพัฒนาซอฟต์แวร์ จะทำหน้าที่ในการพัฒนาโปรแกรมขึ้นมา และส่งโค้ดไปให้ทีม Ops และ Sec เพื่อให้ Feedback กลับมา
  2. Operation (Ops) หรือผู้ดูแลระบบ จะทำหน้าที่ตรวจสอบและทดสอบโค้ดที่พัฒนา และนำขึ้นไปใช้งานบนระบบ Production จริง
  3. Security (Sec) หรือผู้ดูแลด้านความมั่นคงปลอดภัย จะทำหน้าที่ตรวจสอบและทดสอบโค้ดที่พัฒนาในแง่ของความมั่นคงปลอดภัย และจัดการให้ระบบจริงนั้นมีความมั่นคงปลอดภัย

ทั้งสามทีมนี้จะต้องทำงานร่วมกัน โดยบางบริษัทอาจมีการควบรวมบางตำแหน่งเข้าด้วยกันหรือแยกขาดจากกัน แล้วแต่กลยุทธ์ของแต่ละบริษัทที่แตกต่างกันออกไป

ด้วยเหตุนี้ DevSecOps จึงเป็นสิ่งที่จะทำให้ทั้งสามทีมทำงานร่วมกันได้ โดยทาง Opsta มองว่า DevSecOps นั้นเป็นวัฒนธรรมการทำงานรูปแบบใหม่ที่จำเป็น เพื่อให้ทั้งสามาทีมนี้สามารถทำงานร่วมกันได้ผ่านเทคโนโลยีและมาตรฐานกลางร่วมกันให้ได้อย่างรวดเร็ว และทำให้ผลิตภัณฑ์ทางด้าน IT ที่พัฒนาขึ้นมานี้สามารถถูกนำไปติดตั้งใช้งานให้บริการได้จริงอย่างต่อเนื่อง โดยที่ระบบยังมีทั้งความมั่นคงทนทาน และความมั่นคงปลอดภัยอย่างครบถ้วนในระดับที่สูงที่สุดอยู่ตลอดเวลา

เป้าหมายของการทำ DevSecOps ควรกำหนดเอาไว้อย่างไร?

Opsta นั้นมองว่าโดยทั่วไปแล้วในการทำ DevSecOps นั้นมักมีเป้าหมายที่ค่อนข้างตายตัวอยู่แล้วด้วยกัน 5 ประการ ดังนี้

  1. เพื่อให้กระบวนการการขึ้นระบบมีความมั่นคงมากยิ่งขึ้น และพร้อมที่จะ Rollback ได้หากจำเป็น
  2. เพื่อให้ทีมพัฒนาสามารถขึ้นระบบใหม่ๆ ได้อย่างต่อเนื่องหลายครั้งในแต่ละวัน เพื่อให้เกิดความคล่องตัวในการพัฒนาและแก้ไขปัญหา
  3. เพื่อให้ทีมพัฒนาสามารถทำการพัฒนาซอฟต์แวร์รุ่นใหม่ๆ ออกสู่ตลาดได้อย่างรวดเร็วยิ่งขึ้น เพิ่มขีดความสามารถในการแข่งขันให้กับธุรกิจ
  4. เพื่อให้ทีมสามารถแก้ไขปัญหาทีเ่กิดขึ้นบนธุรกิจได้อย่างรวดเร็วยิ่งขึ้น โดยส่งผลกระทบกับผู้ใช้งานน้อยที่สุด
  5. เพื่อให้ทีมสามารถทำการขยายระบบได้รวดเร็วยิ่งขึ้น รองรับการเติบโตของระบบที่อาจเกิดขึ้นอย่างไม่คาดฝันได้

ด้วยเหตุนี้ KPI ส่วนใหญ่ของการทำ DevSecOps จึงเป็นสิ่งที่เกี่ยวข้องกับเวลา ไม่ว่าจะเป็น Lead Time ในการพัฒนาระบบ, เวลาที่ใช้ในการแก้ไขโค้ดส่วนที่มีปัญหา, เวลาที่ล่มของระบบที่น้อยลง, ความถี่ในการส่งโค้ดชุดใหม่ขึ้นไปยังระบบ และเวลาที่ใช้ในการกู้คืนหรือย้อนระบบกลับมาให้สามารถทำงานได้ตามปกติ โดยหากอ้างอิงจากผลการสำรวจของ Google นั้นจะพบว่าการทำ DevSecOps สามารถช่วยให้การทำ Code Deployment ถี่มากขึ้นได้ถึง 208 เท่า, มี Lead Time ในการ Deploy ที่เร็วขึ้น 106 เท่า, ใช้เวลาในการแก้ไขปัญหาเร็วขึ้นถึง 2,604 เท่า และมีความผิดพลาดลดลงถึง 7 เท่า

ดังนั้นโดยทั่วไปแล้ว ธุรกิจจึงมักคาดหวังว่าหลังจากทำ DevSecOps แล้ว จะมี Time to Market ที่เร็วขึ้น, มีค่าใช้จ่ายในการแก้ไขปัญหาแลดูแลรักษาระบบที่น้อยลง รวมถึงได้รับความพึงพอใจจากลูกค้ามากยิ่งขึ้นจากการที่ระบบมีคุณภาพสูงยิ่งขึ้น

จะเริ่มต้นทำ DevSecOps ต้องทำอย่างไรบ้าง?

ธุรกิจจะต้องเริ่มทำการเปลี่ยนแปลง 3 ส่วนหลักๆ เพื่อให้ธุรกิจปรับนำ DevSecOps ไปใช้งานได้อย่างมีประสิทธิภาพ ได้แก่ People, Process และ Technology

  • People ให้ทีม Dev, Sec และ Ops เรียนรู้ Learning Path จาก https://roadmap.sh/devops โดยครอบคลุม 3 ประเด็น ได้แก่ การพัฒนาโปรแกรมด้วยภาษาที่เกี่ยวข้อง, System Engineering พื้นฐานของการวางระบบเพื่อรองรับ Application ในสถาปัตยกรรมต่างๆ, DevOps Technology เช่นการทำ Automation, Infrastructure-as-Code, CI/CD และอื่นๆ โดยอาจมี DevSecOps Specialist เข้ามาช่วยให้คำแนะนำในแต่ละขั้นตอน
  • Process ทำการศึกษากระบวนการพัฒนาที่ใช้อยู่ เพื่อค้นหาคอขวดและแก้ไขปัญหา โดยค่อยๆ ทำ Continuous Improvement ค่อยๆ ปรับปรุงกระบวนการและนำเทคโนโลยีใหม่ๆ เข้ามาเสริมเรื่อยๆ เพื่อให้แต่ละทีมได้ทำการเรียนรู้เปลี่ยนแปลงแบบค่อยเป็นค่อยไป และซึมซับวัฒนธรรมการทำงานรูปแบบใหม่ร่วมกัน
  • Technology เลือกใช้เทคโนโลยี Cloud-Native Technology ที่เหมาะสมกับโจทย์ที่องค์กรกำลังเผชิญ โดยสามารถอ้างอิงได้จาก https://landscape.cncf.io/ และสร้างขึ้นเป็น DevSecOps Architecture เฉพาะสำหรับองค์กรของเรา

อย่างไรก็ดี โจทย์ที่ยากนั้นก็คือเรื่องของเวลาที่อาจต้องใช้เวลาในการศึกษาเทคโนโลยีใหม่ค่อนข้างนาน, การที่เครื่องมือมีความหลากหลายมากจนยากที่จะเลือกสิ่งที่เหมาะสมได้ตั้งแต่แรก, การวาง Best Practice ในการทำงานที่ต้องอ้างอิงกับกระบวนการและเทคโนโลยีที่ใช้ ไปจนถึงเรื่องของ Security ที่จะต้องเข้าไปมีส่วนเกี่ยวข้องกับทุกกระบวนการในการพัฒนาซอฟต์แวร์ไปจนถึงการ Deploy ระบบจริง

รู้จักบริการ AIS DevSecOps Platform as a Service เริ่มต้นทำ DevSecOps ได้อย่างง่ายดายในธุรกิจองค์กร

จากความท้าทายที่ธุรกิจองค์กรต้องเผชิญในการเริ่มต้นใช้งาน DevSecOps ทาง Opsta จึงได้ร่วมกับ AIS และ CSL ในการพัฒนาบริการ AIS DevSecOps Platform as a Service ขึ้นมา เพื่อให้ธุรกิจองค์กรสามารถรับผิดชอบเฉพาะส่วนของ Dev ในการพัฒนาซอฟต์แวร์อย่างเดียว ในขณะที่ฝั่งของ Sec และ Ops นั้น ทาง AIS จะช่วยจัดการให้ทั้งหมด รวมถึงมีการเตรียมระบบ Automation, DevOps, Infrastructure, Operation และ Security ให้พร้อมใช้งานได้ทันที โดยมีจุดเด่นดังนี้

  • Auto DevSecOps ไม่ต้องมีการตั้งค่าระบบใดๆ พร้อมใช้งานได้ทันที องค์กรเพียงแค่พัฒนาโค้ดส่งเข้ามาในระบบเท่านั้น
  • Centralized User Management บริหารจัดการผู้ใช้งานที่เกี่ยวข้องในระบบทั้งหมดได้จากศูนย์กลาง โดยระบบใช้ User Credential ร่วมกันสำหรับทุกระบบ ทำให้ง่ายต่อการใช้งานจริง
  • Security Integration ผสานระบบ CI เข้ากับการทำ Static Application Security Testing (SAST), Software Composition Analysis (SCA) และ Container Image Securรty Scan ให้เลย เพื่อช่วยตรวจสอบค้นหาช่องโหว่ที่อาจเกิดขึ้นให้มากที่สุด และลดความเสี่ยงให้เหลือน้อยที่สุดโดยอัตโนมัติ
  • Ready for Day 2 Operation โดยการใช้ VMware Tanzu ในการบริหารจัดการและดูแลรักษาระบบในทุกๆ ส่วนได้จากศูนย์กลาง

ในการใช้งาน Developer สามารถ Login เข้ามายัง Portal ของระบบ และตรวจสอบการทำงานของแต่ละส่วนได้ผ่านหน้าจอ GUI ได้อย่างง่ายดาย ไม่ต้องเตรียมระบบใดๆ เองเลย ซึ่งเบื้องหลังของระบบนี้ก็ได้แก่การใช้ GitLab, Harbor, SonarQube, Trivy, Grafana, Prometheus, Open Distro และ VMware Tanzu ทำงานร่วมกัน โดยทาง Opsta ได้ทำการพัฒนาระบบ Automation และ Infrastructure-as-Code ขึ้นมาเองภายใต้ชื่อ Opstella เพื่อบริหารจัดการระบบในแบบอัตโนมัติ

ผู้ที่สนใจสามารถทดลองใช้งานบริการ AIS DevSecOps Platform as a Service ได้ที่ https://bit.ly/ais-devsecops-trial

สนใจใช้งานโซลูชัน DevSecOps ติดต่อทีมงาน AIS หรือ CSL ได้ทันที

ผู้ที่สนใจใช้งานโซลูชัน DevSecOps Platform as a Service สามารถดูรายละเอียดเพิ่มเติมได้ที่  https://business.ais.co.th/solution/devsecops-platform-as-aservice.html หรือติดต่อทีมงาน AIS หรือ CSL ได้ที่อีเมล businesscloud@ais.co.th


About nattakon

จบการศึกษา ปริญญาตรีและโท สาขาวิศวกรรมคอมพิวเตอร์ KMITL เคยทำงานด้าน Engineer/Presale ดูแลผลิตภัณฑ์ด้าน Network Security และ Public Cloud ในประเทศ ปัจจุบันเป็นนักเขียน Full-time ที่ TechTalkThai

Check Also

NSA และ CISA ออกคำแนะนำเรื่อง Kubernetes Security

NSA และ CISA ได้ร่วมกันออกเอกสารจำนวน 52 หน้า เพื่อให้คำแนะนำสำหรับการสร้างความมั่นคงปลอดภัยในการใช้งาน Kubernetes

Qualys จับมือ Red Hat เสริมความปลอดภัยบน CoreOS และ OpenShift

Qualys ผู้พัฒนาโซลูชัน Security และ Compliance บน Cloud ประกาศร่วมมือกับ Red Hat เสริมความปลอดภัยบน Red Hat Enterprise Linux …