จะนำกลยุทธ์ DevOps ที่ประสบความสำเร็จไปใช้ได้อย่างไร
เผยแพร่แล้ว: 2022-06-29บทนำ
DevOps เป็นกลยุทธ์การพัฒนาที่เน้นการทำงานร่วมกันระหว่างนักพัฒนาซอฟต์แวร์และเจ้าหน้าที่ปฏิบัติการด้านไอที แต่การนำ DevOps มาใช้นั้นมีประโยชน์มากกว่าแค่ขอให้ทีมของคุณทำงานร่วมกัน
คำว่า DevOps ได้รับการประกาศเกียรติคุณจาก Patrick Debois ในปี 2009 ซึ่งเป็นที่รู้จักในชื่อ “บิดาแห่ง DevOps” กระบวนการประกอบด้วยขั้นตอนหลักดังต่อไปนี้:
- วางแผน
- สร้าง/รหัส
- สร้าง
- ทดสอบ
- ปล่อย
- ปรับใช้
- ใช้งานและ
- เฝ้าสังเกต
ต่อไปนี้คือคำแนะนำในการใช้งาน DevOps ให้ประสบความสำเร็จและกลยุทธ์ต่างๆ มากมายในการทำเช่นนั้น
อย่าพยายามทำทุกอย่างพร้อมกัน
เป็นเรื่องง่ายที่คุณจะรู้สึกไม่สบายใจเมื่อคุณเริ่มต้นใช้งาน DevOps เป็นครั้งแรก มีข้อมูลมากมายอยู่ที่นั่น และอาจเป็นเรื่องยากที่จะรู้ว่าจะเริ่มจากตรงไหน ฉันขอแนะนำให้เริ่มต้นเล็ก ๆ และทำงานต่อไป
ขั้นแรก เลือกพื้นที่ที่ง่ายต่อการทำให้เป็นอัตโนมัติ ตรวจสอบ และสื่อสารกับผู้ใช้ปลายทาง วิธีนี้จะช่วยให้คุณแสดงความสำเร็จตั้งแต่เนิ่นๆ ได้ง่ายขึ้น และสร้างแรงผลักดันไปสู่ส่วนอื่นๆ ของธุรกิจ ตัวอย่างเช่น หากคุณกำลังปรับใช้อัตโนมัติหรือตั้งค่าเครื่องมือตรวจสอบ คุณอาจลองเริ่มต้นด้วยบางอย่าง เช่น การปรับใช้เว็บแอปพลิเคชันหรือแอปพลิเคชันที่มีคอนเทนเนอร์ (เช่น Docker) บริการประเภทนี้มักมีการพึ่งพาน้อยกว่าระบบประเภทอื่นๆ เช่น ฐานข้อมูล ดังนั้นจึงมักจะเป็นกรณีทดสอบที่ง่ายกว่า ซึ่งเราสามารถวัดความก้าวหน้าของเราในการนำแนวปฏิบัติ DevOps ไปใช้ได้ทั่วทั้งองค์กร
ทำในสิ่งที่คุณทำได้ เมื่อคุณทำได้
สิ่งแรกที่ต้องทำคือให้ทีมของคุณใช้เครื่องมือที่จำเป็น เริ่มต้นด้วยสิ่งที่มีอยู่ และเพิ่มคุณสมบัติเพิ่มเติมตามที่คุณสะดวกยิ่งขึ้น อย่าพยายามทำทุกอย่างพร้อมกัน หาสิ่งหนึ่งหรือสองสิ่งที่ใช่สำหรับคุณ จากนั้นไปยังขั้นตอนต่อไป
จ้างระบบอัตโนมัติ
เป้าหมายของ DevOps คือการเพิ่มความเร็ว ลดต้นทุนและข้อผิดพลาดของมนุษย์ และปรับปรุงคุณภาพ นั่นเป็นเหตุผลที่ระบบอัตโนมัติถือว่ามีความสำคัญมาก ระบบอัตโนมัติอาจหมายถึงสิ่งต่าง ๆ ในบริบทที่แตกต่างกัน (การทดสอบอัตโนมัติและการรวมอย่างต่อเนื่องเป็นตัวอย่างทั่วไปสองตัวอย่าง) แต่โดยทั่วไปหมายถึงการใช้ซอฟต์แวร์เพื่อทำงานเฉพาะ ซึ่งหมายความว่าจะมีบุคลากรที่เกี่ยวข้องกับกระบวนการผลิตและการพัฒนาน้อยลง ซึ่งช่วยลดต้นทุนในขณะที่ปรับปรุงคุณภาพ—ทั้งหมดในขณะที่เพิ่มความเร็ว
เริ่มต้นด้วยเครื่องมือที่มีอยู่เพื่อพัฒนาโซลูชันที่กำหนดเอง
การเริ่มต้นด้วยเครื่องมือที่มีอยู่อาจง่ายกว่าการพัฒนาโซลูชันที่กำหนดเอง หากคุณเพิ่งเริ่มต้น มีโครงการโอเพ่นซอร์สและบริการคลาวด์จำนวนหนึ่งที่สามารถช่วยให้คุณเริ่มต้นใช้งานได้อย่างรวดเร็ว ตัวอย่างเช่น:
- เฟรมเวิร์กอัตโนมัติของ DevOps Jenkins Stack: โครงการโอเพ่นซอร์สที่จัดการวงจรการพัฒนาซอฟต์แวร์ทั้งหมด ประกอบด้วยเครื่องมือสำหรับการรวมระบบอย่างต่อเนื่อง (CI) และการส่งมอบอย่างต่อเนื่อง (CD) ตลอดจนงาน DevOps ทั่วไปอื่นๆ เช่น การทดสอบ การสร้าง การบรรจุหีบห่อ และการนำโค้ดไปใช้ รองรับระบบปฏิบัติการหลายระบบรวมถึง Linux และ macOS
- Elasticsearch: เสิร์ชเอ็นจิ้นที่ใช้ Apache Lucene ที่ให้ความสามารถในการค้นหาข้อความแบบเต็มสำหรับข้อมูลที่ไม่มีโครงสร้างปริมาณมากตามเวลาจริงในเซิร์ฟเวอร์จำนวนมาก มีการใช้โดยบริษัทต่างๆ เช่น Netflix หรือ PayPal เพื่อให้สามารถจัดทำดัชนีธุรกรรมทั้งหมดที่เกิดขึ้นภายในหน่วยงานเหล่านั้นได้อย่างรวดเร็ว เนื่องจากความสามารถในการปรับขนาดในแนวนอน (ซึ่งจะเป็นการเพิ่มอินสแตนซ์เพิ่มเติมเมื่อจำเป็น)
เริ่มต้นด้วยเครื่องมือที่ผสมผสานเข้ากับวัฒนธรรมของคุณได้ดี
เมื่อคุณเริ่มต้นเส้นทาง DevOps สิ่งสำคัญคือต้องเข้าใจว่าคุณจะไม่สามารถเปลี่ยนแปลงทุกอย่างได้ในครั้งเดียว คุณไม่สามารถบังคับวัฒนธรรม กระบวนการ ผู้คน หรือเทคโนโลยีให้เปลี่ยนแปลงได้ หากพวกเขาไม่สอดคล้องกับเป้าหมายของการพัฒนา DevOps และ Agile พวกเขาจะขัดขวางความสำเร็จ
แทนที่จะพยายามบังคับองค์ประกอบเหล่านี้ให้กลายเป็นแม่พิมพ์ตายตัวซึ่งไม่เหมาะกับวิธีการทำงานของธุรกิจของคุณในปัจจุบัน ให้มองหาเครื่องมือที่ออกแบบมาโดยเฉพาะสำหรับทีมซอฟต์แวร์ที่นำระเบียบวิธีแบบ Agile มาใช้ และปล่อยให้พวกเขามีที่ว่างสำหรับการเติบโตในขณะที่ทีมขยายขีดความสามารถเมื่อเวลาผ่านไป .
มุ่งเน้นที่การทำงานร่วมกันและรับสมองที่ดีที่สุดเมื่อทำได้
แต่การค้นหาและจ้างทรัพยากรเหล่านี้ไม่ใช่เรื่องง่าย
โชคดีที่มีตัวเลือกที่ดีหลายประการสำหรับรับความช่วยเหลือ:
- ขอความช่วยเหลือจากบริษัทอื่นที่ใช้ DevOps แล้ว พวกเขาจะได้เรียนรู้บทเรียนที่ยากลำบากมาแล้ว และสามารถให้คำแนะนำตามประสบการณ์ของพวกเขาเองได้
- ที่ปรึกษาอาจเป็นทางเลือกที่ดี หากคุณไม่มีเวลาเรียนรู้รายละเอียดเกี่ยวกับ DevOps ด้วยตนเอง พวกเขามักจะรู้ว่าจะถามคำถามอะไรและจะหาคำตอบได้ที่ไหน พวกเขายังมีแนวโน้มมากกว่าพนักงานในบริษัทอื่น (ซึ่งอาจเน้นงานประจำวัน) เพราะพวกเขามีแรงจูงใจจากเงินมากกว่าที่จะแบ่งปันความรู้เพียงอย่างเดียว* ชุมชนโอเพ่นซอร์สเช่น GitHub ให้แหล่งข้อมูลเพิ่มเติมหลังจาก การเรียนรู้ว่าพวกเขาทำงานร่วมกันอย่างไรผ่านการทำงานร่วมกัน* หลักสูตรการฝึกอบรมอาจเป็นอีกทางเลือกหนึ่งหากคุณต้องการให้ผู้อื่นมีความเชี่ยวชาญเพิ่มเติมหรือแทนที่จะใช้ที่ปรึกษาภายนอก* หนังสือเช่น The Phoenix Project เสนอมุมมองภายในว่าบริษัทหนึ่งดำเนินการ DevOps ได้สำเร็จอย่างไร พวกเขามักจะเขียนโดยบุคคลที่เกี่ยวข้องกับการดำเนินการด้วยตนเองมากกว่าเพียงแค่การสังเกตจากระยะไกล
การตรวจสอบและการรายงานอัตโนมัติ
การตรวจสอบและการรายงานอัตโนมัติเป็นแนวทางปฏิบัติที่สำคัญของ DevOps ในการปรับปรุงคุณภาพซอฟต์แวร์ของคุณ คุณต้องสามารถวัดว่าซอฟต์แวร์ทำงานได้ดีเพียงใดในการผลิต นักพัฒนาควรรับผิดชอบในการตรวจสอบโค้ดของตนเพื่อให้สามารถระบุปัญหาได้อย่างรวดเร็ว พวกเขายังต้องมีกลยุทธ์ในการรวบรวมข้อมูลนี้และใช้เครื่องมือวิเคราะห์ที่จะช่วยให้พวกเขาเข้าใจว่าเกิดอะไรขึ้นกับแอปพลิเคชันของพวกเขาในขณะที่ใช้งานจริง

