เหตุใดผู้ดูแลระบบ นักพัฒนา และผู้ทดสอบจึงควรเรียนรู้แนวทางปฏิบัติของ DevOps

เหตุใดผู้ดูแลระบบ นักพัฒนา และผู้ทดสอบจึงควรเรียนรู้แนวทางปฏิบัติของ DevOps

จะไปที่ไหนกับความรู้นี้ สิ่งที่ต้องทำในโครงการ และรายได้เท่าไหร่ สิ่งที่จะพูดและถามในการสัมภาษณ์ - Alexander Titov หุ้นส่วนผู้จัดการของ Express 42 และผู้เขียนกล่าว หลักสูตรออนไลน์ “แนวปฏิบัติและเครื่องมือ DevOps”.

สวัสดี! แม้ว่าคำว่า DevOps จะมีมาตั้งแต่ปี 2009 แต่ก็ยังไม่มีความเห็นพ้องต้องกันในชุมชนรัสเซีย คุณอาจสังเกตเห็นว่าบางคนมองว่า DevOps เป็นความพิเศษ บางคนมองว่ามันเป็นปรัชญา และบางคนมองว่าคำนี้เป็นชุดของเทคโนโลยี ฉันได้แสดงมาแล้วหลายครั้งด้วย การบรรยาย เกี่ยวกับการพัฒนาทิศทางนี้ผมจะไม่ลงรายละเอียดในบทความนี้ ให้ฉันบอกว่าที่ Express 42 เรารวมสิ่งต่อไปนี้ไว้ในนั้น:

DevOps เป็นวิธีการเฉพาะ ซึ่งเป็นวัฒนธรรมของการสร้างผลิตภัณฑ์ดิจิทัล เมื่อผู้เชี่ยวชาญทุกคนในทีมมีส่วนร่วมในการผลิต

ในการพัฒนาองค์กรแบบคลาสสิก ทุกอย่างดำเนินไปตามลำดับ: การเขียนโปรแกรม การทดสอบ และการดำเนินการเท่านั้น และความเร็วของกระบวนการนี้ตั้งแต่แนวคิดไปจนถึงการผลิตคือ 3 เดือน นี่เป็นปัญหาระดับโลกสำหรับผลิตภัณฑ์ดิจิทัล เนื่องจากเป็นไปไม่ได้ที่จะได้รับคำติชมจากลูกค้าอย่างรวดเร็ว

ใน DevOps เครื่องมือและวิธีการได้รับการออกแบบเพื่อให้แน่ใจว่ากระบวนการพัฒนา การทดสอบ และการดำเนินงานดำเนินไปพร้อมกัน

อะไรจะเกิดขึ้นจากแนวทางนี้?

  • คุณไม่สามารถจ้าง "วิศวกร" ที่จะเข้ามาแก้ไขปัญหาทั้งหมดเกี่ยวกับการผลิตได้ ต้องใช้เทคนิคทั้งทีม

    เหตุใดผู้ดูแลระบบ นักพัฒนา และผู้ทดสอบจึงควรเรียนรู้แนวทางปฏิบัติของ DevOps

  • DevOps ไม่ใช่ sysadmin รูปแบบถัดไปที่จะอัปเกรด “วิศวกร DevOps” ฟังดูเหมือน “Agile Developer”

    เหตุใดผู้ดูแลระบบ นักพัฒนา และผู้ทดสอบจึงควรเรียนรู้แนวทางปฏิบัติของ DevOps

  • หากทีมใช้ Kubernetes, Ansible, Prometheus, Mesosphere และ Docker นี่ไม่ได้หมายความว่ามีการใช้แนวทางปฏิบัติ DevOps ที่นั่น

    เหตุใดผู้ดูแลระบบ นักพัฒนา และผู้ทดสอบจึงควรเรียนรู้แนวทางปฏิบัติของ DevOps

ชีวิตหลัง DevOps จะไม่เหมือนเดิมอีกต่อไป

