ความเกี่ยวข้องระหว่าง Microservice และ API Gateway

Microservice คือสถาปัตยกรรมซอฟต์แวร์ที่แบ่งระบบหรือแอปพลิเคชันออกเป็นหน่วยย่อย ๆ ที่เรียกว่า “บริการ” (services) ซึ่งแต่ละบริการมีความสามารถเฉพาะและทำงานอิสระจากกัน โดยมีการเชื่อมต่อกันผ่านระบบ API หรือโปรโตคอลต่าง ๆ

คุณสมบัติหลักของ Microservice:

  1. แยกส่วนกันอย่างอิสระ: แต่ละบริการสามารถพัฒนา, ทดสอบ, ปรับปรุง หรือปรับขยายได้อย่างอิสระ โดยไม่กระทบต่อบริการอื่น
  2. การสื่อสารผ่าน API: บริการแต่ละตัวสื่อสารกันผ่านโปรโตคอลเครือข่าย เช่น HTTP/REST, gRPC หรือ WebSocket
  3. การปรับขยาย (Scalability): สามารถปรับขยายเฉพาะบริการที่มีความต้องการสูงโดยไม่ต้องปรับขยายทั้งระบบ
  4. การจัดการเทคโนโลยีหลากหลาย: แต่ละบริการสามารถใช้ภาษาโปรแกรม, ฐานข้อมูล หรือเทคโนโลยีอื่น ๆ ที่แตกต่างกันได้
  5. การพัฒนาแบบอิสระ: ทีมพัฒนาสามารถทำงานบนบริการต่าง ๆ ได้พร้อมกัน โดยไม่ต้องรอการปรับปรุงส่วนอื่น ๆ ของระบบ

ความเกี่ยวข้องระหว่าง Microservice และ API Gateway:

เมื่อใช้สถาปัตยกรรม Microservice แต่ละบริการจะทำงานเป็นอิสระ และมี API ของตัวเอง แต่เมื่อมีหลาย ๆ บริการ ไคลเอนต์จะต้องเรียก API หลายจุดเพื่อดึงข้อมูลจากบริการต่าง ๆ ส่งผลให้การจัดการและการเชื่อมต่อกับ Backend มีความซับซ้อน ดังนั้น API Gateway จึงเข้ามาช่วยจัดการปัญหานี้ โดยทำหน้าที่เป็น ตัวกลาง (entry point) ระหว่างไคลเอนต์และบริการ Backend หลาย ๆ ตัวที่อยู่ในระบบ Microservice:

  1. รวม API หลาย ๆ ตัวให้เป็นหนึ่งเดียว: API Gateway ช่วยรวมการเรียกใช้งาน API ของหลายบริการ Microservice ผ่านทางจุดเดียว ซึ่งทำให้ไคลเอนต์ไม่ต้องสื่อสารกับหลายจุดที่แตกต่างกัน
  2. การจัดการเส้นทาง (Routing): API Gateway จะจัดการเส้นทางของคำขอ (request) จากไคลเอนต์ไปยังบริการ Backend ที่เหมาะสมในระบบ Microservice
  3. การจัดการความปลอดภัย: API Gateway ช่วยตรวจสอบสิทธิ์, การควบคุมสิทธิ์การเข้าถึง และการจำกัดการใช้งานในระดับ API ให้กับบริการต่าง ๆ ได้
  4. การรวมข้อมูล (Service Aggregation): ไคลเอนต์สามารถส่งคำขอเพียงครั้งเดียวไปที่ API Gateway แล้ว Gateway จะทำการเรียกหลาย ๆ บริการพร้อมกัน และรวมผลลัพธ์มาให้ไคลเอนต์ในคำตอบเดียว
  5. ปรับปรุงประสิทธิภาพ (Optimization): API Gateway ช่วยบีบอัดข้อมูล, แคชคำขอ, และลดการโหลดบน Backend ช่วยให้ระบบทำงานได้อย่างมีประสิทธิภาพมากขึ้น

 

