มาดูกันว่าการใช้ AWS และทำไมต้องใช้ Microservices สำหรับแอปพลิเคชัน FinTech เป็นอย่างไรบ้าง
สวัสดีครับ คนส่วนใหญ่อาจจะปฏิเสธและบอกว่าเราไม่สามารถที่จะนำระบบคลาวด์เข้ามาใช้ร่วมกับ FinTech ได้ ด้วยอาจจะเพราะมีข้อบังคับ มีข้อกฎหมาย และข้อห้ามอื่น ๆ แต่ถ้าหากให้พูดกันแบบเจาะจงก็คงไม่มีใครตอบได้ว่าทำไมถึงเป็นแบบนั้น
เหตุผลเพราะไม่มีอะไรมาห้ามไม่ให้เรานำระบบคลาวด์เข้ามาแก้ไขปัญหาของ FinTech ซึ่งในบทความนี้เราจะมาพูดถึงการนำคลาวด์เข้ามาใช้ใน FinTech โดยคลาวด์ที่นำมายกตัวอย่างก็จะเป็น Amazon Web Services (AWS) ซึ่งเป็นแพลตฟอร์มคลาวด์ชื่อดังที่ให้บริการครอบคลุมทั่วโลก
ทำไมถึงต้องใช้ Microservices?
- ก่อนอื่นเราจะมาดูเหตุผลที่ทำไมเราถึงต้องใช้ Microservices แทนที่จะเป็นแบบ Monolithic
- แพลตฟอร์มสามารถพัฒนาและดูแลได้ง่ายขึ้น
- ปรับแพลตฟอร์มให้เข้ากับความต้องการของลูกค้าได้ง่ายขึ้น
- เป็นเทคโนโลยีที่ไม่ล้าสมัย
- ไม่ยึดติดกับรูปแบบของโค้ดเพียงแบบนี้ สามารถเขียนส่วนต่าง ๆ โดยใช้ภาษาต่าง ๆ ได้ ทำให้สามารถตัดสินใจเลือกภาษาที่ใช้เขียนได้ง่าย
- สามารถกระจาย Service ต่าง ๆ ออกไปได้ ทำให้ถ้าหาก Service ตัวไหนเสีย ตัวอื่นก็จะเข้ามาแทนที่ ซึ่งจะไม่เกิดการ Crash อีกต่อไป
- มีความปลอดภัยที่มากขึ้นเนื่องจากสามารถตรวจสอบบริการต่าง ๆ ที่ละบริการได้
- หาก Service ตัวหนึ่งล้มเหลว แอปพลิเคชันตัวที่เหลือก็ยังสามารถทำงานต่อไปได้ โดย AWS ได้กล่าวว่าด้วยความที่ Service มีอิสระนั้นจะช่วยลดการเกิดการ Crash ของแอปพลิเคชันได้ ซึ่งในสถาปัตยกรรมแบบ Monolithic หากองค์ประกอบใดองค์ประกอบหนึ่งเกิดการล้มเหลว แอปพลิเคชันที่เหลือก็จะล้มเหลวเหมือนกัน ด้วย Microservices แอปพลิเคชันสามารถจัดการกับ Service ที่ล้มเหลวได้โดยการลดการทำงานลงซึ่งทำให้แอปพลิเคชันตัวอื่นไม่ขัดข้องได้
- ประหยัดเงิน ตัวอย่างเช่น หาก Service หนึ่งใช้ทรัพยากรในการทำงานเป็นจำนวนมาก เราก็เพียงแค่ขยาย Service นั้นเพียง Service เดียวก็ได้ ไม่จำเป็นต้องขยายทั้งแพลตฟอร์ม
- เราสามารถใช้ Service เดียวกันได้ในหลาย ๆ เวอร์ชันพร้อมกัน ทำให้เวอร์ชัน 1 2 3 ของแพลตฟอร์มมีเวอร์ชันย่อยซึ่งสามารถให้ลูกค้าเลือกตามความต้องการได้
- เมื่อ Service หนึ่งมีขนาดใหญ่มากขึ้น เราสามารถวิเคราะห์และแบ่ง Service นั้นออกเป็น Service ต่าง ๆ ได้
- เราสามารถใช้ Service ซ้ำได้ หากนึกไม่ออกก็เหมือนกับการใช้ Code Library แต่จะง่ายกว่านั้นมาก
ข้อเสีย
หากพูดว่ามีข้อดีก็ต้องมีข้อเสีย โดยข้อเสียที่เราควรรู้ก่อนที่จะใช้ Microservices นั้นมีดังนี้
เอกสาร
เราต้องตรวจสอบให้แน่ใจว่าเอกสารต่าง ๆ ที่เราทำนั้นทำอย่างถูกต้อง หากเราเป็นโปรแกรมเมอร์ เราอาจจะใช้ Tools อย่าง Swagger ถึงแม้จะเป็นแบบนั้นก็ใช่ว่าจะจบแล้ว เขียนเกี่ยวกับวัตถุประสงค์ว่าทำไมเราถึงต้องใช้ Service นี้ด้วย หรือทำไมเราถึงใช้ภาษานี้ในการเขียนโค้ด ซึ่งการทำแบบนี้จะทำให้เพื่อนร่วมงานหรือโปรแกรมเมอร์ที่ต้องรับงานไปทำต่อจากเราสามารถทำงานได้อย่างราบรื่นมากขึ้น
ไตร่ตรอง
เราควรจะคิดก่อนทำอะไรสักอย่าง เราอาจจะพูดว่าปกติเราก็ทำกันอย่างนี้นะ แต่เมื่อพูดถึง Microservices แล้วอาจจะทำแบบนั้นไม่ได้ ถึงแม้จะมีการวางแผนการทำงานเหมือนปกติ แต่เราจะต้องคิดให้มันใหญ่มากขึ้น Service ทุกอย่างที่เราสร้างนั้นจะเข้าไปอยู่บนโลกอย่างโดดเดี่ยว และพร้อมจะถูกใช้งานอยู่เสมอ ดังนั้นตรวจสอบให้แน่ใจและวางแผนล่วงหน้าไว้ หากเรากำลังสร้าง Software as a service (SaaS) เช่น ระบบบัญชี ดูให้แน่ใจว่า Service ทุกอย่างนั้นพร้อมที่จะใช้งาน เช่นในส่วนของใบแจ้งหนี้ เป็นต้น
ใครบ้างที่ใช้ Microservices ในปัจจุบัน
คนที่ใช้ Microservices นั้นมีตั้งแต่บริษัทขนาดเล็กไปจนถึงองค์กรขนาดใหญ่ที่เป็นผู้นำในอุตสาหกรรม เราจะเห็นได้ว่า Microservices นั้นถูกนำมาใช้ในแอปพลิเคชันต่าง ๆ ในปัจจุบัน
เขียนโดย Akiraz
อ้างอิงจาก Velmie (2019) Using AWS and Microservices For FinTech Applications, Available at: https://velmie.medium.com/using-aws-and-microservices-for-fintech-applications-aa3cb897a9c1 (Accessed: 29th October 2021).