ทีมปฏิบัติการควรตรวจสอบโครงสร้างพื้นฐานเนื่องจากมีหน้าที่รับผิดชอบในการตรวจสอบให้แน่ใจว่าทุกอย่างทำงานได้อย่างราบรื่นในแต่ละวัน นี่หมายถึงการรวบรวมตัววัดเกี่ยวกับการใช้งาน CPU การใช้พื้นที่ดิสก์ การใช้แบนด์วิดท์เครือข่าย ฯลฯ ตลอดจนการบันทึกปัญหาใดๆ ที่เกิดขึ้นกับแอปพลิเคชันเพื่อให้สามารถแก้ไขได้ทันที
ธุรกิจของคุณควรตรวจสอบผลกำไรโดยการวัดรายได้ที่แต่ละคุณลักษณะใหม่นำมาสัมพันธ์กับต้นทุน เช่น เวลาในการพัฒนาและค่าใช้จ่ายในการบำรุงรักษา (รวมถึงการสนับสนุนอย่างต่อเนื่อง) ความสามารถในการวัดเมตริกประเภทเหล่านี้ได้อย่างแม่นยำช่วยให้ทีมภายในองค์กรหรือในหลายองค์กรทำงานร่วมกันในโครงการเดียว เช่น ผู้ที่ใช้ไมโครเซอร์วิส ตัดสินใจได้ดีขึ้นว่าคุณลักษณะใดควรมีความสำคัญเมื่อสร้างแผนงานผลิตภัณฑ์ตามเป้าหมายทางการเงิน แทนที่จะมุ่งเน้นไปที่การลดหนี้ทางเทคนิคเพียงอย่างเดียวโดยไม่คำนึงถึงภาพรวม”
แจ้งให้ลูกค้าของคุณทราบ พวกเขาอาจไม่ชอบเซอร์ไพรส์
สมมติว่าองค์กรของคุณกำลังใช้ฐานรหัสใหม่สำหรับเว็บแอปพลิเคชันทั้งหมด คุณรู้ว่าสิ่งนี้จะส่งผลต่อผู้ใช้ปลายทางและพวกเขาจะไม่ชอบหากพวกเขาประหลาดใจกับการเปลี่ยนแปลง
คุณสามารถเตือนพวกเขาและให้เวลาพวกเขาในการเตรียมตัวสำหรับการเปลี่ยนแปลง หรือคุณสามารถรอจนกว่าจะเผยแพร่แล้วอธิบายว่าเกิดอะไรขึ้น เหตุใดจึงเกิดขึ้น และวิธีที่พวกเขาสามารถช่วยให้ตนเองชินกับการเปลี่ยนแปลงได้
วิธีหนึ่งในการแจ้งให้ผู้ใช้ทราบคือผ่านแคมเปญอีเมลที่คุณส่งคำเชิญในปฏิทินพร้อมคำแนะนำว่าผู้คนควรใช้เครื่องมือใหม่อย่างไร รวมถึงคำแนะนำว่าพวกเขาจะได้ประโยชน์จากการใช้คุณลักษณะเหล่านี้อย่างไรเมื่อเปิดตัวสู่การผลิตจริง (เช่น จะมีคุณลักษณะการค้นหาใหม่)
เริ่มต้นขนาดเล็ก อัตโนมัติ ตรวจสอบความคืบหน้า & เพิ่มประสิทธิภาพ
กลยุทธ์ที่ดีที่สุดสำหรับการนำ DevOps ไปใช้คือการเริ่มต้นเพียงเล็กน้อย ทำให้เป็นอัตโนมัติ และติดตามความคืบหน้าเมื่อเวลาผ่านไป
เริ่มต้นเล็ก ๆ : การสร้างโมเมนตัมจะง่ายกว่าเมื่อคุณเริ่มต้นด้วยขอบเขตที่จัดการได้ หากคุณพยายามจัดการทั้งแผนกหรือทั้งองค์กรในคราวเดียว มันอาจจะยากเกินไปและรู้สึกว่าเป็นไปไม่ได้ แทนที่จะพยายามปรับใช้ DevOps ทั่วทั้งบริษัทในคราวเดียว ให้เน้นที่โครงการหรือทีมทีละทีม
อัตโนมัติ: มีเครื่องมือมากมายที่สามารถช่วยทำให้ส่วนต่างๆ ของกระบวนการพัฒนาของคุณเป็นแบบอัตโนมัติได้ (เซิร์ฟเวอร์การรวมแบบต่อเนื่อง เช่น Jenkins หรือ TeamCity) แต่อาจมีบางสิ่งที่ยังไม่มีเครื่องมือที่มีอยู่ เช่น การตั้งค่าการสำรองข้อมูลสำหรับการผลิต เซิร์ฟเวอร์ในเทมเพลต AWS CloudFormation— ดังนั้นตรวจสอบให้แน่ใจว่าสิ่งเหล่านั้นรวมอยู่ในแผนการทำงานอัตโนมัติของคุณก่อนที่จะดำเนินการอย่างอื่น!
ติดตามความคืบหน้าเมื่อเวลาผ่านไป: การมีตัวชี้วัดจะช่วยให้ทุกคนที่เกี่ยวข้อง (รวมถึงตัวคุณเอง) ประเมินว่าสิ่งต่างๆ ผ่านไปด้วยดีเพียงใด เพื่อให้เราสามารถปรับเปลี่ยนตามความจำเป็นในแต่ละขั้นตอนของการเดินทางไปสู่ระบบอัตโนมัติเต็มรูปแบบ!
บทสรุป
เราหวังว่าคุณจะมีความเข้าใจที่ดีขึ้นว่า DevOps สามารถทำงานให้กับองค์กรของคุณได้อย่างไร ดังที่เราเห็นแล้วว่าทีม DevOps เต็มไปด้วยทรัพยากรและเครื่องมือที่เป็นประโยชน์ ซึ่งสามารถช่วยให้คุณเริ่มต้นและดำเนินการต่อไปเมื่อคุณได้ทำการเปลี่ยนแปลงครั้งแรกแล้ว กุญแจสู่ความสำเร็จในการใช้งานคือเริ่มจากสิ่งที่คุณรู้อยู่แล้ว จากนั้นทำซ้ำจนกว่าจะสมบูรณ์ การทำเช่นนี้จะทำให้คุณสามารถใช้กลยุทธ์ DevOps ได้อย่างมีประสิทธิภาพโดยไม่ต้องเสียงบประมาณหรือทำให้ทีมของคุณต้องแบกรับความรับผิดชอบใหม่มากเกินไป!
ภาพเด่น: เวิร์กโฟลว์ ของ DevOps: ที่มา: Pease, 2017
ผู้เขียนชีวประวัติ:
ปรียามีประสบการณ์ด้านการวิจัยตลาดประมาณ 7 ปี ปัจจุบัน เธอทำงานให้กับ Valasys Media ในตำแหน่ง Assistant Manager – Content Strategist ซึ่งเป็นหนึ่งในผู้เผยแพร่สื่อ B2B ชั้นนำทั่วโลก เธอได้เตรียมรายงานส่วนบุคคลหลายฉบับสำหรับลูกค้าของเรา & ได้ทำการวิจัยมากมายเกี่ยวกับการแบ่งส่วนตลาด การวิเคราะห์กลุ่มผู้ชม และวิธีการขาเข้า เธอเคยร่วมงานกับสถาบันของรัฐและองค์กรต่างๆ ในหลายโครงการ เธอมีความสนใจที่หลากหลายและเชื่อมั่นในแนวทางการแก้ปัญหาโดยใช้ข้อมูลเป็นหลัก เธอสำเร็จการศึกษาระดับปริญญาโทด้านวิทยาศาสตร์ และยังเขียนเกี่ยวกับทุกสิ่งที่เกี่ยวกับชีวิตอย่างกว้างขวาง นอกเหนือจากการตลาด วิทยาศาสตร์ วิทยาศาสตร์ข้อมูล และสถิติ เธอเชื่อมั่นในความจริงที่สูงขึ้น และชีวิตจะมีอะไรมากกว่าที่เราเข้าใจเสมอ เธอเป็นนักบำบัดทางจิตและผู้ฝึกไพ่ทาโรต์ที่เชื่อในวิถีชีวิตทางจิตวิญญาณและฝึกโยคะและการทำสมาธิ เมื่อไม่ได้เขียน คุณจะพบว่าเธอเพลิดเพลินกับเสียงเพลงหรือทำอาหาร