การอนุรักษ์ทางเทคนิคช่วยให้เราขยายขนาดได้เร็วขึ้นและดีขึ้นได้อย่างไร

เผยแพร่แล้ว: 2022-07-21

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

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

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

นี่เป็นโพสต์ที่หกใน ชุดที่สำรวจหลักการผลิตภัณฑ์ของ เรา ในที่นี้ Waheed กล่าวถึงหลักการทางวิศวกรรมของเราว่า "เป็นเทคนิคที่อนุรักษ์นิยม"

การอนุรักษ์ทางเทคนิคมีประโยชน์ในระยะยาวมากมาย

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

เราใช้ประโยชน์จากโครงสร้างพื้นฐานที่มีอยู่ของเราเพื่อเร่งกระบวนการจากประมาณหกเดือนเหลือเพียงหกสัปดาห์”

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

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

เราแก้ไขปัญหาของลูกค้าได้เร็วขึ้น

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

เราใช้เวลาของทีมให้เกิดประโยชน์สูงสุด

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

เนื่องจากชุดเทคโนโลยีของเราค่อนข้างเล็ก การปรับปรุงจึงเกิดขึ้นเป็นประจำ”

เราทบต้นคุณค่าของการปรับปรุงอย่างต่อเนื่อง

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

มีหลายทีมป้อนข้อมูลมากขึ้น

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

จำไว้ว่าหลักการไม่ใช่กฎ แต่เป็นแนวทาง

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

“การอนุรักษ์ทางเทคนิคหมายถึงการชื่นชอบเทคโนโลยีที่มีอยู่แล้วในสแต็กของคุณ – แต่ถ้าเป็นตัวเลือกที่ดีที่สุดเท่านั้น”

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

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

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

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

เรากำลังปรับขนาดได้เร็วกว่าที่เก็บข้อมูลของเราที่จะอนุญาต

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

“ลองนึกถึงเส้นทางของธุรกิจของคุณเป็นประจำแล้วถาม ว่า ' อะไรพาเรามาที่นี่ พาเราไปที่นั่น? '. สิ่งนี้ จะช่วยให้คุณมีความกระตือรือร้นเกี่ยวกับตัวเลือกของคุณมากกว่าที่จะตอบโต้”

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

เทคโนโลยีของเราทำให้ทีมงานของเราช้าลง

ที่ Intercom เราพยายามใช้ซอฟต์แวร์น้อยลง ในกรณีนี้ แม้ว่าเราจะนำเทคโนโลยีใหม่ที่ไม่ทราบชื่อมาใช้ แต่การนำ DynamoDB มาใช้ทำให้เราทำเช่นนั้นได้

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

“การไม่ยึดถือเรื่องการอนุรักษ์ทางเทคนิคช่วยให้เราสามารถแทนที่เทคโนโลยีด้วยค่าใช้จ่ายที่มากและความสามารถที่จำกัด”

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

เราโหดเหี้ยมเกี่ยวกับข้อกำหนด

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

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

“เมื่อคิดจะเปลี่ยนเทคโนโลยี อย่าถือเอาว่าคุณจะใช้เทคโนโลยีใหม่ในลักษณะเดียวกัน”

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

ทำให้หลักการของคุณใช้ได้ผลสำหรับธุรกิจของคุณ ไม่ใช่ในทางกลับกัน

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

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

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

อาชีพ CTA - วิศวกรรม (แนวนอน)