ประโยชน์ของการใช้ API Gateway กับ Microservice:

  • ลดความซับซ้อนในการจัดการหลายบริการ
  • ช่วยในการควบคุมและรักษาความปลอดภัยในระดับ API
  • ช่วยในเรื่องการเพิ่มประสิทธิภาพและการสเกลระบบได้ดีขึ้น

ทำความรู้จัก API Gateway

API Gateway ทำหน้าที่การจัดการกับ Request ต่าง ๆ ที่พยายามที่จะเข้ามาเรียกใช้งาน Service ของระบบผ่าน API มีบทบาทสำคัญในการคัดกรองและจัดการ Request ต่าง ๆ ที่เข้ามา เหมาะกับการใช้งานในสถาปัตยกรรม Microservices ซึ่งมีการกระจายบริการ Backend หลาย ๆ ตัว โดย API Gateway จะช่วยควบคุมและจัดการการเรียกใช้งานได้อย่างมีประสิทธิภาพ

คุณสมบัติของ API Gateway:

  •  Single Entry Point : API Gateway ช่วยรวมการเข้าถึง API หลาย ๆ ตัวไว้ในที่เดียว ทำให้ไคลเอนต์สามารถสื่อสารกับ Backend หลายบริการได้ผ่าน API Gateway เพียงแห่งเดียว ไม่จำเป็นต้องเรียกใช้งาน API หลาย ๆ อันโดยตรง
  •  Routing : API Gateway จะทำหน้าที่ส่งคำขอ (request) จากไคลเอนต์ไปยังบริการ Backend ที่เหมาะสม โดยจัดการเส้นทางที่ไคลเอนต์ต้องการใช้งาน
  •  Protocol Translation : API Gateway สามารถแปลงรูปแบบคำขอหรือโปรโตคอลระหว่างไคลเอนต์กับ Backend ได้ เช่น การแปลงจาก REST API เป็น gRPC หรือ WebSocket
  •  Security : API Gateway รองรับการตรวจสอบสิทธิ์ (authentication), การควบคุมสิทธิ์การเข้าถึง (authorization), การจัดการ SSL/TLS และการจำกัดอัตราการใช้งาน (rate limiting)
  •  Caching : API Gateway สามารถช่วยเพิ่มประสิทธิภาพโดยการแคชข้อมูล หรือบีบอัดคำขอ/คำตอบเพื่อลดภาระการส่งข้อมูล
  •  Logging & Monitoring : ช่วยให้สามารถติดตามการเรียกใช้งาน API ได้อย่างละเอียด เช่น การบันทึกการเรียกใช้ การตรวจสอบประสิทธิภาพ และการแก้ไขปัญหา
  •  Load Balancing : ช่วยกระจายคำขอไปยังเซิร์ฟเวอร์ Backend หลาย ๆ ตัวเพื่อรองรับการโหลดสูง ๆ

ข้อดีของการใช้ API Gateway:

  • เพิ่มความยืดหยุ่น: การเปลี่ยนแปลง Backend สามารถทำได้โดยไม่กระทบกับไคลเอนต์ เพราะคำขอทั้งหมดถูกจัดการผ่าน API Gateway
  •  Service Aggregation : ไคลเอนต์สามารถทำคำขอครั้งเดียวเพื่อเรียกหลาย ๆ บริการใน Backend และรับผลลัพธ์ที่ถูกรวมมาในคำตอบเดียว
  • การจัดการ API ง่ายขึ้น: การจัดการการเข้าถึงและความปลอดภัยเป็นศูนย์กลางช่วยให้จัดการ API ทั้งหมดได้จากจุดเดียว

ตัวอย่าง API Gateway ที่นิยมใช้:

  1. AWS API Gateway: เป็นบริการที่ AWS ให้บริการสำหรับการจัดการและเชื่อมต่อ API กับบริการต่าง ๆ ในระบบ Cloud
  2. Kong: เป็น API Gateway ที่ได้รับความนิยม สามารถขยายการทำงานได้ผ่านปลั๊กอินต่าง ๆ และรองรับหลายโปรโตคอล
  3. NGINX: นอกจากเป็น Web Server แล้วยังมีส่วน API Gateway เพื่อใช้ในการจัดการและปรับแต่ง API ต่าง ๆ
  4. Google Cloud Endpoints: เป็น API Gateway สำหรับเชื่อมต่อกับบริการบน Google Cloud

