<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Case-Studies on Khomkrit | Cloud &amp; Infrastructure Architect</title><link>https://khomkrit.cc/case-studies/</link><description>Recent content in Case-Studies on Khomkrit | Cloud &amp; Infrastructure Architect</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 12 May 2026 12:05:22 +0700</lastBuildDate><atom:link href="https://khomkrit.cc/case-studies/index.xml" rel="self" type="application/rss+xml"/><item><title>VectorMesh – ออกแบบระบบ Enterprise AI-RAG ที่รองรับ High Traffic และ Secure by Design</title><link>https://khomkrit.cc/case-studies/vectormesh/</link><pubDate>Tue, 12 May 2026 12:05:22 +0700</pubDate><guid>https://khomkrit.cc/case-studies/vectormesh/</guid><description>&lt;p&gt;&lt;img alt="Vector Mesh overview architecture" loading="lazy" src="https://khomkrit.cc/images/279eff97-0663-4c9d-aaac-352125cbc4c6.jpeg"&gt;&lt;/p&gt;
&lt;p&gt;TL;DR: บทความนี้เจาะลึกแนวคิดการออกแบบและสร้าง VectorMesh ซึ่งเป็นสถาปัตยกรรมแพลตฟอร์ม AI-RAG (Retrieval-Augmented Generation) ระดับองค์กร โดยมุ่งเน้นแก้ปัญหาคอขวด (Bottleneck) ของการนำ AI ไปใช้งานจริง ผ่านการใช้ Rust, Microservices, Kubernetes (Istio + APISIX) และ Observability แบบเต็มสูบ&lt;/p&gt;
&lt;h3 id="the-problem-เมอ-ai-ทวไป-ไมตอบโจทยระดบ-enterprise"&gt;The Problem: เมื่อ AI ทั่วไป ไม่ตอบโจทย์ระดับ Enterprise&lt;/h3&gt;
&lt;p&gt;ปัจจุบันทุกองค์กรอยากนำ AI/LLM เข้ามาช่วยวิเคราะห์ข้อมูลและสร้าง Automated Workflow แต่ปัญหาที่มักเจอเมื่อนำไปขึ้น Production จริงคือ:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Security &amp;amp; Privacy: ข้อมูลความลับหลุดออกไปข้างนอก และการเชื่อมต่อภายในระบบไม่มีการเข้ารหัส&lt;/li&gt;
&lt;li&gt;Scalability: ระบบล่มเมื่อมีผู้ใช้งานพร้อมกันจำนวนมาก (High Concurrent) โดยเฉพาะในส่วนของการทำ Text Embedding&lt;/li&gt;
&lt;li&gt;Observability Blind Spots: เมื่อระบบประกอบด้วยหลาย Services เวลาระบบหน่วง ทีมหาจุดเกิดเหตุไม่เจอ&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="the-solution-vectormesh-architecture"&gt;The Solution: VectorMesh Architecture&lt;/h3&gt;
&lt;p&gt;เพื่อแก้ปัญหาเหล่านี้ ผมจึงออกแบบ VectorMesh ให้เป็น Cloud-Native API Platform อย่างเต็มรูปแบบ โดยแยกส่วนประมวลผลออกจากกัน (Decoupling) เพื่อให้สามารถ Scale เฉพาะจุดที่โหลดหนักได้ นี่คือ Core Engineering Decisions ที่ผมเลือกใช้:&lt;/p&gt;</description></item><item><title>จ่ายแพงกว่าทำไม? เจาะลึกวิธีรัน Production บน K8s ด้วย Spot + On-Demand</title><link>https://khomkrit.cc/case-studies/spotvsondemand/</link><pubDate>Thu, 04 Jul 2024 21:32:12 +0700</pubDate><guid>https://khomkrit.cc/case-studies/spotvsondemand/</guid><description>&lt;p&gt;&lt;img alt="Cloud Instance " loading="lazy" src="https://khomkrit.cc/images/spotvsondemand.png"&gt;&lt;/p&gt;
&lt;h3 id="cloud-instance-มประเภทไหนบาง"&gt;Cloud Instance มีประเภทไหนบ้าง&lt;/h3&gt;
&lt;p&gt;Cloud Instance ภายใน Cloud Provider ชั้นนำอย่าง AWS, GCP หรือ Azure สามารถแบ่งประเภทการใช้งานหลักๆ ได้เป็น 2 รูปแบบ เพื่อตอบโจทย์ทั้งด้านความเสถียรและต้นทุน:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;On-Demand Instance: เป็นรูปแบบการใช้งานมาตรฐานที่เราเช่าใช้แบบรายชั่วโมงหรือรายวินาที ให้ความมั่นใจในด้าน Availability สูงสุด (24/7) เหมาะสำหรับ Workload ที่ต้องการความเสถียรและรันต่อเนื่องตลอดเวลา&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Spot Instance: ทางเลือกสำหรับสาย Optimized Cost ที่สามารถลดค่าใช้จ่ายได้ถึง 60 - 80% จากราคา On-Demand! แต่มาพร้อมกับข้อตกลงสำคัญคือ Cloud Provider มีสิทธิ์ &amp;lsquo;ยึดคืน&amp;rsquo; (Preempt) Instance ของเราได้ตลอดเวลา หากระบบต้องการ Capacity ไปใช้ในส่วนอื่น ซึ่งหมายความว่าแอปพลิเคชันของเราต้องถูกออกแบบมาให้รองรับการหยุดทำงานหรือการย้าย Node ได้โดยไม่กระทบต่อภาพรวมระบบ&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;เราควรจัดการ Workload แบบไหนดีให้เหมาะสมที่สุด ?&lt;/p&gt;
&lt;h3 id="the-golden-ratio-เลาถงสถาปตยกรรมทแบง-node-pool-เปน-2-สวน"&gt;The Golden Ratio: เล่าถึงสถาปัตยกรรมที่แบ่ง Node Pool เป็น 2 ส่วน:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;On-Demand Pool: สำหรับ Core Services ที่ห้ามตายเด็ดขาด (เช่น APISIX Ingress, Database, StatefulSet, ETCD)&lt;/li&gt;
&lt;li&gt;Spot Pool: สำหรับ Stateless Workloads(เช่น API Workers, AI Inference API, Background Jobs)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="prerequisites-สงทตองเตรยมตวกอนยาย-workload-ลง-spot"&gt;Prerequisites: สิ่งที่ต้องเตรียมตัวก่อนย้าย Workload ลง Spot&lt;/h3&gt;
&lt;p&gt;Stateless by Design: แอปพลิเคชันต้องไม่เก็บ State ไว้ใน Memory หรือ Local Disk หากถูกเตะออกกลางคัน State ต้องยังอยู่ใน Database (เช่น ScyllaDB หรือ Redis)&lt;/p&gt;</description></item></channel></rss>