สถานการณ์จริงของ DevOps - รู้ว่าเกิดอะไรขึ้นตามเวลาจริง



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

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

คำแนะนำที่ฉันจะกล่าวถึงในนี้บทความ DevOps Real Time Scenariosคือ:





ดังนั้นให้เราเริ่มต้นด้วยหัวข้อแรกของเรา

DevOps คืออะไร?

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



ในส่วนถัดไปของสิ่งนี้บทความ DevOps Real Time Scenarios เราจะดูปัญหาต่างๆที่แก้ไขโดย DevOps

ปัญหาที่แก้ไขโดย DevOps

1. ส่งมอบคุณค่าให้กับลูกค้า

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



2. ลดรอบเวลา

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

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

3. เวลาในการตลาด

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

4. การแก้ไขปัญหา

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

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

CI (การรวมอย่างต่อเนื่อง) ในสถานการณ์เรียลไทม์ DevOps

1. บุคคลอาจเห็นการต่อต้านการบูรณาการอย่างต่อเนื่อง

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

เพื่อเอาชนะสิ่งนี้:

  • ประการแรกตรวจสอบให้แน่ใจว่าทั้งทีมของคุณอยู่บนเรือก่อนที่คุณจะใช้การผสานรวมอย่างต่อเนื่อง

  • CTO และหัวหน้าทีมต้องช่วยให้สมาชิกในทีมเข้าใจต้นทุนและประโยชน์ของการรวมระบบอย่างต่อเนื่อง

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

2. การรวม CI เข้ากับขั้นตอนการพัฒนาที่มีอยู่ของคุณ

การนำ CI มาใช้อย่างหลีกเลี่ยงไม่ได้มาพร้อมกับความจำเป็นในการเปลี่ยนแปลงขั้นตอนการพัฒนาบางส่วนเป็นหลัก เป็นไปได้ว่านักพัฒนาซอฟต์แวร์ของคุณอาจแก้ไขขั้นตอนการทำงานไม่ได้หากไม่เสีย สิ่งนี้เป็นไปได้ส่วนใหญ่หากทีมของคุณมีกิจวัตรที่ใหญ่กว่าในการดำเนินการเวิร์กโฟลว์ปัจจุบัน

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

เพื่อเอาชนะสิ่งนี้:

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

  • นอกจากนี้ตรวจสอบให้แน่ใจว่า บริษัท มีความหลังแม้ว่าสิ่งต่างๆอาจไม่ราบรื่นนักในช่วงแรก

3. กลับไปสู่นิสัยการทดสอบเดิม

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

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

เพื่อเอาชนะสิ่งนี้:

  • คุณต้องเน้นย้ำว่าการเขียนกรณีทดสอบตั้งแต่เริ่มต้นสามารถช่วยประหยัดเวลาให้กับทีมของคุณได้มากและสามารถรับประกันว่าผลิตภัณฑ์ของคุณครอบคลุมการทดสอบสูง

  • นอกจากนี้ให้ฝังแนวคิดไว้ในวัฒนธรรม บริษัท ของคุณว่ากรณีการทดสอบเป็นทรัพย์สินที่มีค่าเช่นเดียวกับโค้ดเบส

4. นักพัฒนาเพิกเฉยต่อข้อความแสดงข้อผิดพลาด

เป็นปัญหาทั่วไปที่เมื่อทีมใหญ่ทำงานร่วมกันจำนวนการแจ้งเตือน CI จะล้นหลามและนักพัฒนาเริ่มเพิกเฉยและปิดเสียง ดังนั้นจึงเป็นไปได้ว่าพวกเขาอาจพลาดการอัปเดตที่เกี่ยวข้องกับพวกเขา

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

เพื่อเอาชนะสิ่งนี้:

  • คุณควรส่งเฉพาะการอัปเดตที่สำคัญเท่านั้น

  • ส่งการแจ้งเตือนไปยังนักพัฒนาที่เกี่ยวข้องที่รับผิดชอบในการแก้ไขเท่านั้น

    hashmap ใน java คืออะไร

CT (การทดสอบต่อเนื่อง) ในสถานการณ์เรียลไทม์ DevOps

  1. รับข้อกำหนดข้อกำหนดที่ถูกต้อง

    หากคุณได้รับความต้องการของคุณถูกต้องเกือบครึ่งหนึ่งของการต่อสู้จะชนะ ดังนั้นหากคุณมีความเข้าใจข้อกำหนดที่เฉพาะเจาะจงและถูกต้องมากคุณสามารถออกแบบแผนการทดสอบได้ดีขึ้นและครอบคลุมข้อกำหนดได้ดี

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

    แนวทางปฏิบัติเหล่านี้จะช่วยแก้ไขและแก้ไขช่องว่างได้รวดเร็วยิ่งขึ้น นอกจากนี้ยังช่วยให้พวกเขาสร้างกรณีทดสอบได้มากขึ้นโดยอัตโนมัติตั้งแต่ช่วงแรกของการวิ่ง

  2. การจัดระเบียบท่อ

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

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

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

    ในระยะสั้นเป็นไปไม่ได้ที่จะทำการทดสอบอย่างต่อเนื่องโดยปราศจากความเร็วและความน่าเชื่อถือของไปป์ไลน์ที่เป็นมาตรฐานและอัตโนมัติ

  3. เพิ่มขนาดและจัดการความซับซ้อน

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

    คุณต้องอัปเดตการทดสอบทุกครั้งที่คุณอัปเดตเฟสต่างๆและสคริปต์อัตโนมัติ ด้วยเหตุนี้เวลาโดยรวมที่ใช้ในการทดสอบจึงมีแนวโน้มที่จะเพิ่มขึ้นในการเปิดตัว

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

  4. การสร้างลูปข้อเสนอแนะ

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

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

  5. ขาดสภาพแวดล้อม

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

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

