ชีวิตประจำวันของ DevOps ทำอะไรบ้าง ?

กระทู้คำถาม
อ่านมาเยอะพอสมควร (เว็บตปท.นะ) แต่หาข้อสรุปไม่ได้
โดนส่วนตัว เท่าที่จับใจความได้ คือคนที่ไม่Opsไปซะหมด แต่ก็ไม่Devเพียวๆ

คำถาม
วันๆเค้าทำอะไรกันบ้าง อันนี้คือสนใจ
อยากรู้ ว่าทำอะไร และควรเก่งอะไรบ้าง (เผื่อวันข้างหน้า)
คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 3
ผมใช้แนวทาง DevOps ในการเพิ่มประสิทธิภาพในการทำ Application/Software development และ deployment ให้กับลูกค้ารายใหญ่รายหนึ่ง จาก cycle หนึ่งใช้เวลา 3-5 วัน เหลือ 1 ชั่วโมง ทำให้ลูกค้าสามารถ release software version ใหม่ ได้เร็วมากขึ้นและได้ feedback จากผู้ใช้ Application ได้เร็วขึ้นเพื่อนำมาปรับปรุงอย่างต่อเนื่อง

DevOps เป็นแนวทางการทำงาน โดยมีหลักการข้อแรกคือ Dev team และ Ops team จำเป็นต้องมีความรับผิดชอบร่วมกันในการสร้างและส่งมอบ software ไม่ใช่รับผิดชอบกันคนละส่วน  โดยส่วนใหญ่ปัญหาหลักคือ 2 team นี้มีเป้าหมายไม่เหมือนกัน Dev team ต้องการสร้างการเปลี่ยนแปลง เพิ่ม function/ feature ให้กับ application โดยอาจไม่ได้โฟกัสเรื่องการรัน Application ให้ได้ Security และ Performance ที่ดีใน Production environment มากนัก แลในทางกลับกัน Ops team มีจุดประสงค์ในการควบคุมระบบให้มีสเถียรภาพ มี security ที่ดี และ performance ที่ดี และคิดว่าการเปลี่ยนแปลงคือความเสี่ยง สองทีมนี้มีจุดประสงค์ไม่สอดคล้องกัน

เช่น Dev ส่งงานให้ Ops team เพื่อ Deploy ใน Production environment แล้วจบกัน เมื่อเกิดปัญหาใน Production ก็บอกว่า Code ตัวเองรันสำเร็จในตอน Testing แสดงว่าระบบที่ Ops ดูแลไม่มีปัญหา configure ไม่ถูก
แต่อีกมุมนึงก็คิอ Ops ก็พยายามควบคุมการเปลี่ยนงานใน Production โดยจะรอรอบการ Deploy หรือ Change ใน Production เช่น ให้เปลี่ยนได้สัปดาห์ละครั้งหลังตี 1

จึงมีการนำแนวทางการทำงานแบบ DevOps มาใช้เปลี่ยน Mindset เพื่อลดปัญหาที่ต้นเหตุแรงจูงใจก่อนให้ได้ ***
กำหนดให้ทีมงานมีแนวทางที่ถูกต้องในการทำงานร่วมกัน รับผิดชอบร่วมกัน และสิ่งต่อมาที่ต้องคิดร่วมกันคือ การใช้ Technology/ tool มาช่วยจัดการงาน Software develpoment & deployment ให้ดีขึ้นอย่างต่อเนื่อง และอย่างรวดเร็ว

Tool หลักที่ใช้จะอยู่ใน Category ของ CI / CD, SCM ซึ่งจะ automate pipeline การ compile, สร้าง application package, unit testing, security testing, application deployment, application verification และ reporting เพื่ิอสร้าง feedback loop นำไปปรับปรุงการพัฒนา Application feature/function ให้ดีขึ้นอย่างต่อเนื่อง และอย่างรวดเร็ว ลด downtime ให้กับผู้ใช้งาน

Docker มาช่วยตรงปัญหาที่ว่า "Application ของฉันทำงานได้ดีตอน development & testing ในระบบ Development/ Developer PC แต่พอ Ops team นำ Application/ version เดียวกันนี้ไปรันบนระบบ production หรือ environment อื่นๆกลับเกิดปัญหา"
Docker เป็นเทคโนโลยีในการ package Application, Software และ Library ที่เกี่ยวข้อง ในรูปแบบ Docker Image แล้วรันขึ้นมาเป็น Container เพื่อใช้งาน (configuration + dependency เกือบทุกอย่าง ถูก packaged, self contained) จึงช่วยกำจัดข้อแตกต่างในการ setup environment ที่ใช้ develop/test กับ production ได้  (นอกจากมุมมอง DevOps จริงๆแล้ว Docker มีประโยชน์มากกว่านี้ ทำให้ผมสามารถช่วยให้ลูกค้าขยายธุรกิจ digital business platform ได้อย่างมีประสิทธิภาพ) Docker เป็น technology ที่จะ disrupt ระบบ IT platform ได้จริงๆครับ Commercial products ที่ดังๆคือ Redhat Openshift (Kubernetes + Docker), IBM Cloud Private รวมถึง Public Cloud AWS, Azure, IBM Cloud, Google Cloud ก็มีให้เช่าใช้ครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่