เราวางและดูแลโครงสร้างพื้นฐานที่ระบบงานทั้งหมด รวมถึงงาน AI วางอยู่ ตั้งแต่ติดตั้งคลาวด์และดูแลต่อเนื่อง ตั้งกฎไฟร์วอลล์และใบรับรอง TLS วางเส้นทางนำระบบขึ้นใช้งานและการขยายกำลังเครื่อง ไปจนถึง Data Pipeline, ETL, งาน IoT และแพลตฟอร์มภายในที่ทีมใช้ทำงานทุกวัน สิ่งที่เราได้จากการดูแลระบบของเราเองคือ งานไม่ได้จบตอนขึ้นใช้งานวันแรก แต่จบเมื่อระบบกลับมาเองได้หลังเครื่องรีสตาร์ต ต่ออายุใบรับรองได้เองโดยไม่ต้องมีใครคอยจำ และมีคนรู้ว่าต้องไปดูตรงไหนก่อนตอนที่มันหยุดทำงาน
ขอบเขตงาน
งานชั้นนี้แบ่งได้เป็นสองส่วน คือส่วนที่ทำให้ระบบขึ้นใช้งานและอยู่ได้ต่อเนื่อง กับส่วนที่ทำให้ข้อมูลไหลเข้ามาเองโดยไม่ต้องมีคนไปตามเก็บ เรารับดูแลทั้งสองส่วน รวมถึงเครื่องมือภายในที่ทีมใช้มองภาพรวมของมันอีกที
- ติดตั้งและดูแลคลาวด์ วางระบบบน GCP, Azure, AWS หรือ DigitalOcean แยกสภาพแวดล้อมทดสอบกับใช้งานจริง กำหนดสิทธิ์เข้าถึง วางแผนสำรองข้อมูล และดูแลต่อหลังส่งมอบ
- ความปลอดภัยที่ด่านหน้า ตั้งกฎไฟร์วอลล์ วาง reverse proxy ให้เป็นทางเข้าสาธารณะทางเดียว และติดตั้งใบรับรอง TLS ที่ต่ออายุเองได้
- การนำขึ้นใช้งานและการขยายระบบ วางขั้นตอน deploy ที่ทำซ้ำได้เหมือนกันทุกครั้ง ตรวจสุขภาพระบบระดับพอร์ต และเพิ่มกำลังเครื่องเมื่อปริมาณงานโตขึ้น
- Data Pipeline และ ETL Automation ดึง แปลง และโหลดข้อมูลจากหลายแหล่งให้มารวมที่เดียวตามรอบเวลาที่กำหนด
- Data Scraping เก็บข้อมูลจากเว็บและเอกสารสาธารณะ แล้วแปลงข้อมูลที่ไม่มีโครงสร้างให้เป็นตารางที่นำไปวิเคราะห์ต่อได้
- IoT Solution เชื่อมอุปกรณ์และกล้องเข้ากับระบบประมวลผล เพื่อส่งค่าที่อ่านได้และการแจ้งเตือนแบบใกล้เคียงเรียลไทม์
- แพลตฟอร์มและเครื่องมือภายใน อย่าง BuildOS ที่รวมรายการบริการที่กำลังรัน พอร์ตที่ใช้ และงานลูกค้าที่กำลังส่งมอบไว้ในหน้าจอเดียว
- ระบบเติมเครดิตและรับชำระเงิน มีกระเป๋าเงินที่เห็นยอดคงเหลือและประวัติธุรกรรมทุกรายการ รองรับทั้ง PromptPay QR และบัตรเครดิต
เราดูแลระบบของเราเองด้วยวิธีเดียวกัน
วิธีที่เราวางระบบให้ลูกค้า คือวิธีเดียวกับที่เราใช้ดูแลเครื่องของเราเอง ซึ่งมีเว็บแอปพลิเคชันที่แยกขาดจากกันราวยี่สิบตัวรันอยู่พร้อมกัน ทุกข้อด้านล่างมาจากปัญหาที่เจอมาเองแล้วทั้งนั้น ไม่ใช่ข้อแนะนำที่ยกมาจากคู่มือของผู้ให้บริการคลาวด์
- แต่ละแอปมีพอร์ต loopback ของตัวเอง มี virtual environment และเวอร์ชัน Python ของตัวเอง การอัปเกรดแอปหนึ่งจึงไม่ลากอีกสิบเก้าตัวลงไปด้วย
- nginx เป็นทางเข้าสาธารณะทางเดียว แต่ละโดเมนถูก reverse proxy ไปยังแอปของตัวเอง โดยมีใบรับรองจาก Let's Encrypt ที่ต่ออายุอัตโนมัติ และใบเดียวครอบได้หลายชื่อโดเมน
- แอปผูกกับ loopback เท่านั้น ไม่ผูกกับทุกอินเทอร์เฟซ ข้อนี้ตั้งใจทำ เพราะแอปที่เปิดรับทุกอินเทอร์เฟซจะถูกเข้าถึงตรงได้โดยไม่ผ่าน TLS ไม่ว่าจะตั้งค่า proxy ไว้รัดกุมแค่ไหน
- กฎ deny ชุดเดียวกันถูกใส่ไว้ในทุก virtual host เพราะเคยมีสแกนเนอร์ดึงหน้าเอกสาร API ของเฟรมเวิร์กและไฟล์ที่ขึ้นต้นด้วยจุดออกไปจากเว็บข้างเคียงมาแล้ว
- ทุกบริการรันในกลุ่มโปรเซสของตัวเอง เก็บ process id ไว้ และตรวจสถานะใหม่ตอนบูต ร่วมกับ health check ระดับพอร์ต การรีสตาร์ตตัวควบคุมจึงไม่ดึงบริการอื่นดับตามไปด้วย
- การ deploy เขียนไว้เป็นสคริปต์ ไม่ทำด้วยมือ และตรวจว่าเครื่องเข้าถึงได้จากภายนอกจริงก่อนขอใบรับรองทุกครั้ง เพราะผู้ออกใบรับรองต้องเรียกเข้ามาจากอินเทอร์เน็ต ไม่ใช่จากวงเน็ตเวิร์กเดียวกัน
- เครื่องมือที่ใช้ประจำคือ Python, FastAPI, nginx, SQLite, PostgreSQL, Node และ Next.js บนคลาวด์ GCP, Azure, AWS และ DigitalOcean ต่อกับ Twilio, n8n และ Make.com เมื่อต้องเชื่อมงานอัตโนมัติเข้าด้วยกัน
การทำงานร่วมกันเป็นอย่างไร
งานชั้นนี้เห็นผลช้ากว่างานหน้าบ้าน เราจึงวางเป็นระยะที่มีของส่งมอบชัดเจนในแต่ละขั้น และเริ่มจากการสำรวจของเดิมก่อนเสมอ เพราะเกือบทุกองค์กรมีระบบที่รันอยู่แล้ว โดยไม่มีใครถือแผนผังทั้งหมดไว้ในมือ
- 1. สำรวจของเดิม ไล่ดูว่ามีอะไรรันอยู่ที่ไหน ใช้พอร์ตและโดเมนใด ใครเป็นเจ้าของข้อมูลแต่ละชุด และอัปเดตด้วยรอบไหน
- 2. ออกแบบสถาปัตยกรรม เลือกคลาวด์ รูปแบบการจัดเก็บ และขอบเขตของเครือข่าย ให้เหมาะกับปริมาณงาน งบประมาณ และข้อกำหนดด้านข้อมูลขององค์กร
- 3. สร้างและทดสอบ วาง pipeline ให้ข้อมูลไหลเองตามรอบ พร้อมการตรวจคุณภาพและการแจ้งเตือนเมื่อผิดปกติ และเตรียมขั้นตอน deploy ที่ทำซ้ำได้
- 4. เปิดใช้งานจริง ตั้งไฟร์วอลล์และใบรับรอง ยืนยันว่าเข้าถึงได้จากภายนอกจริง แล้ววาง health check กับการแจ้งเตือนให้พร้อมก่อนเปิดให้ผู้ใช้เข้า
- 5. ส่งมอบพร้อมคู่มือปฏิบัติ ระบุสิทธิ์การเข้าถึง วิธีรีสตาร์ตแต่ละบริการ และจุดแรกที่ต้องไปดูเมื่อระบบมีปัญหา
สิ่งที่คุณได้รับ
ผลลัพธ์ของงานชั้นนี้วัดได้จากสองคำถาม คือทีมยังต้องนั่งรวมไฟล์ด้วยมือทุกเดือนอยู่หรือไม่ และเมื่อระบบล่มตอนตีสอง มีใครรู้ไหมว่าต้องเปิดดูตรงไหนก่อน แพลตฟอร์มที่วางไว้ยังเป็นฐานให้อีกสามด้านของเราต่อยอดได้ทันที ข้อมูลที่ไหลเข้ามาสม่ำเสมอคือสิ่งที่แดชบอร์ดในงานวิเคราะห์ข้อมูลอ่าน และเป็นฐานความรู้ให้แชทบอทกับโมเดลพยากรณ์ในงาน AI Solutions
- แหล่งข้อมูลกลางที่ทีมวิเคราะห์และทีม AI ใช้ร่วมกันได้จากชุดเดียว
- กระบวนการนำข้อมูลเข้าที่ทำงานเองตามรอบ ลดงานรวบไฟล์และคัดลอกข้อมูลด้วยมือ
- โครงสร้างพื้นฐานบนคลาวด์ที่ขยายได้ตามการใช้งาน พร้อมการควบคุมสิทธิ์เข้าถึง
- ทุกโดเมนเข้าใช้งานผ่าน HTTPS พร้อมการต่ออายุใบรับรองอัตโนมัติ ไม่ต้องมีใครคอยจดวันหมดอายุไว้เอง
- ขั้นตอน deploy ที่เขียนไว้เป็นสคริปต์ ออกเวอร์ชันใหม่ได้เหมือนเดิมทุกครั้ง ไม่ขึ้นกับว่าใครเป็นคนกด
- เอกสารสถาปัตยกรรมและคู่มือดูแลระบบ เพื่อให้ทีมภายในรับช่วงต่อได้จริง
โซลูชันในกลุ่มนี้
BuildOS
เดสก์ท็อปเดียวที่รวมงานเซิร์ฟเวอร์ งานโค้ด และงานโปรเจ็คลูกค้าไว้ด้วยกัน
ระบบ Top-up และรับชำระเงินอัตโนมัติ
ให้ลูกค้าเติมเครดิตแล้วจ่ายค่าบริการในระบบของคุณ ผ่าน PromptPay หรือบัตรเครดิต
วางระบบคลาวด์และดูแลต่อเนื่อง
ไม่ใช่แค่เปิดเครื่องบนคลาวด์ แต่คือการทำให้มันทำงานได้ทุกวันหลังจากนั้น
นำระบบขึ้นคลาวด์และขยายรองรับโหลด
ขึ้นระบบด้วยวิธีเดิมทุกครั้ง รู้ทันทีที่มันหยุดตอบ และขยายได้ตอนคนใช้มากขึ้น
ระบบไปป์ไลน์ข้อมูลและ ETL อัตโนมัติ
ย้ายข้อมูลให้ถึงปลายทางตรงเวลา และรู้ทุกครั้งที่มันไปไม่ถึง
ระบบ IoT และอุปกรณ์เชื่อมต่อ
ดึงค่าที่วัดได้จากหน้างานขึ้นระบบ ให้รู้ปัญหาก่อนลูกค้าโทรมาบอก