ในส่วนของบทความวันนี้เราจะมาว่าด้วยเรื่องในการทำ API จะดีกว่าไหมถ้าฝั่ง Back-end ไม่ต้องเสียเวลาในการเขียนบ NodeJS เพื่อเรียก Microservice ในการทำ API Gateway ด้วย “KONG” ทำงานเป็นตัวกลางในการสื่อสารระหว่างอะไร แล้วทำไมจะต้องรู้เรามาหาคำตอบพร้อมๆกันได้เลยครับ
จะดีกว่าไหมถ้าฝั่ง Back-end ไม่ต้องเสียเวลาในการเขียนบ NodeJS เพื่อเรียก Microservice ในการทำ API Gateway ด้วย “KONG” ซึ่งเป็น Open Source ที่ทำหน้าที่บริหารจัดการ API (Application Programming Interface) หรือที่เรียกกันว่า API Gateway ที่สามารถ Scale ได้ง่ายและมีความปลอดภัยสูง
ในปี 2018 ได้จัดให้อยู่ในด้าน Visionaries แต่ด้วยความว่าเทคโนโลยีมันก้าวกระโดดอย่างต่อเนื่องทำให้น้อง KONG API ได้ขยับมาอยู่ตรง Leaders ในด้าน API Management
KONG ทำงานอย่างไร?
KONG ทำงานเป็นตัวกลางในการสื่อสารระหว่าง Clients กับ Microservice ต่างๆ ช่วยบริหารจัดการ Functionality ทั้งหมดเลยไม่ว่าจะเป็น Caching, Monitoring, Authentication หรือแม้กระทั้ง Rate-limiting ซึ่งจะเหมาะและตอบโจทย์ของ Modernise Application และก็สามารถ Scale ได้ทุกครั้งขึ้นอยู่กับการใช้งาน ทำให้ผู้ใช้งานสามารถโฟกัส Product และ Service ใหม่ได้โดยไม่ต้องกังวลเรื่องของการจัดการ API
KONG ดีกว่าการใช้ API traditional อย่างไร?
KONG ทำให้ผู้ใช้งานสามารถโฟกัส Product และ Service ใหม่ได้โดยไม่ต้องกังวลเรื่องของการจัดการ API เลย ซึ่งต่างจากการใช้งานแบบ Traditional ที่ทำงานแบบ Monolithic ที่ยากต่อการบริหารจัดการและขยาย ที่ส่งผลกระทบไปถึง Service อื่นๆ และไม่ว่า Service นั้นจะอยู่บน Private, Public หรือ Partner Functionality ต่างๆ เช่น Authentication หรือ Rate-Limit จะมีหน้าที่คล้ายๆกันซึ่งนอกจากที่จะไม่ตอบโจทย์ต่อการใช้งาน Modernise Applications แล้วยังมีปัญหาในด้าน Productivity อีกด้วยเนื่องจากข้อจำกัดของระบบ
How Does Kong API Gateway work?
ปัญหาของ API Gateway ทุกวันนี้คือ Visibility หรือการมองเห็นการทำงานของตัวมันเอง วันนี้ทางเราจะมาพูดถึงเจ้า Kong ว่ามันทำงานอย่างไร ก่อนอื่นเลยทุกวันนี้คำว่า Micro services เป็นที่นิยมอย่างมากเพราะมันเร็วและมีประสิทธิภาพในการสร้างแอพพลิเคชั่นต่างๆ ได้ภายในพริบตาเดียว แต่ถ้าหากเราไม่มีตัว API Gateway หรือตัวกลางที่เอาไว้สื่อสารระหว่าง Frontend กับ Backend ก็จะทำให้ชีวิตของเรายุ่งยากไปมากกว่าเดิมเลยทีเดียว
ทีนี้เรามาดูกันว่าเจ้า Kong ของเรามันทำงานอย่างไร
สมัยก่อนที่เราจะคุยกับ Frontend Dev ของเราเนี่ยจำเป็นที่จะต้องเขียนโค๊ดแต่ละบริการของ Application ขึ้นมาให้มันมีการใช้งานที่สอดคล้องกันหรือคุยกันระหว่างหน้าบ้านกับหลังบ้านซึ่งถ้าหากองค์กรไหนมีหลายแอพพลิเคชั่นนั่นก็หมายความว่า Dev เราต้องเขียน API ขึ้นมาหลายตัวดังในรูปด้านซ้ายมือซึ่งนอกจากที่ะเสียเวลาแล้วยังไม่ตอบโจทย์กับ Application ในปัจจุบันอีกด้วย
ปัญหาพวกนี้จะหมดไปถ้าหากเรามีตัว API Gateway ที่บริหารจัดการทุกๆ service ของเรานั่นก็หมายความว่า เราจะสามารถควบคุมหรือปรับแต่งค่าต่างๆ ของแต่ละ Application ผ่านตัว Kong ของเราได้เลยโดยไม่ต้องมานั่งแก้โค๊ดให้เสียเวลา อีกทั้งเวลา Dev มีปัญหาก็ยังสามารถวิเคราะห์ root cause ได้จากตัว Gateway ตัวนี้ นอกจากนี้ พี่ Kong ของเรายังเป็น Leader ใน Gartner ด้วยนะเห็นไหมล่ะว่าของเค้าดีจริง ซึ่งทาง PROEN Any Cloud เรามีให้บริการในส่วนนี้ด้วย สุดยอดเลยทีเดียว ถ้าท่านไหนสนใจหรืออยากได้ข้อมูลสามารถติดต่อมาทางแอดได้เลยจ้า
Kong Enterprise VS Kong Open-Source คืออะไร? ต่างกันอย่างไร?
หลังจากที่ได้รู้แล้วว่า Kong คือ API Gateway ที่สามารถบริหารจัดการ Microservices ต่างๆ ได้อย่างมีประสิทธิภาพ ( https://www.proen.cloud/en/blogs/kong-api/ ) และมีความปลอดภัยสูง ทั้งยังมีคุณสมบัติที่สามารถรองรับการมาของ Modernize Application กันไปแล้ว คราวนี้เราจะมาเทียบกันไปเลยว่าระหว่าง Kong Open-Source (Community) และ Kong Enterprise มีความเหมือนหรือแตกต่างกันอย่างไร เพื่อให้ทุกคนได้นำไปประกอบการตัดสินใจเพื่อเลือกใช้งานกับองค์กรได้อย่างคุ้มค่ามากที่สุด
Kong Open-Source (Community)
เรามาเริ่มที่ตัว Open-Source หรือที่หลายคนเรียกว่า Community กันก่อนเลยดีกว่า ตัวนี้คือ API Gateway แบบทั่วไป ไม่เสียค่าใช้จ่าย ซึ่งทำหน้าที่เป็นตัวกลางเชื่อมต่อและสื่อสารระหว่างแอปพลิเคชัน สามารถนำ Free Plugins มาติดตั้งเพิ่มเติมเพื่อให้เหมาะสมกับการใช้งานได้
Kong Enterprise
มาต่อกันที่ฝั่ง Enterprise กันบ้าง เปรียบเทียบให้เห็นภาพชัดๆ เลยก็คือ Kong Enterprise เป็นบริการที่เสียค่าใช้จ่ายเพื่ออัพเกรดฟีเจอร์ให้แอดวานซ์ขึ้นไปอีกขั้น ด้วยคุณสมบัติที่มากกว่า Kong Open-Source นั่นเองตัวอย่างเช่น GUI ที่เอาไว้ควบคุมการใช้งานต่างๆ มาพร้อมระบบป้องกันความปลอดภัย รองรับการขยายของ Application ในกรณีที่มี Workload สูง เสี่ยงต่อการเกิดปัญหานั่นเอง
แม้ว่า Kong Enterprise จะมาพร้อมคุณสมบัติที่ตอบโจทย์การใช้งานรอบด้านขนาดนี้ แต่รู้หรือไม่ว่า ค่าใช้จ่ายในการใช้บริการนั้นเป็นมิตรกับผู้ใช้งาน ซึ่งมาในรูปแบบของ Pay-as-you-go Pricing Model และที่มากไปกว่านั้น Kong Enterprise ยังมีทีมผู้เชี่ยวชาญหลังบ้านที่คอยให้ความช่วยเหลือในกรณีเกิดปัญหาการใช้งานอีกด้วย
เจาะฟีเจอร์ Kong Open-Source (Community) VS Kong Enterprise
Kong Open-Source (Community)
– Microservice API Gateway
สามารถที่จะใช้ API เพื่อเป็นตัวกลางของการสื่อสารแอปพลิเคชันต่างๆ
– Open Source Plugins
สามารถที่จะนำ Third Party เข้ามา Integrate กับ Kong ได้
– Community Support
ทาง Kong มีแหล่งรวบรวมข้อมูล หรือนักพัฒนาที่จะคอยช่วยเหลือและให้คำตอบตลอดเวลาในกรณีที่เราติดปัญหาต่างๆ ไม่ว่าจะเป็นการติดตั้งหรือการใช้งาน
Kong Enterprise
– Kong Admin GUI
มีหน้ากากที่เอาไว้บริหารจัดการ API
– Kong Security
รองรับในส่วนของการทำ AAA (Authentication, Authorisation, Auditing)
– Kong Dev Portal
สามารถที่จะติดตั้งหรือบริหารจัดการ Service ต่างๆ ได้
– Kong Analytics
ทำการ Monitor API traffic ได้โดยข้อมูลที่ได้รับจะเป็นแบบ Real-Time
– Kong Scalability
สามารถที่จะขยายออกหรือหดเข้าได้ทุกเมื่อขึ้นอยู่กับการใช้งานและ Traffic ต่างๆ
ทั้งนี้ บน PROEN Any Cloud ของเรายังสามารถรองรับ Kong ได้ทั้ง Enterprise และ Open-Source เพื่อรอให้ทุกคนไปสัมผัสประสบการณ์แนวหน้าในการจัดการ API ได้แล้ววันนี้