Mermaid Chart

Mermaid Chart เป็นเครื่องมือที่ใช้ในการสร้าง diagrams และ visualizations จาก text-based syntax อย่างง่าย ๆ โดยตรงในเอกสาร Markdown หรือในแอปพลิเคชันที่รองรับ เช่น GitHub, GitLab, Notion, และอื่น ๆ ช่วยให้ผู้ใช้สามารถเขียน แผนภาพ ได้โดยใช้โค้ดง่าย ๆ แทนการสร้างแผนภาพด้วยเครื่องมือแบบกราฟิก ผู้ใช้สามารถเขียนโค้ด Mermaid และสร้าง diagrams เช่น flowchart, sequence diagram, Gantt chart, class diagram, ER diagram และอื่น ๆ ได้อย่างง่ายดาย

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

ความสำคัญของ Mermaid

  • ง่ายต่อการสร้างแผนภาพ: Mermaid มี syntax ที่เข้าใจง่ายและทำให้การสร้าง diagrams เป็นเรื่องที่สะดวกสำหรับผู้ที่ต้องการทำงานกับแผนภาพบ่อย ๆ โดยไม่ต้องใช้โปรแกรมแยกออกไป
  • รวมกับแพลตฟอร์มต่าง ๆ ได้ดี: Mermaid ถูกฝังในหลายแพลตฟอร์มที่ใช้สำหรับการทำงานเอกสารและเขียนโค้ด เช่น GitHub, GitLab, Notion, และโค้ด editor บางตัว ทำให้การทำงานเป็นแบบ seamless โดยไม่ต้องใช้เครื่องมือภายนอก
  • เหมาะกับการทำงานร่วมกัน: Mermaid ช่วยในการแสดงข้อมูลและความคิดผ่าน diagrams ในแบบ text-based ซึ่งเหมาะกับการทำงานเป็นทีมหรือในงานที่ต้องมีการปรับปรุงแผนภาพบ่อย ๆ

 

การใช้งานทั่วไป

  • ใช้ในการสร้าง flowchart หรือ sequence diagram สำหรับการอธิบายขั้นตอนการทำงานของแอปพลิเคชัน
  • ใช้สร้าง Gantt chart สำหรับการบริหารจัดการโครงการหรือการวางแผนเวลา
  • ใช้สำหรับการสร้าง Entity-Relationship (ER) Diagrams ในการออกแบบฐานข้อมูล

 

Mermaid เป็นเครื่องมือที่มีประโยชน์มากสำหรับนักพัฒนาซอฟต์แวร์, นักออกแบบระบบ, และผู้ที่ทำงานด้านเอกสารหรือวางแผนโครงการ ทำให้สามารถสร้าง diagrams ได้อย่างรวดเร็วและง่ายดาย

 

Microsoft Bing AI Chat (aka Copilot)

bing.com

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

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

การสร้างข้อความ
สร้างข้อความ เป็นโทนและรูปแบบที่หลากหลาย เพื่อใช้ร่างอีเมล โพสต์ในบล็อก สุนทรพจน์ บทกวี เรื่องสั้น เป็นต้น สามารถสรุปข้อมูลจากบทความได้ สามารถแปลข้อความเป็นภาษาต่างๆ ช่วย rewrite เนื้อหาได้

Requirements: Web Browser แนะนำให้ใช้ Microsoft Edge
สามารถใช้ของ Microsoft (hotmail, outlook) ในการล็อคอิน Microsoft และ ณ ปัจจุบันยังไม่ต้องใช้การล็อคอินในการใช้งาน

Gemini (Bard) – AI Chatbot

