การบูรณาการอย่างต่อเนื่องกับการส่งมอบเทียบกับการปรับใช้งาน

ความแตกต่างที่สำคัญระหว่างการบูรณาการอย่างต่อเนื่อง การส่งมอบ และการปรับใช้

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

การบูรณาการอย่างต่อเนื่องคืออะไร?

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

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

การจัดส่งแบบต่อเนื่องคืออะไร?

การส่งมอบอย่างต่อเนื่องเป็นวิธีการทางวิศวกรรมซอฟต์แวร์ที่ทีมงานพัฒนาผลิตภัณฑ์ซอฟต์แวร์ในวงจรอันสั้น ช่วยให้มั่นใจได้ว่าซอฟต์แวร์สามารถเผยแพร่ได้อย่างง่ายดายทุกเมื่อ

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

การปรับใช้อย่างต่อเนื่องคืออะไร

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

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

ความแตกต่างระหว่างการบูรณาการอย่างต่อเนื่องกับการส่งมอบอย่างต่อเนื่องและการปรับใช้อย่างต่อเนื่อง

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

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

ข้อดีของการบูรณาการอย่างต่อเนื่อง

ข้อดี/ประโยชน์ของการบูรณาการอย่างต่อเนื่องมีดังนี้:

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

ข้อดีของการจัดส่งอย่างต่อเนื่อง

ข้อดี/ประโยชน์ของการจัดส่งอย่างต่อเนื่องมีดังนี้:

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

ข้อดีของการใช้งานอย่างต่อเนื่อง

ข้อดี/ประโยชน์ของการปรับใช้อย่างต่อเนื่องมีดังนี้:

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

ข้อเสียของการบูรณาการอย่างต่อเนื่อง

ข้อเสีย/ข้อเสียของการรวมอย่างต่อเนื่องมีดังนี้:

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

ข้อเสียของการจัดส่งแบบต่อเนื่อง

ข้อเสีย/ข้อเสียของการจัดส่งแบบต่อเนื่องมีดังนี้:

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

ข้อเสียของการปรับใช้อย่างต่อเนื่อง

ข้อเสีย/ข้อเสียของการปรับใช้อย่างต่อเนื่องมีดังนี้:

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

แนวทางปฏิบัติที่ดีที่สุดในการบูรณาการอย่างต่อเนื่อง

ต่อไปนี้คือแนวทางปฏิบัติที่ดีที่สุดที่สำคัญบางส่วนในขณะที่ใช้การผสานรวมอย่างต่อเนื่อง

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

แนวทางปฏิบัติที่ดีที่สุดในการจัดส่งอย่างต่อเนื่อง

แนวทางปฏิบัติที่ดีที่สุดที่สำคัญบางส่วนในการดำเนินการจัดส่งอย่างต่อเนื่องมีดังนี้

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

แนวทางปฏิบัติที่ดีที่สุดในการปรับใช้อย่างต่อเนื่อง

ต่อไปนี้เป็นแนวทางปฏิบัติที่ดีที่สุดที่สำคัญบางส่วนขณะใช้งานการปรับใช้อย่างต่อเนื่อง:

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

ความท้าทายของการบูรณาการอย่างต่อเนื่อง

ต่อไปนี้เป็นความท้าทายของการบูรณาการอย่างต่อเนื่อง:

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

ความท้าทายของการส่งมอบอย่างต่อเนื่อง

ความท้าทายในการส่งมอบอย่างต่อเนื่องมีดังนี้:

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

ความท้าทายของการปรับใช้อย่างต่อเนื่อง

ต่อไปนี้เป็นความท้าทายของการปรับใช้อย่างต่อเนื่อง:

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

อะไรคือความแตกต่างระหว่างการบูรณาการอย่างต่อเนื่อง การส่งมอบอย่างต่อเนื่อง และการปรับใช้อย่างต่อเนื่อง?

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