แนวคิดเกี่ยวกับระบบการตรวจสอบและแอปพลิเคชันมีมานานหลายปีแล้ว การตรวจสอบให้แน่ใจว่าระบบและแอปพลิเคชันทำงานตามที่ควรจะเป็นไม่ใช่เรื่องใหม่ มันเป็นเพียงองค์ประกอบที่มีการเปลี่ยนแปลงอย่างมาก โดยเฉพาะกับประสิทธิภาพของแอปพลิเคชันและโหลดโดยใช้แนวปฏิบัติที่เรียกว่า Application Performance Monitoring (APM)

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

เอพีเอ็ม คืออะไร

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

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

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

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

เหตุใด APM จึงมีความสำคัญ

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

ในยุคที่เราอาศัยอยู่ ทุกองค์กรต้องคิดว่าตัวเองเป็นบริษัทที่ขับเคลื่อนด้วยเทคโนโลยี/ซอฟต์แวร์

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

การตรวจสอบประสิทธิภาพของแอปพลิเคชันคือความแตกต่างระหว่างแอป/ซอฟต์แวร์ที่ทราบกันว่าทำงานและพร้อมใช้งานตลอดเวลา หรือแอปที่ไปที่หน้า 2 ของ Google เนื่องจากไม่มีใครใช้งานอีกต่อไปเนื่องจากลักษณะที่ไม่มีประสิทธิภาพ

เหตุใดธุรกิจจึงต้องการ APM

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

  1. แอปพลิเคชันของคุณช้าเมื่อเข้าถึงผู้ใช้มากกว่า X จำนวนหรือไม่
  2. แอพปรับขนาดได้ดีหรือลดลง?
  3. ซอฟต์แวร์เชื่อถือได้หรือไม่เพื่อให้ผู้ใช้ต้องการกลับมาอีก?

ลองคิดแบบนี้ด้วยคำถามเดียวว่า Amazon จะได้รับความนิยมเท่าตอนนี้ไหมหากลดลง 4-5 ชั่วโมงต่อวัน?

แนวทางปฏิบัติของ APM

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

  • การตรวจสอบประสิทธิภาพแอพมือถือ
  • การตรวจสอบประสิทธิภาพแอปเดสก์ท็อป
  • การตรวจสอบ API
  • การตรวจสอบแอปคอนเทนเนอร์
  • ความสามารถในการสังเกตจากระบบสู่การใช้งาน

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

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