Bard (Backbone Transformer) architecture (เปลี่ยนเป็น “Gemini” https://gemini.google.com/, เม.ย. 2567) เป็นเครื่องมือแบบ AI Chat Bot ที่มีลักษณะการใช้งาน เช่นเดียวกันกับ ChatGPT พัฒนาจาก Large Language Model

ฟังก์ชันความสามารถ:

1) Language Understanding

  • Natural Language Processing (NLP): เข้าใจและตอบสนองคำสั่งในภาษามนุษย์ คำถามทั้งแบบที่ง่ายและคำถามที่ประโยคซับซ้อนมากขึ้น รวมถึงคำถามที่ขอให้คิดออกแบบสร้างสรรค์ขึ้นมาตามจินตนาการ
  • Sentiment Analysis: สามารถตรวจจับลักษณะของประโยคข้อความที่แสดงออกถึงสภาพอารมณ์ emotional tone และสามารถตอบสนองปรับตามสภาพดังกล่าวได้
  • Context Awareness: สามารถอ้างอิงตามบริบทของซีรี่ย์ของบทสนทนาที่เกิดขึ้นและสามารถตอบสนองตามบริบทนั้นได้

2) Information Retrieval and Generation

  • Search: เข้าถึงข้อมูลผ่านผลลัพธ์การค้นหาด้วย Google Search และตอบสนองได้สอดคล้องกับผลลัพธ์การค้นหานั้น
  • Question Answering: สามารถตอบคำถามได้หลากหลาย in a comprehensive and informative way แม้ว่าจะเป็นคำถามที่แปลกหรือท้าทาย
  • Text Generation: สร้างสรรค์ข้อความ ที่หลากหลาย อาทิ บทกลอน บทกวี โค้ดภาษาโปรแกรม แต่งเพลงพร้อมโน้ตดนตรี เนื้อหาของจดหมายอีเมล เป็นต้น

3) Information Retrieval and Generation

  • Translation: แปลภาษาได้
  • Summarization: สามารถสร้างสรุปเนื้อหาข้อมูลจากบทความที่ต้องการได้
  • Writing: ช่วยในการเขียน เช่น การ brainstorming

Requirements:

  • Hardware: อุปกรณ์ที่มี web browser (ระบบปฏิบัติการไม่จำกัด) และการเชื่อมต่ออินเทอร์เน็ต – computers, laptops, smartphones, and tablets
  • Software: web browser : Chrome, Firefox, Safari, or Edge
  • Additional requirements: มีสมาชิกบัญชี Google

Gamma.app – AI ช่วยสร้าง Preaentation

AI Tool ที่สามารถสร้าง presentation ได้เก่งมาก สามารถสร้างสไลด์ได้จากเพียงกำหนดชื่อเรื่องเท่านั้น ระบบจะคิด outline ให้โดยอัตโนมัติ จะบบจะหารูปแบบที่เหมาะสมกับเนื้อหาในแต่ละ slide และภาพภาพประกอบให้ด้วย

Link : https://gamma.app/

Continue reading “Gamma.app – AI ช่วยสร้าง Preaentation”

Synthesia.io – AI ช่วยทำ VDO พรีเซ้นต์

Synthesia เป็น AI ที่ทำทางด้าน Generate ไฟล์ VDO โดยแปลงข้อความเป็นเสียงพูด Text to speech และมี avator ให้ใช้งานจำนวนมาก โดย avatar จะทำหน้าที่พูดตาม text ที่เราใส่เข้าไป การขยับปาก เสียงพูด สีหน้าและท่าทาง ดูเป็นธรรมชาติ มีภาษาพูดให้เลือกหลายภาษารวมถึงภาษาไทย

Link : https://www.synthesia.io/

Continue reading “Synthesia.io – AI ช่วยทำ VDO พรีเซ้นต์”

Cohesive AI – AI ช่วยทำคอนเทนต์ ข้อความ ภาพ และเสียง

Cohesive AI เป็น AI Tools ทางด้านช่วยเขียนคอนเทนต์ ที่เน้นการสร้างคอนเทนต์เป็นภาษาอังกฤษเท่านั้น ไม่มีเวอร์ชันฟรีให้ทดลองใช้ แต่มีความสามารถที่หลากหลาย เช่น เขียนบทความได้หลากหลายประเภท, ปรับข้อความให้เป็นตามจุดประสงค์ได้, เลือกภาพ แต่งภาพเพื่อแทรกในบทความได้, สร้างสคริป VDO และมี Text to speech การแปลงข้อความออกมาเป็นเสียงพูดได้ดีเยี่ยม