ซีดี (การจัดส่งแบบต่อเนื่อง) ในสถานการณ์เรียลไทม์ DevOps

  1. การทำให้ใช้งานได้ใช้เวลานานเกินไป

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

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

  2. ไม่มีอาร์ติแฟกต์สคริปต์และการอ้างอิงอื่น ๆ

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

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

  3. การตรวจสอบการผลิตที่ไม่มีประสิทธิภาพ

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

คุณต้องตกลงว่าจะตรวจสอบอะไรและข้อมูลใดที่จะผลิตจากนั้นจึงวางการควบคุมไว้ เครื่องมือการจัดการประสิทธิภาพของแอปพลิเคชันเป็นตัวช่วยที่ดีหากองค์กรของคุณสามารถจ่ายได้โปรดดูที่ AppDynamics, New Relic และ AWS X-Ray

สถานการณ์ข้อมูล DevOps

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

1. ใช้เวลาในการวิเคราะห์ข้อมูลน้อยลง

ด้วยข้อมูลทั้งหมดที่สร้างขึ้นในช่วงเวลาใดเวลาหนึ่งองค์กรต้องยอมรับว่าไม่สามารถวิเคราะห์ได้ทั้งหมด มีเวลาไม่เพียงพอในแต่ละวันและน่าเสียดายที่หุ่นยนต์ยังไม่ซับซ้อนพอที่จะทำทุกอย่างให้เราได้

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

เคล็ดลับง่ายๆในการระบุว่าข้อมูลใดสำคัญที่สุดในการวิเคราะห์:

  • สร้างแผนภูมิ: กำหนดผลกระทบที่จะเกิดกับธุรกิจของคุณโดยถามคำถามเช่น“ ถ้า X หยุดพัก จะมีผลกระทบอย่างไรกับคุณสมบัติอื่น ๆ ”

  • ดูข้อมูลในอดีต: ระบุจุดที่เกิดปัญหาในอดีตและวิเคราะห์ข้อมูลจากการทดสอบและสร้างต่อไปเพื่อให้แน่ใจว่าจะไม่เกิดขึ้นอีก

2. การสื่อสารที่ยากลำบาก

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

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

เพื่อเอาชนะปัญหานี้ให้ยกเครื่องขั้นตอนการสื่อสารเพื่อให้แน่ใจว่าทุกคนทำงานร่วมกันตลอด SDLC ไม่ใช่เฉพาะในระหว่างกระบวนการรวม

  • ขั้นแรกตรวจสอบให้แน่ใจว่ามีการซิงโครไนซ์เมตริก DevOps ตั้งแต่เริ่มต้น ความคืบหน้าของแต่ละทีมควรแสดงในแดชบอร์ดเดียวโดยใช้ Key Performance Indicators (KPI) เดียวกันเพื่อให้ผู้บริหารมองเห็นกระบวนการทั้งหมด สิ่งนี้ทำขึ้นเพื่อให้พวกเขาสามารถรวบรวมข้อมูลที่จำเป็นทั้งหมดเพื่อวิเคราะห์สิ่งที่ผิดพลาด (หรือสิ่งที่ประสบความสำเร็จ)

  • นอกเหนือจากการสนทนาเมตริกเริ่มต้นแล้วควรมีการสื่อสารอย่างสม่ำเสมอผ่านการประชุมทีมหรือช่องทางดิจิทัลเช่น Slack

3. ขาดกำลังพล

เมื่อมีพนักงานสั้นเราต้องการเครื่องมือที่ชาญฉลาดที่ใช้การเรียนรู้เชิงลึกเพื่อเจาะลึกข้อมูลที่เรากำลังรวบรวมและเข้าถึงการตัดสินใจได้อย่างรวดเร็ว ท้ายที่สุดไม่มีใครมีเวลาดูการดำเนินการทดสอบทุกครั้ง (และสำหรับองค์กรใหญ่ ๆ บางแห่งอาจมีประมาณ 75,000 คนในหนึ่งวัน) เคล็ดลับคือการกำจัดเสียงรบกวนและค้นหาสิ่งที่เหมาะสมเพื่อมุ่งเน้น

นี่คือจุดที่ปัญญาประดิษฐ์และการเรียนรู้ของเครื่องสามารถช่วยได้ เครื่องมือมากมายในตลาดปัจจุบันใช้ AI และ ML เพื่อทำสิ่งต่างๆเช่น:

  • พัฒนาสคริปต์และการทดสอบเพื่อย้ายและตรวจสอบความถูกต้องของข้อมูลต่างๆ

  • รายงานคุณภาพตามพฤติกรรมที่เรียนรู้ก่อนหน้านี้

  • ทำงานเพื่อตอบสนองต่อการเปลี่ยนแปลงแบบเรียลไทม์

ด้วยเหตุนี้เราจึงมาถึงตอนท้ายของบทความนี้เกี่ยวกับ DevOps Real Time Scenarios

ตอนนี้คุณเข้าใจแล้วว่า DevOps Real Time Scenarios คืออะไรลองดูสิ่งนี้ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก หลักสูตรการฝึกอบรม Edureka DevOps Certification ช่วยให้ผู้เรียนเข้าใจว่า DevOps คืออะไรและได้รับความเชี่ยวชาญในกระบวนการและเครื่องมือต่างๆของ DevOps เช่น Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack และ GIT สำหรับการทำหลายขั้นตอนใน SDLC โดยอัตโนมัติ

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของสิ่งนี้บทความ DevOps Real Time Scenariosและเราจะติดต่อกลับ