เปิดตัว Application อย่างไร ไม่ให้ล่ม
6 สิงหาคม 2564
ทำไม ทุกคนสงสัยว่า แม้บริษัทที่มีการพัฒนาแอปพลิเคชันชั่นไว้สำหรับให้บริการลูกค้า หลายบริษัท จะมีการลงทุนพัฒนาระบบ infrastructure ของตัวเองเป็นอย่างดีเยี่ยม ทั้งเรื่องระบบเน็ตเวิร์ค จำนวนเครื่องเซอร์เวอร์สำหรับประมวลผล และสตอร์เรสที่มีประสิทธิ์ภาพสูง แต่แอปพลิเคชันที่ทำงานบนระบบ infrastructure ที่ออกแบบมาอย่างดีเยี่ยม ยังคงเกิดปัญหาไม่สามารถรองรับผู้ใช้งานจำนวนมาก ที่เข้ามาพร้อมๆกันได้ โดยเฉพาะ “วันเปิดตัวแอปพลิเคชัน”
วันนี้ทาง Get On Technology DevOps Team ขออนุญาตเล่าให้ฟัง
ก่อนอื่น เรามารู้จักคำว่า Cloud Native Application คืออะไร และมีความเกี่ยวข้องอย่างไรกับการทำงานของแอปพลิเคชัน
Cloud Native Application คือเทคโนโลยีการพัฒนาแอปพลิเคชันยุคใหม่ ที่สามารถพัฒนาแอปพลิเคชันได้ โดยนำ คุณสมบัติและข้อดีของคลาวด์มาใช้ เช่นการสเกลได้อย่างรวดเร็ว เมื่อมีผู้ใช้งานจำนวนมาก หรือลดทรัพยากรได้เมื่อผู้ใช้น้อยลง โดยไม่มีผลกระทบกับระบบงานที่รันอยู่ แอปพลิเคชันสามารถทำงานได้ในทุกสภาวะแวดล้อมทั้งบน Public, Private หรือ Hybrid cloud ไม่ว่าจะเป็น platform จากค่ายเดียวกันหรือต่างค่ายก็ตาม ผ่านการใช้งานระบบคอนเทนเนอร์เทคโนโลยี ซึ่งปัจจุบันได้รับความนิยมมากที่สุดคงหนีไม่พ้น Kubernetes (K8S) ที่มาพร้อมฟังก์ชั่นต่างๆ เพื่อช่วยบริหารจัดการแอปพลิเคชัน ทั้งการกระจายโหลดงานแอปพลิเคชัน (Load Balance) ทำงานไม่ให้เกิดภาวะคอขวด, มีระบบซ่อมแซมตัวเองเมื่อคอนเทรนเนอร์ไม่สามารถทำงานต่อได้และย้ายแอปพลิเคชัน ไปทำงานบนคอนเทรนเนอร์อื่นจนกว่าระบบ K8S จะตรวจเช็คได้ว่าคอนเทรนเนอร์นั้นได้กลับมาทำงานเป็นปกติแล้ว ทำให้ผู้ใช้งานสามารถใช้งานแอปพลิเคชันได้อย่างต่อเนื่องที่ รวมถึง สามารถนำระบบรวบรวม ทดสอบ และ deploy code…..อัตโนมัติมาใช้เพื่อลดความซับซ้อนของระบบงาน(CI/CD) ทำให้ผู้พัฒนาซอฟท์แวร์ (Developers) สามารถพัฒนาแอพพลิเคชั่นได้บ่อยและต่อเนื่องยิ่งขึ้นเพื่อให้แอปพลิเคชันมีความทันสมัยตลอดเวลาตอบสนองต่อความต้องการผู้ใช้งานในยุคปัจจุบันที่มีการเปลี่ยนแปลงอย่างรวดเร็ว ผ่านแนวคิด DevOps เพื่อให้เกิดเป้าหมายร่วมกันของทุกทีมในองค์กร ทำให้ซอฟท์แวร์ได้รับการพัฒนาอย่างมีประสิทธิภาพ ส่งมอบได้อย่างรวดเร็ว ทันต่อความต้องทางธุรกิจ และประหยัดค่าใช้จ่ายในการบริหารจัดการ
ดังตัวอย่างภาพที่เราเห็นได้ชัดเจนที่สุดในปัจจุบัน เช่น การปรับตัวทางธุรกิจของหลายๆองค์กร ในยุค New normal ที่นำแอปพลิเคชันแบบออนไลน์ มาให้บริการลูกค้า ด้านงานขาย งานบริการ งานให้คำปรึกษา ทั้งทางด้านสุขภาพ และการเงิน ซึ่งบางครั้งอาจมีผู้ใช้งานจำนวนมากเข้ามาในระบบพร้อมๆกัน ณ ช่วงเวลาใดเวลาหนึ่ง ทำให้ระบบไม่สามารถทำงานได้ทัน หรือหยุดทำงานไปเลย เกิดความล่าช้า บางคนเข้าได้ บางคนเข้าไม่ได้ ระบบเกิดภาวะคอขวด จนไม่สามารถเข้าเวปไซต์นั้นได้ในที่สุด นั่นเพราะระบบที่ใช้ในการประมวลผลหลักให้กับแอปพลิเคชันตอบสนองไม่ทัน รวมถึงระบบที่ใช้เทคโนยีแบบเดิมมีความยุ่งยากเมื่อต้องสเกลหรือขยายระบบประมวลผล ไม่สามารถตอบสนองได้ทันที ซึ่งกว่าจะสามารถแก้ไขปัญหานี้ได้ต้องใช้เวลานาน หลายชั่วโมง มีผลกระทบทางธุรกิจ ความพึงพอใจหรือประสบการณ์การใช้บริการระบบของลูกค้า อาจจะทำให้สูญเสียรายได้ ความน่าเชื่อถือขององค์กร ในขณะที่คู่แข่งสามารถพัฒนาและตอบสนองต่อผู้บริโภคได้เร็วกว่า
จากที่ได้กล่าวมานั้น การลงทุนฮาร์ดแวร์ ด้าน Infrastructure เพียงอย่างเดียวคงไม่เพียงพออีกต่อไป แต่จำเป็นต้องมีระบบคอนเทรนเนอร์ ควบคู่ไปกับการใช้ระบบอัตโนมัติ (CI/CD) นับตั้งแต่ทีมผู้พัฒนาแอปพลิเคชัน (Development) มีการ commit code ผ่านระบบการทดสอบต่างๆ จนกระทั่งนำระบบแอปพลิเคชันขึ้นใช้งานบนระบบจริง ผ่านความร่วมมือของทีมที่เกี่ยวข้อง (DevOps)
การนำเทคโนโลยีต่างๆเหล่านี้มาใช้ร่วมกับแอปพลิเคชัน ทำให้แอฟพริเคชั่นทำงานได้มีเสถียรภาพมากขึ้น ลดความผิดพลาดการนำแอปพลิเคชันขึ้นใช้งาน และความกังวลของทีมงานผู้เกี่ยวข้อง ทันต่อความต้องการของตลาด (Time to market) ส่งผลดีต่อธุระกิจ และเป็นภาพลักษณ์ที่ดีต่อองค์กร
บริษัทเก็ตออนเทคโนโลยี มีระบบและบุคคลากรที่มีความชำนาญและมีประสบการณ์ พร้อมให้บริการ คำปรึกษา แนะนำ ช่วยเหลือลูกค้าสำหรับโซลูชั่น ดังกล่าว เพื่อให้ลูกค้าสามารถพัฒนาแอปพลิเคชันบนระบบที่มีเสถียรภาพ และประสิทธิภาพได้อย่างเหมาะสม