ฉันได้รับการฝึกฝนและให้คำปรึกษาเกี่ยวกับ DevOps ในฐานะที่ปรึกษากับลูกค้าที่แตกต่างกันมาเกือบห้าปีแล้วก่อนที่ฉันจะดำรงตำแหน่งปัจจุบันฉันมีบทบาทในการพัฒนาซอฟต์แวร์การดำเนินงานเว็บและการบริหารระบบ จากประสบการณ์ส่วนตัวของฉันDevOps มีหลายรสชาติ
รูปแบบองค์กร
DevOps Antipatterns:
NoOpsและNoDevs - ไม่ใช่ DevOps อย่างเคร่งครัดในแง่ที่เข้มงวดที่สุดอย่างไรก็ตามทีมเหล่านี้ทั้งสร้างและใช้งานซอฟต์แวร์โดยไม่มีเส้นแบ่งระหว่างการพัฒนาและการดำเนินงาน ความท้าทายของทีมเหล่านี้มาถึงกำหนดทีมพัฒนาอาจเป็นผู้เชี่ยวชาญด้านการพัฒนาซอฟต์แวร์ แต่ผู้ประกอบการมือใหม่และวีซ่ากลับกัน
สะพาน DevOps - นี่คือที่หนึ่งหรือหลายทีมได้รับความรับผิดชอบในการทำงานจากทีมพัฒนาและ " การผลิต " เพื่อให้สามารถใช้งานได้ ความท้าทายมาถึงตอนนี้มีสองมือออกคือการพัฒนา→ DevOps และ DevOps →การดำเนินงาน
ทีม DevOps - สิ่งนี้สามารถทำงานได้ถ้าทีมมีความรับผิดชอบในการสร้างเครื่องมือที่สนับสนุนรูปแบบการดำเนินงานที่เปิดใช้งาน DevOps อย่างไรก็ตามมันควรจะเรียกว่า "ทีมเครื่องมือ" หรือ "ทีมแพลตฟอร์ม"
รูปแบบ DevOps:
Embedded DevOps - ที่รู้จักกันทั่วไปว่า Platform Engineering โดยมีบางคนในทีมที่รับผิดชอบ แต่ไม่รับผิดชอบในการส่งมอบอัตโนมัติเครื่องมือและโครงสร้างพื้นฐานสำหรับการจัดหาและการปรับใช้โซลูชันบางครั้งยังรวมถึงการใช้งานซอฟต์แวร์ด้วย มันเป็นรุ่นหลังที่เป็นตัวแทนของ DevOps
Institutionalized DevOps - ที่ซึ่งทีมงานโครงการร่วมกันรับผิดชอบทั้งในการพัฒนาและการดำเนินงานของซอฟต์แวร์สำเร็จรูปที่สร้างความเป็นเจ้าของร่วมและลูปตอบรับเชิงบวก
การปฏิบัติ
การปฏิบัติที่แท้จริงของ DevOps สร้างขึ้นจากการปฏิบัติอื่น ๆ หลายประการ ได้แก่ :
การปฏิบัติที่กล่าวมาข้างต้นแต่ละข้อนั้นมีความเป็นไปได้ที่จะไม่ปฏิบัติตามอย่างไรก็ตามมันหมายถึงวงจรการตอบรับที่สำคัญขาดหายไปซึ่งอาจบ่งบอกถึง "โอกาสพลาด" ความแตกต่างที่สำคัญระหว่างการใด ๆ ต่อไปของการปฏิบัติอื่น ๆ และ DevOps คือการทำงานของซอฟแวร์ในการผลิต
สามวิธี
ในThe Phoenix Projectยีนคิมและผู้เขียนร่วมของเขาอธิบายสามวิธีของ DevOps :
ระบบการคิด
วิธีแรกเน้นประสิทธิภาพของระบบทั้งหมดเมื่อเทียบกับประสิทธิภาพของไซโลของงานหรือแผนก - ซึ่งสามารถแบ่งได้เป็นส่วนใหญ่ (เช่นการพัฒนาหรือการดำเนินงานด้านไอที) หรือขนาดเล็กเท่ากับผู้มีส่วนร่วมแต่ละคน (เช่น ผู้พัฒนาผู้ดูแลระบบ)
จากประสบการณ์ของฉันเริ่มที่จะให้นักพัฒนาพิจารณาความกังวลด้านปฏิบัติการและข้อกำหนดที่ไม่เกี่ยวกับการใช้งานบรรลุเป้าหมายนี้ นี่เป็นส่วนหนึ่งของวัฒนธรรมของ DevOps
การขยายความคิดเห็นลูป
วิธีที่สองคือการสร้างลูปการตอบกลับทางด้านขวา เป้าหมายของการริเริ่มการปรับปรุงกระบวนการเกือบทั้งหมดคือการย่อและขยายลูปข้อเสนอแนะเพื่อให้สามารถทำการแก้ไขที่จำเป็นได้อย่างต่อเนื่อง
โดยทั่วไปแล้วฉันจะประสบความสำเร็จผ่านการบูรณาการอย่างต่อเนื่อง / การจัดส่ง / การใช้งานและการตรวจสอบและแจ้งเตือนที่ใช้ร่วมกันดังนั้นจึงเหมาะอย่างยิ่งกับองค์ประกอบของเครื่องมือของ DevOps
วัฒนธรรมการทดลองและเรียนรู้อย่างต่อเนื่อง
วิธีที่สามคือการสร้างวัฒนธรรมที่ส่งเสริมสองสิ่ง: การทดลองอย่างต่อเนื่องการรับความเสี่ยงและการเรียนรู้จากความล้มเหลว และความเข้าใจว่าการทำซ้ำและการฝึกฝนเป็นสิ่งที่จำเป็นสำหรับการเรียนรู้
สิ่งนี้เหมาะสมมากในพื้นที่วัฒนธรรมแม้ว่าจะขึ้นอยู่กับเครื่องมือและกระบวนการเพื่อให้วัฒนธรรมเติบโตขึ้นอย่างมาก