ชุดเครื่องมือ DevOps

ชุดเครื่องมือ DevOpsคือชุดหรือการรวมกันของเครื่องมือที่ช่วยในการส่งมอบ การพัฒนา และการจัดการแอปพลิเคชันซอฟต์แวร์ตลอดวงจรชีวิตการพัฒนาของระบบ โดยได้รับการประสานงานโดยองค์กรที่ใช้แนวทางปฏิบัติDevOps
โดยทั่วไป เครื่องมือ DevOps จะเหมาะกับกิจกรรมอย่างน้อยหนึ่งอย่าง ซึ่งสนับสนุนความคิดริเริ่มของ DevOps โดยเฉพาะ ได้แก่ การวางแผน การสร้าง การตรวจสอบ การบรรจุ การเผยแพร่ การกำหนดค่า การตรวจสอบ และการควบคุมเวอร์ชัน[ 1 ] [ 2 ]
ชุดเครื่องมือ
ในซอฟต์แวร์ชุดเครื่องมือ (toolchain) คือชุดเครื่องมือการเขียนโปรแกรมที่ใช้ในการทำงานพัฒนาซอฟต์แวร์ที่ซับซ้อนหรือสร้างผลิตภัณฑ์ซอฟต์แวร์ ซึ่งโดยทั่วไปแล้วจะเป็นโปรแกรมคอมพิวเตอร์อื่นหรือชุดโปรแกรมที่เกี่ยวข้อง โดยทั่วไปแล้ว เครื่องมือที่ประกอบเป็นชุดเครื่องมือจะถูกดำเนินการตามลำดับ ดังนั้นผลลัพธ์หรือสถานะสภาพแวดล้อม ที่ได้ จากแต่ละเครื่องมือจะกลายเป็นอินพุตหรือสภาพแวดล้อมเริ่มต้นสำหรับเครื่องมือถัดไป แต่คำนี้ยังใช้เมื่ออ้างถึงชุดเครื่องมือที่เกี่ยวข้องซึ่งไม่จำเป็นต้องดำเนินการตามลำดับ[ 3 ] [ 4 ] [ 5 ]
เนื่องจาก DevOps เป็นชุดของแนวปฏิบัติที่เน้นการทำงานร่วมกันและการสื่อสารระหว่างนักพัฒนาซอฟต์แวร์และผู้เชี่ยวชาญด้านเทคโนโลยีสารสนเทศ (IT) อื่นๆ ในขณะที่ทำการทำให้กระบวนการส่งมอบซอฟต์แวร์และการเปลี่ยนแปลงโครงสร้างพื้นฐานเป็นไปโดยอัตโนมัติ การนำไปใช้จึงอาจรวมถึงการกำหนดชุดเครื่องมือที่ใช้ในขั้นตอนต่างๆ ของวงจรชีวิต เนื่องจาก DevOps เป็นการเปลี่ยนแปลงทางวัฒนธรรมและการทำงานร่วมกันระหว่างการพัฒนาและการดำเนินงาน จึงไม่มีผลิตภัณฑ์ใดที่สามารถถือได้ว่าเป็นเครื่องมือ DevOps เพียงอย่างเดียว แต่จะเป็นชุดเครื่องมือที่อาจมาจากผู้จำหน่ายหลายราย ซึ่งใช้ในหนึ่งหรือหลายขั้นตอนของวงจรชีวิต[ 6 ] [ 7 ]
ขั้นตอนของ DevOps
วางแผน
แผนประกอบด้วยองค์ประกอบสองส่วนคือ "กำหนด" และ "วางแผน" [ 8 ]กิจกรรมนี้หมายถึงคุณค่าทางธุรกิจและข้อกำหนดการใช้งาน โดยเฉพาะกิจกรรม "วางแผน" ประกอบด้วย:
- ตัวชี้วัดการผลิต วัตถุ และข้อเสนอแนะ
- ความต้องการ
- ตัวชี้วัดทางธุรกิจ
- อัปเดตเมตริกการเผยแพร่
- แผนการวางจำหน่าย กำหนดเวลา และเหตุผลทางธุรกิจ
- นโยบายและข้อกำหนดด้านความปลอดภัย
บุคลากรด้านไอทีหลายฝ่ายจะเข้ามามีส่วนร่วมในกิจกรรมเหล่านี้ ได้แก่ เจ้าของแอปพลิเค ชันทางธุรกิจ นักพัฒนาซอฟต์แวร์ สถาปนิกซอฟต์แวร์การจัดการการเผยแพร่เวอร์ชันอย่างต่อเนื่องเจ้าหน้าที่รักษาความปลอดภัย และองค์กรที่รับผิดชอบในการจัดการการผลิตโครงสร้าง พื้นฐาน ด้านไอที
สร้าง
การสร้างประกอบด้วยการสร้าง การเขียนโค้ด และการกำหนดค่าของกระบวนการพัฒนาซอฟต์แวร์ [ 8 ] กิจกรรมเฉพาะมีดังนี้:
- การออกแบบซอฟต์แวร์และการกำหนดค่า
- การเขียนโค้ด รวมถึงคุณภาพและประสิทธิภาพของโค้ด
- การสร้างซอฟต์แวร์และประสิทธิภาพการสร้าง
- ผู้สมัครปล่อยตัว
เครื่องมือและผู้จำหน่ายในหมวดหมู่นี้มักมีความซ้ำซ้อนกับหมวดหมู่อื่นๆ เนื่องจาก DevOps มีเป้าหมายในการทำลายกำแพงกั้นระหว่างแผนกต่างๆ จึงสะท้อนให้เห็นในกิจกรรมและโซลูชันผลิตภัณฑ์ต่างๆ
ตรวจสอบ
การตรวจสอบมีความเกี่ยวข้องโดยตรงกับการรับรองคุณภาพของการเผยแพร่ซอฟต์แวร์กิจกรรมที่ออกแบบมาเพื่อให้มั่นใจว่าคุณภาพของโค้ดได้รับการรักษาไว้ และคุณภาพสูงสุดจะถูกนำไปใช้งานจริง[ 8 ] กิจกรรมหลักในเรื่องนี้ได้แก่:
- การทดสอบการยอมรับ
- การทดสอบการถดถอย
- การวิเคราะห์ความปลอดภัยและช่องโหว่
- ผลงาน
- การทดสอบการกำหนดค่า
โดยทั่วไปแล้ว โซลูชันสำหรับกิจกรรมที่เกี่ยวข้องกับการตรวจสอบจะแบ่งออกเป็น 4 ประเภทหลัก ได้แก่การทดสอบอัตโนมัติการวิเคราะห์แบบคงที่ ห้องปฏิบัติการทดสอบ และความปลอดภัย
บรรจุุภัณฑ์
แพ็คเกจหมายถึงกิจกรรมที่เกี่ยวข้องเมื่อการเผยแพร่พร้อมสำหรับการใช้งาน ซึ่งมักเรียกว่าการจัดเตรียมหรือการผลิตก่อนวางจำหน่าย / "preprod" [ 8 ]ซึ่งมักรวมถึงงานและกิจกรรมต่างๆ เช่น:
- การอนุมัติ/การอนุมัติล่วงหน้า
- การกำหนดค่าแพ็คเกจ
- การปล่อยที่ถูกกระตุ้น
- ปล่อยการจัดเตรียมและการถือครอง
ปล่อย
กิจกรรมที่เกี่ยวข้องกับการเผยแพร่ประกอบด้วยกำหนดการ การจัดการ การจัดเตรียม และการปรับใช้ซอฟต์แวร์ในสภาพแวดล้อมการผลิตและเป้าหมาย[ 9 ]กิจกรรมการเผยแพร่เฉพาะประกอบด้วย:
- การประสานงานการปล่อยตัว
- การติดตั้งและส่งเสริมแอปพลิเคชัน
- แผนสำรองและการกู้คืน
- การเผยแพร่ตามกำหนดเวลา/เวลาที่กำหนด
โซลูชันที่ครอบคลุมด้านนี้ของชุดเครื่องมือได้แก่การทำให้การเผยแพร่แอปพลิเคชันเป็นไปโดยอัตโนมัติ การทำให้การปรับใช้เป็นไปโดยอัตโนมัติ และการจัดการการเผยแพร่
กำหนดค่า
กิจกรรมการกำหนดค่าจัดอยู่ในด้านการดำเนินงานของ DevOps เมื่อซอฟต์แวร์ถูกปรับใช้แล้ว อาจมีกิจกรรมการจัดเตรียมและการกำหนดค่าโครงสร้างพื้นฐานด้านไอทีเพิ่มเติมที่จำเป็น[ 8 ] กิจกรรมเฉพาะ ได้แก่:
- การจัดเตรียมและการกำหนดค่าโครงสร้างพื้นฐานด้านการจัดเก็บข้อมูล ฐานข้อมูล และเครือข่าย
- การจัดเตรียมและการกำหนดค่าแอปพลิเคชัน
โซลูชันหลักที่ช่วยอำนวยความสะดวกกิจกรรมเหล่านี้ ได้แก่การกำหนดค่าอัตโนมัติอย่างต่อเนื่องการจัดการการกำหนดค่าและเครื่องมือโครงสร้างพื้นฐานในรูปแบบโค้ด[ 10 ]
เฝ้าสังเกต
การตรวจสอบเป็นการเชื่อมโยงที่สำคัญในชุดเครื่องมือ DevOps ช่วยให้องค์กรไอทีสามารถระบุปัญหาเฉพาะของเวอร์ชันเฉพาะและเข้าใจผลกระทบต่อผู้ใช้ปลายทางได้[ 8 ]กิจกรรมที่เกี่ยวข้องกับการตรวจสอบโดยสรุปมีดังนี้:
- ประสิทธิภาพของโครงสร้างพื้นฐานด้านไอที
- การตอบสนองและประสบการณ์ของผู้ใช้งาน
- ตัวชี้วัดและสถิติการผลิต
ข้อมูลจากการติดตามตรวจสอบมักส่งผลกระทบต่อแผนงานที่จำเป็นสำหรับการเปลี่ยนแปลงและสำหรับรอบการออกเวอร์ชันใหม่
การควบคุมเวอร์ชัน
การควบคุมเวอร์ชันเป็นการเชื่อมโยงที่สำคัญในชุดเครื่องมือ DevOps และเป็นส่วนประกอบของการจัดการการกำหนดค่าซอฟต์แวร์การควบคุมเวอร์ชันคือการจัดการการเปลี่ยนแปลงเอกสาร โปรแกรมคอมพิวเตอร์ เว็บไซต์ขนาดใหญ่ และชุดข้อมูลอื่นๆ[ 8 ]สรุปกิจกรรมที่เกี่ยวข้องกับการควบคุมเวอร์ชันได้ดังนี้:
- การพัฒนาแบบไม่เชิงเส้น
- การพัฒนาแบบกระจาย
- ความเข้ากันได้กับระบบและโปรโตคอลที่มีอยู่
- การออกแบบโดยใช้ชุดเครื่องมือ
ข้อมูลจากระบบควบคุมเวอร์ชันมักช่วยสนับสนุนกิจกรรมการเผยแพร่ที่จำเป็นสำหรับการเปลี่ยนแปลงและสำหรับรอบการเผยแพร่ใหม่