ประการแรก แนวทาง DevOps คือวิธีคิดที่แตกต่าง การรับรู้ถึงการพัฒนาโดยรวม และจุดยืนในกระบวนการ เราแบ่งหลักสูตรออนไลน์ออกเป็น 2 ช่วงตึก:

1. การตัดสินใจด้วยตนเอง

ขั้นแรก เราจะตรวจสอบโดยละเอียดถึงแก่นแท้ของแนวทาง DevOps และนักเรียนจะค้นพบบทบาทใหม่ในทีม ดูว่าบทบาทใดตอบสนองมากกว่า และตัดสินใจด้วยตนเองว่าจะพัฒนาไปในทิศทางใด

2. เครื่องมือและแนวปฏิบัติ

นักเรียนเชี่ยวชาญเทคโนโลยีเฉพาะจากมุมมองของวิธี DevOps

เครื่องมือ DevOps สามารถใช้ได้ทั้งในแนวทาง DevOps และในการพัฒนาแบบคลาสสิก ตัวอย่างที่ชัดเจนที่สุดคือการใช้เครื่องมือการจัดการการกำหนดค่า Ansible มันถูกสร้างขึ้นและคิดเพื่อใช้แนวทางปฏิบัติ DevOps “โครงสร้างพื้นฐานเป็นรหัส” ซึ่งหมายความว่าจะมีการอธิบายสถานะต่างๆ ของระบบ ตั้งแต่การตั้งค่าระบบปฏิบัติการไปจนถึงซอฟต์แวร์แอปพลิเคชัน คำอธิบายแบ่งออกเป็นเลเยอร์และช่วยให้คุณจัดการการกำหนดค่าที่ซับซ้อนและเปลี่ยนแปลงตลอดเวลา แต่วิศวกรมักใช้ Ansible เป็นวิธีเรียกใช้สคริปต์ทุบตีบนเครื่องหลายเครื่อง สิ่งนี้ไม่ได้แย่หรือดี แต่คุณต้องเข้าใจว่าการมี Ansible ไม่ได้รับประกันว่า DevOps จะมีอยู่ในบริษัท

เรากำลังอยู่ในกระบวนการ อัตราแลกเปลี่ยน คุณจะดำดิ่งลงไปในกระบวนการพัฒนาแอปพลิเคชันที่คล้ายกับ Reddit ที่มีชื่อเสียง โดยเริ่มจากเวอร์ชันเสาหิน ทีละขั้นตอนไปจนถึงไมโครเซอร์วิส เราจะเชี่ยวชาญเครื่องมือใหม่ๆ ทีละขั้นตอน: Git, Ansible, Gitlab และปิดท้ายด้วย Kubernetes และ Prometheus

ในแง่ของแนวทางปฏิบัติ เราจะปฏิบัติตามกลยุทธ์ของสามเส้นทางที่อธิบายไว้ในคู่มือ DevOps - แนวทางปฏิบัติในการส่งมอบอย่างต่อเนื่อง แนวทางปฏิบัติในการป้อนกลับ และสาระสำคัญของหลักสูตรทั้งหมดคือการฝึกฝนการเรียนรู้อย่างต่อเนื่องไปพร้อมกับระบบของคุณ

ความรู้นี้ให้อะไรกับผู้เชี่ยวชาญแต่ละคนบ้าง?

สำหรับผู้ดูแลระบบ

แนวทางปฏิบัติจะช่วยให้คุณเปลี่ยนจากการบริหารไปสู่การสร้างไปป์ไลน์การส่งมอบอย่างต่อเนื่องและแพลตฟอร์มโครงสร้างพื้นฐานสำหรับการส่งมอบซอฟต์แวร์ ประเด็นก็คือเขาสร้างผลิตภัณฑ์ ซึ่งเป็นแพลตฟอร์มโครงสร้างพื้นฐานสำหรับนักพัฒนาที่ช่วยให้พวกเขาผลักดันการเปลี่ยนแปลงไปสู่การใช้งานจริงได้อย่างรวดเร็ว