Link : https://cohesive.so/

Continue reading “Cohesive AI – AI ช่วยทำคอนเทนต์ ข้อความ ภาพ และเสียง”

Anissa AI – ผู้ช่วยเขียนคอนเทนต์

Anissa เป็น ai ประเภท Gerenative AI ของคนไทย รองรับภาษาไทย 100% ทำหน้าที่ช่วยทำคอนเทนต์ โดยมีรูปแบบคอนเทนต์ที่หลากหลาย และยังมีความสามารถในการวิเคราะห์ SEO ให้คอนเทนต์อีกด้วย เหมาะสำหรับ Content Creator หรือผู้ที่ต้องเขียนบทความเป็นประจำ


Link : https://anissa.ai/ Continue reading “Anissa AI – ผู้ช่วยเขียนคอนเทนต์”

NSTDA Services 2024

สำนักงานพัฒนาวิทยาศาสตร์และเทคโนโลยีแห่งชาติ (สวทช.) เป็นหน่วยงานในกำกับของ กระทรวงการอุดมศึกษาวิทยาศาสตร์วิจัยและนวัตกรรม จัดตั้งขึ้นเมื่่อปี พ.ศ. 2534 ตาม พ.ร.บ.พัฒนาวิทยาศาสตร์และเทคโนโลยี พ.ศ. 2534 เพื่อเป็นหน่วยงานที่บริหารกองทุนพัฒนาวิทยาศาสตร์และเทคโนโลยี โดยอยู่ภายใต้การกำกับดูแลของคณะกรรมการพัฒนาวิทยาศาสตร์และเทคโนโลยีแห่งชาติ (กวทช.)

ประกาศสำนักงานพัฒนาวิทยาศาสตร์และเทคโนโลยีแห่งชาติ เรื่อง โครงสร้างและการจัดองค์กร อำนาจหน้าที่ วิธีการดำเนินงาน และสถานที่ติดต่อเพื่อขอรับข้อมูลข่าวสารของสำนักงานพัฒนาวิทยาศาสตร์และเทคโนโลยีแห่งชาติ ประกาศในราชกิจจานุเบกษา เล่ม 132 ตอนที่ 79 วันที่ 13 สิงหาคม 2558 และ ประกาศ ฉบับที่ 2 เรื่องแก้ไขโครงสร้างองค์กร ราชกิจจานุเบกษา เล่ม 139 ตอนที่ 261 วันที่ 4 พฤศจิกายน 2565

สวทช. มุ่งผลักดันให้ประเทศไทยแข็งแกร่งและเจริญรุ่งเรืองบนเวทีเศรษฐกิจระดับโลก โดยการนำความสามารถอันเหนือชั้นด้านวิทยาศาสตร์และเทคโนโลยีมาช่วยให้ภาคการเกษตร และภาคอุุตสาหกรรมสามารถดำเนินงานได้ดี มีประสิทธิภาพสูงขึ้น ซึ่ง สวทช. ได้ดำเนินงานผ่านการทำงานร่วมกันของศูนย์ทั้ง 5 ศูนย์แห่งชาติ ได้แก่
• ศูนย์พันธุวิศวกรรมและเทคโนโลยีชีวภาพแห่งชาติ (BIOTEC) มุ่งพัฒนางานด้านเทคโนโลยีชีวภาพ
• ศูนย์เทคโนโลยีโลหะและวัสดุแห่งชาติ (MTEC) มุ่งพัฒนางานด้านเทคโนโลยีที่เกี่ยวข้องกับวัสดุต่างๆ
• ศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ (NECTEC) มุ่งพัฒนางานด้านอิเล็กทรอนิกส์และเทคโนโลยีคอมพิวเตอร์
• ศูนย์นาโนเทคโนโลยีแห่งชาติ (NANOTEC) มุ่งพัฒนางานด้านนาโนเทคโนโลยี
• ศูนย์เทคโนโลยีพลังงานแห่งชาติ (ENTEC) มุ่งวิจัยและพัฒนาเทคโนโลยีพลังงานของประเทศ