Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

ความเข้าใจผิดเกี่ยวกับ Continuous Integration และ Continuous Delivery

$
0
0

roee2

wrong เมื่อมีการพูดถึงคำว่า Continuous Integration (CI) และ Continuous Delivery (CD) แล้ว คนส่วนใหญ่มักจะคิดถึง หรือ พูดถึงเครื่องมือต่าง ๆ ก่อน ไม่ว่าจะเป็น Jenkins บ้างล่ะ ไม่ว่าจะเป็น Bamboo บ้างล่ะ ไม่ว่าจะเป็น Travis CI บ้างล่ะ ไม่ว่าจะเป็น Circle CI บ้างล่ะ ไม่ว่าจะเป็น Docker บ้างล่ะ ไม่ว่าจะเป็น Ansible บ้างล่ะ ซึ่งเครื่องมือเหล่านี้มันเป็นเพียงตัวช่วยทำให้ความต้องการเราสำเร็จเท่านั้น แต่ก่อนอื่นต้องเข้าใจตัวเองก่อนว่า
  • ปัญหาคืออะไร ?
  • แต่ละคน แต่ละทีมต้องการอะไร ?
  • ขั้นตอนการทำงานเป็นอย่างไร ?
  • คนพร้อมไหม ?
  • องค์กรพร้อมไหม ?

บ่อยครั้งในการพูดคุยเรื่อง CI และ CD

เรามักจะเอาเครื่องมือเป็นตัวตั้งต้น จากนั้นทำการสร้างและปรับเปลี่ยนขั้นตอนการทำงานตามเครื่องมือเหล่านั้น !! ซึ่งบอกได้เลยว่า มันเป็นสิ่งที่เสียเวลามาก ๆ ทั้งแรง และ ค่าใช้จ่ายต่าง ๆ
มีคำถามอีกว่า เครื่องมือมันไม่สำคัญหรือไง ? ตอบได้เลยว่า มันสำคัญนะ แต่ไม่ใช่สิ่งที่สำคัญที่สุด
ในการเริ่มต้นต้องกลับไปมองที่คน และ โครงสร้างของทีมก่อนว่าเป็นอย่างไร ? มีปัญหาอะไรบ้าง ? ต้องการแก้ไข และ ปรับปรุงอะไรบ้าง ? ลองคิดดูว่า ถ้าแต่ละทีม แต่ละแผนกในองค์กรต่างคิดต่างทำเฉพาะของตัวเองขึ้นมา แน่นอนว่า ขั้นตอนการทำงานก็ต่างกัน และเครื่องมือก็ต่างกันอีก มันก็จะมีระบบที่หลากหลาย จะทำงานด้วยกันได้ไหมนะ ? ไม่น่าจะ หรือ ยากมาก ๆ
หนักไปกว่านั้นต่างฝ่ายก็ตั้งแง่ตั้งโล่ห์ใส่กัน กลายเป็นการทำงานแบบ Silo หรือของใครของมันหนักกว่าเดิมอีก !! แทนที่จะช่วยแก้ไขปัญหา กลับมาสร้างปัญหา

ดังนั้นสิ่งที่ต้องรู้ และ เข้าใจก่อนคือ

Continuous Integration Process Continuous Delivery Process จะเห็นว่าคำว่า process หรือ ขั้นตอนการทำงาน มันจะตามหลัง CI และ CD นะ เพื่อทำให้คุณ คุณ คุณ ทำความเข้าใจกับขั้นตอนการทำงาน และความต้องการของฝ่ายต่าง ๆ ในองค์กร เพื่อให้ได้ขั้นตอนการทำงานที่เหมาะสม ที่ช่วยลดปัญหาต่าง ๆ ลงไป ที่ช่วยลดความเจ็บปวดต่าง ๆ ลงไป จากนั้นจึงเริ่มมองหาวิธี และ เครื่องมือมาใช้งานต่อไป

ในองค์กรใหญ่ ๆ นั้น แน่นอนว่าต้องมีคนประสานงาน

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

สุดท้ายขอสรุปแนวทางที่ดีสำหรับการเริ่ม CI และ CD ไว้ดังนี้

  1. ให้เริ่มที่คนและขั้นตอนการทำงาน ก่อนเครื่องมือเสมอ
  2. ให้เข้าใจปัญหา และ ความต้องการของแต่ละทีมก่อนเสมอ
  3. สร้างขั้นตอนการทำงานเดียวเท่านั้น โดยรวมเอาความต้องการต่าง ๆ ของแต่ละทีม (พร้อมที่จะเปลี่ยนแปลงเสมอเสมอ)
  4. จากนั้นจึงเริ่มนำเอาเครื่องมือมาใช้งาน
  5. ต้องมีคนที่คอยจัดการตั้งแต่ข้อ 1-4 เสมอ
ดังนั้นมาเริ่มสร้าง CI และ CD process ที่ช่วยแก้ปัญหากันดีกว่าสร้างปัญหานะครับ !! Reference Website https://dzone.com/articles/why-most-companies-are-getting-continuous-delivery http://sdtimes.com/software-testing-is-all-about-automation/ http://devjam.com/2015/05/08/from-ci-to-cd-misunderstandings-of-devops-and-continuous-delivery/

Viewing all articles
Browse latest Browse all 1997

Trending Articles