ก่อนหน้านี้ผู้ดูแลระบบเป็นป้อมปราการสุดท้าย หลังจากนั้นทุกอย่างก็เข้าสู่การใช้งานจริง และโดยพื้นฐานแล้ว พวกเขามีส่วนร่วมในการดับเพลิงอย่างต่อเนื่อง ด้วยเหตุนี้จึงเป็นเรื่องยากที่จะเจาะลึกความต้องการของธุรกิจ คิดถึงผลิตภัณฑ์และประโยชน์สำหรับผู้ใช้
ต้องขอบคุณวิธี DevOps ที่ทำให้การคิดเปลี่ยนไป ผู้ดูแลระบบเข้าใจวิธีแปลการกำหนดค่าเป็นโค้ดว่ามีแนวทางปฏิบัติใดบ้าง

สิ่งนี้สำคัญเนื่องจากบริษัทต่างๆ ตระหนักมากขึ้นว่าพวกเขาไม่จำเป็นต้องทำให้ทุกอย่างเป็นอัตโนมัติ เช่น ในสิ่งที่ผู้ดูแลระบบแบบเก่าเคยทำมาก่อน ซึ่งบวกกับสิ่งนี้สื่อสารเพียงเล็กน้อยและไม่ได้แจ้งให้ทีมทราบเกี่ยวกับการเปลี่ยนแปลงทั้งหมดที่เกิดขึ้น ขณะนี้ทีมงานกำลังมองหาผู้ที่จะมาเป็นผู้ผลิตผลิตภัณฑ์โครงสร้างพื้นฐานภายในและช่วยรวมกระบวนการที่แยกออกจากกันเป็นหนึ่งเดียว

นักพัฒนา

นักพัฒนาซอฟต์แวร์หยุดคิดเฉพาะในอัลกอริธึมเท่านั้น เขาได้รับทักษะในการทำงานกับโครงสร้างพื้นฐาน ทักษะการรับรู้ทางสถาปัตยกรรมของภูมิทัศน์ นักพัฒนาดังกล่าวเข้าใจวิธีการทำงานของแอปพลิเคชัน, วิธีการผ่านขั้นตอนการส่งมอบอย่างต่อเนื่อง, วิธีตรวจสอบ, วิธีลงทะเบียนเพื่อให้เป็นประโยชน์ต่อลูกค้า ด้วยเหตุนี้ ความรู้ทั้งหมดนี้จึงทำให้คุณสามารถเขียนโค้ดที่เกี่ยวข้องได้

สำหรับผู้ทดสอบ

การทดสอบได้เข้าสู่โหมดอัตโนมัติมานานแล้ว เราทุกคนบอกว่าการทดสอบหลายอย่างไม่ควรทำ แต่เป็นแบบเขียน :) การทดสอบกลายเป็นส่วนหนึ่งของไปป์ไลน์การส่งมอบผลิตภัณฑ์ของคุณทั้งหมด ผู้ทดสอบไม่เพียงแต่ต้องเรียนรู้วิธีการเขียนโค้ดเท่านั้น แต่ยังต้องเข้าใจวิธีการบูรณาการเข้ากับระบบการจัดส่งอย่างต่อเนื่อง วิธีรับคำติชมจากโค้ดในทุกขั้นตอนของการจัดส่ง และวิธีการปรับปรุงการทดสอบอย่างต่อเนื่องเพื่อตรวจจับข้อผิดพลาด เร็วที่สุดเท่าที่จะเป็นไปได้

ปรากฎว่า ทั้งสามขั้นตอนเกิดขึ้นพร้อมกัน. ตัวอย่างเช่น อาจมีลักษณะดังนี้:

