DevOps CI/CD คืออะไร?

CICD Flow

เนื่องในโอกาส ที่มาเริ่มงานใหม่ ด้าน Banking Technology (FinTech) ได้ครบ 1 เดือน ในส่วนของ DevOps เลยจะมาเขียนเล่าว่า การทำงานของ DevOps มีอะไรบ้าง CI/CD คืออะไร? ทำไมสมัยนี้ ถึงเป็นคำที่นิยมใช้กัน ในสายงาน software developer ..

DevOps จริงๆ แล้วเป็นคำใหม่ ที่เอาคำว่า Developer กับ Operator มารวมกัน สมัยก่อน Developer เป็นคนพัฒนา code แต่ไม่มีสิทธิ deploy code ขึ้นใช้งานเอง ต้องมีทีม Operator มาทำการ deploy ให้อีกทีม ซึ่งทั้ง 2 ทีมนี้เป็นคนละทีมกัน ทำให้การทำงานยุ่งยาก เกิดความผิดพลาด และใช้เวลานาน ในการ deploy แต่ละครั้ง ..

CICD

CI/CD (Continuous Integration, Continuous Delivery) เป็นกระบวนการในการทำงาน ตั้งแต่การ Plan -> Code -> Build -> Test -> Release -> Deploy -> Operate -> Monitor หรือบางทีเรียกสั้นๆ ว่า Pipeline ซึ่งสมัยนี้ ก็มี tools ต่างๆ ที่ทำหน้าที่พวกนี้ เยอะมากทั้ง On-Premise และ On-Cloud ที่เรารู้จักกันดี ก็น่าจะเป็น Jenkins ที่เข้ามามีบทบาทมาก ในการทำ CICD ..

ขอบเขตของการทำงาน ของ DevOps แต่ละที่เท่าที่ผมได้เคยลงไปสัมผัส จะไม่เหมือนกัน ขึ้นอยู่ว่า scope ที่ทำได้ มีระดับไหน บางที่ ก็คือทำตั้งแต่ต้นน้ำ ยันปลายน้ำ คือตั้งแต่วางแผน สร้าง Infrastructure เอง ทำ ENV ให้ Dev ใช้ เขียน Pipeline ตลอดจน ทำ Load Test, Performance Test, Security Test และระบบ Monitor & Alert เองทั้งหมด แบบนี้ก็ดีตรงที่จะรู้และเข้าใจ ในแต่ละส่วนอย่างดี ทำให้งานออกมามีประสิทธิภาพ ควบคุมได้ แต่ถ้ามี หลายๆ Project ก็คงทำแบบนี้ไม่ไหว ..

บางที่ DevOps จะมีหน้าที่แค่ทำระบบให้ Dev มาใช้งาน แต่จะไม่มีสิทธิ ในการทำอย่างอื่นเอง แบบด้านบน แบบนี้ ก็จะทำให้ ควบคุมอะไรไม่ได้ทั้งหมด แต่ถ้ามีหลายๆ Project ก็จะรองรับการทำงาน ได้เต็มที่ ..

สำหรับแนวคิด และ Tools ในการทำงานแบบ DevOps (CI/CD) ไม่มีแบบไหนผิด แบบไหนถูก ขึ้นอยู่กับการเอามาประยุกต์ใช้งาน ให้เหมาะสมกับงานของเรา องค์กรของเรา เพื่อทำให้งาน เกิดประสิทธิภาพสูงสุด ตอบโจทย์ผู้ใช้งาน product ของเราให้ดีที่สุด .. และที่สำคัญ ต้อง Monitor ได้ ต้องมี Dashboard เอาไว้ Tracking Metric ต่างๆ ได้ ..

สำหรับใครที่กำลังหางาน DevOps สมัครกันเข้ามาได้ครับ รับรองว่า งานท้าทาย สนุก แน่นอนครับ 🙂
https://th.jobsdb.com/th/th/job/devops-engineer-300003001969662