คู่มือฉบับสมบูรณ์เกี่ยวกับกลยุทธ์การย้ายถิ่นเทคโนโลยี: (ตอนที่ 1 – บทนำ)

เผยแพร่แล้ว: 2020-12-23

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

  1. การโยกย้ายเทคโนโลยี
  2. การโยกย้ายเทคโนโลยีส่วนหน้า
  3. การโยกย้ายเทคโนโลยีแบ็กเอนด์
  4. CMS สร้างเว็บไซต์ Migration
  5. การย้ายฐานข้อมูล
  6. การย้ายโดเมน & โฮสติ้งเซิร์ฟเวอร์

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

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

เหตุใดจึงต้องมีการโยกย้ายถิ่นฐาน

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

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

ขั้นตอนแรกสู่กระบวนการย้ายคือ คุณต้องกำหนดคำจำกัดความและกฎพื้นฐาน ซึ่งสามารถดำเนินการย้ายข้อมูลได้อย่างราบรื่น ขึ้นอยู่กับความต้องการของโครงการ:

  • ขั้นแรก คุณต้องวิเคราะห์สถานะปัจจุบันของโครงการหรือแอปพลิเคชันของคุณที่ต้องย้ายข้อมูล
  • คุณจะเตรียมแผนงานของความเสี่ยงที่คำนวณได้และแนวทางแก้ไขที่อาจเกิดขึ้นระหว่างการย้ายถิ่น
  • คุณต้องเลือกเทคโนโลยีที่เหมาะสมที่ตอบสนองความต้องการทั้งหมดของโครงการ
  • ถัดไป คุณจะต้องมีแผนที่เหมาะสมเพื่อดำเนินการกระบวนการย้ายข้อมูล
  • ในที่สุด เมื่อกระบวนการโอนย้ายเสร็จสิ้น ให้ตรวจสอบว่าแอปพลิเคชันทำงานตามที่คาดไว้บนแพลตฟอร์มใหม่หรือไม่
5-steps-for-process-of-migration

มีบางประเด็นที่คุณต้องจำไว้ก่อนที่จะก้าวไปข้างหน้ากับขั้นตอนการวางแผนการย้ายถิ่น

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

กำหนดขอบเขตของการย้ายถิ่น

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

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

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

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

จะจัดการกับ Scope Creeps ได้อย่างไร?

ก่อนที่เราจะเข้าใจการจัดการ Scope Creeps ให้ฉันบอกคุณเกี่ยวกับคำศัพท์ Scope Creep และผลกระทบต่อทีมพัฒนาก่อน Scope Creep เป็นผลมาจากการเปลี่ยนแปลงข้อกำหนดทางเทคนิคที่นำมาใช้ในโครงการโดยไม่ต้องขยายไทม์ไลน์หรือเพิ่มงบประมาณโครงการ

ขอบเขต-creep

มีหลายสาเหตุที่ส่งผลให้ Scope Creeps และสาเหตุทั่วไปบางประการมีการระบุไว้ด้านล่างสำหรับคุณเพื่อหลีกเลี่ยงการครีพเหล่านี้ในการโยกย้ายโครงการของคุณ

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

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

การเลือกกองเทคโนโลยี

ในฐานะนักพัฒนา มีตัวเลือกมากมายต่อหน้าคุณ เช่น MongoDB ถึง MySQL, AngularJS to React, MEAN stack to LAMP stack และเซิร์ฟเวอร์โฮสต์บนคลาวด์เช่น Amazon AWS เพื่อโฮสต์เซิร์ฟเวอร์ด้วยตนเองเช่น Apache ตัวเลือกเหล่านี้อาจทำให้ทุกคนสับสนได้ ดังนั้นจึงเป็นความรับผิดชอบของนักพัฒนาในการเลือกกลุ่มเทคโนโลยีที่วางแผนไว้สำหรับการโยกย้าย คุณต้องเตรียมพร้อมสำหรับทุกความต้องการในอนาคตด้วย

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

จ้างโซลูชั่นสถาปนิก

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

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

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