นักพัฒนาเขียนโค้ด เขียนการทดสอบทันที และอธิบายคอนเทนเนอร์นักเทียบท่าสำหรับโค้ดที่ควรเรียกใช้ นอกจากนี้ยังอธิบายการตรวจสอบทันทีที่จะตรวจสอบการทำงานของบริการนี้ในการผลิตและดำเนินการทั้งหมดนี้

เมื่อการบูรณาการอย่างต่อเนื่องเริ่มต้นขึ้น กระบวนการต่างๆ จะทำงานพร้อมกัน บริการเริ่มต้นและได้รับการกำหนดค่า ในเวลาเดียวกัน คอนเทนเนอร์นักเทียบท่าจะเริ่มทำงานและตรวจสอบว่ากำลังทำงานอยู่ ในเวลาเดียวกัน ข้อมูลทั้งหมดจะถูกส่งไปยังระบบบันทึก และอื่น ๆ ในทุกขั้นตอนของการพัฒนา - กลายเป็นการทำงานเป็นทีมที่แท้จริงของผู้ดูแลระบบ นักพัฒนา และผู้ทดสอบ

ฉันศึกษา DevOps แล้วจะทำอย่างไรต่อไป

อย่างที่ทราบกันดีว่าหนึ่งในสนามไม่ใช่นักรบ หากบริษัทของคุณไม่ใช้วิธีนี้ ทักษะที่ได้รับก็จะไม่ได้ใช้งาน และหลังจากทำความคุ้นเคยกับแนวทาง DevOps แล้ว คุณคงไม่อยากเป็นฟันเฟืองในการพัฒนาองค์กรอีกต่อไป อาจมีข้อยกเว้นประการหนึ่ง: คุณเป็นผู้ดูแลระบบในทีมและสามารถสร้างกระบวนการทั้งหมดใหม่ได้ด้วยวิธีใหม่ ควรเพิ่มที่นี่ว่ามีบริษัทจำนวนมากที่ใช้แนวทางนี้ และไม่ได้รับผลกระทบจากการปิดเมือง และกำลังมองหาผู้เชี่ยวชาญ เพราะ DevOps คือการสร้างผลิตภัณฑ์ออนไลน์

และตอนนี้เกี่ยวกับสิ่งดีๆ: ความเชี่ยวชาญในแนวทางปฏิบัติและเครื่องมือ DevOps มีมูลค่าประมาณ +30% ให้กับมูลค่าของคุณในตลาดแรงงาน เงินเดือนเริ่มต้นที่ 140 รูเบิล แต่จะถูกกำหนดโดยความสามารถพิเศษและการทำงานหลักของคุณตามธรรมชาติ

คุณสามารถดูตำแหน่งงานว่างที่มีเครื่องหมาย “เน้นโครงสร้างพื้นฐาน” ซึ่งมีการทดสอบอัตโนมัติ การพัฒนาแอปพลิเคชันไมโครเซอร์วิสโดยใช้เทคโนโลยีคลาวด์ ตำแหน่งงานว่างสำหรับวิศวกรโครงสร้างพื้นฐาน และการอ้างอิงถึง DevOps ทุกประเภท เพียงจำไว้ว่าแต่ละบริษัทมีความหมายที่แตกต่างกันตามคำจำกัดความนี้ โปรดอ่านคำอธิบายอย่างละเอียด

ในระหว่างการเปิดตัวหลักสูตรของเรา ข้อมูลเชิงลึกก็มาถึงฉัน - หลายๆ คนหลังจากหลักสูตรนี้ตกหลุมพรางของวิศวกร DevOps พวกเขาพบตำแหน่งว่างตามตำแหน่งที่กล่าวมาข้างต้น รับข้อเสนอที่ดี จากนั้นจึงมาทำงานและตระหนักว่าพวกเขาจะต้องรักษาสคริปต์ทุบตีสามหน้าในเจนกินส์ Kubernetes, ChatOps, canary releases และทั้งหมดนั้นอยู่ที่ไหน? แต่ไม่มีอะไรเลยเพราะบริษัทไม่ต้องการ DevOps เป็นวิธีการ แต่ใช้นวัตกรรมเฉพาะบุคคล

