Cloud
July 18, 2023

API Gateway

API Gateway คืออะไร API Gateway เปรียบได้เหมือนประตูบ้านที่เอาไว้เปิดรับ request ต่างๆจากหน้าบ้าน (frontend) ก่อนจะทำการส่งต่อมายังหลังบ้าน (Backend) เพื่อเรียกใช้งาน service ต่างๆ

API Gateway ทำอะไรได้บ้าง

ความสามารถที่ API Gateway สามารถทำได้หลังจากการรับ request เข้ามาแล้ว มีบทบาทที่ช่วยให้ developer ทำงานได้ง่ายขึ้น และลดการทำงานบางอย่างลงไปในตัว ตัวอย่างการทำงานที่ API Gateway สามารถทำได้มีดังนี้

  • ทำการกรอง traffic ต่างๆที่รับเข้ามาก่อนส่งต่อไปยัง service ปลายทาง
  • เป็น single point of contact ทำหน้าที่ป้องกัน Endpoint ที่แท้จริงของ service โดยตัว API Gateway จะตัวเป็น API Management ทำการ Routing ไปยัง service ต่างๆต่อไป
  • รองรับในการทำ Authentication, Authorization, Auditing ให้กับ API
  • monitor traffic ที่เข้ามาสู่ service
  • Logging traffic หรือ request ต่างๆที่เข้ามาได้
  • จัดการเรื่อง Rate limite ในการเรียกใช้งาน service หลังบ้านได้
  • มี feature ในการทำ caching
  • ในบ้าง tools สามารถใช้งานร่วมกับ WAF เพื่อเพิ่มความปลอดภัยได้อีกด้วย

จากความสามารถที่พูดถึงจะเห็นว่าในหลายๆอย่างสามารถลดงานของ developer ได้เยอะมากเช่น Authentication หรือ Logging ที่เรานำมาอยู่ที่จุดเดียวได้โดยไม่ต้องผูกไปกับทุกๆ service ที่ dev ขึ้นมา ส่วนนี้ก็ยกหน้าที่ให้ API Gateway เป็นคนจัดการไปเลย

ข้อควรระวังในการใช้ API Gateway

จากหลากหลายข้อดีที่เกิดขึ้น ในการใช้งาน API Gateway ก็มีข้อควรระวังอยู่ด้วยเหมือนกัน ซึ่งเมื่อเราเลือกใช้งานแล้วอาจจะต้องมีการศึกษาในส่วนนี้ด้วย เพื่อจะได้รู้ถึงความเสี่ยงที่จะเกิดขึ้น ข้อควรระวังต่างๆมีอะไรบ้าง ?

  • อาจเกิดปัญหา Single point of Failure เนื่องจากการทำงานมารวมอยู่ที่จุดเดียว
  • ปัญหาคอขวด ( Bottle neck ) เนื่องจาก Traffic ทั้งหมดจะต้องไหลเข้ามาที่นี่
  • การมี Layer การทำงานเพิ่มขึ้น อาจจะส่งผลถึง latency ได้
  • ปัญหาการ scale เมื่อต้องรองรับการทำงานที่มากขึ้น

API Gateway Tools

ในปัจจุบัน API Gateway Tools มีให้บริการอยู่เป็นจำนวนมากทั้งที่เป็น Open Source และ Enterprise ไม่ว่าจะเป็น

Kong : เจ้าดังที่ใครๆก็รู้จัก มีให้บริการทั้งที่เป็น Open Source และ Enterprise

KrakenD : https://www.krakend.io/

Tyk : https://tyk.io/open-source-api-gateway/

ประกาศ Workshop Basic Data Engineer ครั้งที่ 1
Cloud
Sep 8

ประกาศ Workshop Basic Data Engineer ครั้งที่ 1

หัวข้อ Let's create data pipeline forBrazilian E-Commerce Public Dataset by Olist Datasetwith AWS Glue
Serverless Computing
Cloud
Jul 23

Serverless Computing

Concept สำคัญของ FinOps
Cloud
Jul 3

Concept สำคัญของ FinOps

เนื่องจากการทำงานในกระบวนการ FinOps เป็นการทำงานแบบวนซ้ำไปเรื่อย ๆ จึงต้องมีการกำหนดรูปแบบการจัดลำดับความสำคัญ โดยจัดลำดับตาม “สิ่งที่ทำให้ธุรกิจมีมูลค่าเพิ่มขึ้นสูงสุด” หรือ “ลดต้นทุนได้มากที่สุด” นั่นเองโดยการที่จะระบุว่าต้องทำอะไรก่อนหลัง ให้พิจารณาโดยใช้หลักการ Pareto (Pareto Principle) หรือ กฎ 80/20 โดยเน้นไปที่เรื่องต้นทุน ค่าใช้จ่าย หรือปัญหาที่ทำให้เกิดข้อมูลที่แปลกออกไป ซึ่งจะให้ดี ให้เราเลือกพิจารณาต้นทุนรายการที่สูงที่สุด เพราะส่วนใหญ่แล้วจะช่วยปรับปรุงต้นทุนโดยรวมได้มากที่สุด
Aa

© 2023, All Rights Reserved, VulturePrime co., ltd.