นี่เป็นเหตุผลที่บริษัทจะต้องค้นหาอย่างถี่ถ้วนว่ากระบวนการส่งมอบซอฟต์แวร์ทำงานอย่างไร กลุ่มเทคโนโลยี และความรับผิดชอบที่คุณจะปฏิบัติ

หากนายจ้างตอบคำถามของคุณอย่างเป็นรูปธรรมราวกับว่ามาจากหนังสือโดยไม่มีรายละเอียดก็เป็นไปได้มากว่ายังไม่มีกระบวนการ DevOps ในบริษัท แต่นี่ไม่ใช่เหตุผลที่จะปฏิเสธ ให้ศึกษา บริษัท และผลิตภัณฑ์ของ บริษัท ไม่ว่าจะออนไลน์อยู่หรือไม่ บริการที่บริษัทพัฒนาเอง แอพพลิเคชั่นบนมือถือ แนวคิดเกี่ยวกับผลิตภัณฑ์

หากใช่ ให้ชี้แจงว่าคุณจะต้องทำงานโดยตรงกับระบบเหล่านี้หรือไม่ หรือมีความเป็นไปได้ที่จะเคลื่อนที่ในแนวนอนไปยังทีมของบริการเหล่านี้ ในขณะที่แสดงให้เห็นถึงผลลัพธ์ที่ดีในการปฏิบัติ DevOps ถ้าใช่ มันก็คุ้มค่าที่จะใช้งานและมีประโยชน์ และหากคุณเรียนจบหลักสูตรของเรา ก็รับประกันหลักสูตรหลัง

สิ่งสำคัญคือต้องทราบว่าผู้ปฏิบัติงาน Devops จะได้รับคุณค่าที่แท้จริงเฉพาะกับประสบการณ์ในการพัฒนา/การบริหาร/การทดสอบเท่านั้น เมื่อนั้นความรู้จะไม่เป็นนามธรรม แต่จะเสริมสร้างผู้เชี่ยวชาญ (ในทุกแง่มุม) ดังนั้น แนวคิดของ “การเรียนรู้ DevOps ตั้งแต่เริ่มต้น” จึงเหมือนกับการเรียนรู้ที่จะ “ใช้เลนส์ตั้งแต่เริ่มต้น” หากคุณไม่เคยถือกล้องไว้ในมือหรือกำกับการถ่ายภาพเลย เพื่อช่วยคุณตัดสินใจว่าหลักสูตรนี้เหมาะกับคุณหรือไม่ เราได้ทำแบบทดสอบที่จะตรวจสอบระดับความรู้ที่เพียงพอของคุณ

ฉันคิดว่าหนึ่งในเทคนิค อัตราแลกเปลี่ยน — ในระหว่างการฝึกอบรมนักเรียนแต่ละคนจะกำหนดตัวเองว่าเขาต้องการพัฒนาไปในทิศทางใด เรามักจะเห็นการเปลี่ยนแปลงเมื่อนักพัฒนากลายเป็นวิศวกรโครงสร้างพื้นฐาน และผู้ดูแลระบบตระหนักว่าเขาสนใจในการเขียนโค้ด จากนั้นเขาจะศึกษาภาษาเพิ่มเติมและเสริมด้วยทักษะ DevOps ที่ได้มา ดังนั้นเราจึงยินดีต้อนรับผู้ที่รู้สึกว่าอาชีพการงานของตนติดอยู่ที่ทางแยกเป็นพิเศษ หลักสูตรนี้เริ่มในวันที่ 28 พฤษภาคม แต่คุณสามารถเข้าร่วมได้หลังจากเริ่มชั้นเรียน 2 สัปดาห์ สามารถดูโปรแกรมและทำแบบทดสอบได้ ลิงค์. เจอกันที่ OTUS!

ที่มา: will.com

เพิ่มความคิดเห็น