it_devops

Fivetran Connector Infrastructure as Code — วิธีตั้งค่าและใช้งานจริงพร้อมตัวอย่าง

Fivetran Connector Infrastructure as Code — วิธีตั้งค่าและใช้งานจริงพร้อมตัวอย่าง

Fivetran Connector Infrastructure as Code คืออะไร — อธิบายแบบเข้าใจง่าย

Fivetran Connector Infrastructure as Code คือแนวทางการจัดการตัวเชื่อมต่อข้อมูล (connector) ของแพลตฟอร์ม Fivetran

ด้วยการเขียนไฟล์กำหนดค่าแทนการคลิกตั้งค่าผ่านหน้าเว็บ ปกติถ้าเราใช้ Fivetran แบบทั่วไป เราต้องเข้าไปในหน้าควบคุม (dashboard) แล้วกดสร้างตัวเชื่อมต่อทีละตัว กรอกข้อมูลการเชื่อมต่อ กดทดสอบ กดซิงก์ ทำแบบนี้กับตัวเชื่อมต่อสัก 20 ตัวก็เหน็ดเหนื่อยแล้ว และที่แย่กว่านั้นคือเราไม่มีทางรู้เลยว่าค่าที่ตั้งไว้เมื่อสามเดือนก่อนเป็นอย่างไร ใครเป็นคนแก้ แก้ไปทำไม ซึ่งเป็นปัญหาคลาสสิกของการจัดการระบบแบบทำมือ

แนวคิด Infrastructure as Code หรือการทำโครงสร้างพื้นฐานให้อยู่ในรูปแบบโค้ด จึงเข้ามาแก้ปัญหานี้โดยตรง หลักการคือเราอธิบายตัวเชื่อมต่อทุกตัวในไฟล์กำหนดค่า เช่น ไฟล์ YAML หรือโค้ด Terraform แล้วใช้เครื่องมือเปรียบเทียบสิ่งที่เขียนไว้กับสภาพจริงใน Fivetran ถ้าต่างกันก็แก้ให้ตรงกันโดยอัตโนมัติ ทุกการเปลี่ยนแปลงถูกบันทึกในระบบควบคุมเวอร์ชัน ผ่านการตรวจทานจากเพื่อนร่วมทีม และย้อนกลับได้ทันทีเมื่อเกิดปัญหา

ผม อ.บอม ในฐานะคนที่ทำงานทั้งด้านเทรดเดอร์และดูแลระบบข้อมูลมากว่า 13 ปี ขอบอกว่าหัวใจของเรื่องนี้ไม่ใช่เครื่องมือ แต่คือวินัยในการทำงาน การทำงานกับข้อมูลทางการเงิน ราคากราฟ หรือข้อมูลลูกค้า ผิดพลาดเพียงการตั้งค่าเดียวอาจทำให้รายงานเพี้ยนทั้งระบบ การที่ทุกอย่างอยู่ในไฟล์ที่ตรวจสอบได้จึงเทียบเท่ากับการมีแผนจัดการเงินทุนที่ชัดเจนก่อนเข้าเทรดทุกครั้ง

Fivetran รองรับแนวทางนี้ผ่านสองช่องทางหลัก คือ REST API ที่ให้เราจัดการทุกอย่างผ่านคำสั่ง HTTP และ Terraform Provider ทางการที่ให้เราเขียนโค้ดกำหนดตัวเชื่อมต่อเป็นทรัพยากร นอกจากนี้ยังมีเครื่องมือของบุคคลที่สามอย่าง fivetran-terraform-sync ที่ช่วยแปลงการตั้งค่าที่มีอยู่แล้วในหน้าควบคุมให้กลายเป็นโค้ดได้โดยอัตโนมัติ ซึ่งเหมาะมากสำหรับทีมที่เริ่มต้นมาแบบทำมือแล้วอยากย้ายมาสู่ระบบที่เป็นระเบียบ

เหตุผลแรกและสำคัญที่สุดคือการลดความผิดพลาดจากการทำงานซ้ำ ๆ ลองนึกภาพทีมข้อมูลที่ต้องตั้งค่าตัวเชื่อมต่อจากแหล่งข้อมูล 15 แหล่ง

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

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

เหตุผลที่สองคือการมีบันทึกการเปลี่ยนแปลงที่ตรวจสอบได้ เมื่อไฟล์กำหนดค่าทั้งหมดถูกเก็บในระบบ Git ทุกการแก้ไขจะมีผู้ทำ วันเวลาที่ทำ เหตุผลในการทำ และความต่างของโค้ดก่อนหลังแสดงให้เห็นชัดเจน เวลาเกิดปัญหาว่าข้อมูลในคลังข้อมูลหายไปหรือรูปแบบเปลี่ยน เราย้อนดูได้ว่ามีการแก้อะไรเมื่อไร ต่างจากการทำมือที่ไม่มีใครรู้ว่าค่าเดิมเป็นอย่างไร

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

การเปรียบเทียบวิธีทำมือกับวิธีโค้ด

ด้านตั้งค่าผ่านหน้าเว็บตั้งค่าด้วยโค้ด
ความเร็วตอนเริ่มต้นเร็วกับตัวเชื่อมต่อ 1-2 ตัวช้ากว่าเพราะต้องเรียนรู้เครื่องมือ
ความเร็วเมื่อมี 20 ตัวขึ้นไปช้ามาก ทำซ้ำเยอะเร็ว ใช้แม่แบบซ้ำได้
บันทึกการเปลี่ยนแปลงไม่มีหรือดูยากครบถ้วนใน Git
การทำสำเนาสภาพแวดล้อมทำมือทั้งหมดสั่งทำงานใหม่ได้ทันที
การย้อนกลับเมื่อผิดพลาดยาก ต้องจำค่าเดิมคำสั่งเดียวย้อนกลับ
การทำงานร่วมกันเป็นทีมขัดแย้งกันง่ายตรวจทานผ่านคำขอผสานโค้ด

ก่อนเขียนโค้ดอะไรเราต้องเตรียมของสามอย่างให้พร้อม ได้แก่ บัญชี Fivetran ที่มีสิทธิ์ระดับผู้ดูแล รหัสกุญแจสำหรับยืนยันตัวตนกับระบบ (API key และ API

secret) และเครื่องมือ Terraform หรือเครื่องมือเรียก API ในเครื่องที่ทำงาน เริ่มจากเข้าไปในหน้าควบคุมของ Fivetran ไปที่เมนูการตั้งค่า ส่วนจัดการกุญแจ แล้วสร้างกุญแจชุดใหม่ อย่าลืมบันทึกค่าลับทันทีเพราะระบบจะแสดงครั้งเดียวเท่านั้น ถ้าลืมต้องสร้างใหม่

เตรียมสภาพแวดล้อมก่อนเริ่มตั้งค่า — ขั้นตอนแรกที่ต้องทำถูก

ก่อนเขียนโค้ดอะไรเราต้องเตรียมของสามอย่างให้พร้อม ได้แก่ บัญชี Fivetran ที่มีสิทธิ์ระดับผู้ดูแล รหัสกุญแจสำหรับยืนยันตัวตนกับระบบ (API key และ API secret) และเครื่องมือ Terraform หรือเครื่องมือเรียก API ในเครื่องที่ทำงาน เริ่มจากเข้าไปในหน้าควบคุมของ Fivetran ไปที่เมนูการตั้งค่า ส่วนจัดการกุญแจ แล้วสร้างกุญแจชุดใหม่ อย่าลืมบันทึกค่าลับทันทีเพราะระบบจะแสดงครั้งเดียวเท่านั้น ถ้าลืมต้องสร้างใหม่

เรื่องความปลอดภัยของกุญแจเป็นสิ่งที่ผมเน้นย้ำทุกครั้ง ห้ามเขียนค่ากุญแจลงในไฟล์โค้ดแล้วส่งขึ้น Git เด็ดขาด เพราะไม่ว่าที่เก็บโค้ดจะเป็นส่วนตัวแค่ไหน การรั่วไหลของกุญแจเกิดขึ้นได้เสมอ วิธีที่ถูกต้องคือใช้ตัวแปรสภาพแวดล้อมหรือเครื่องมือจัดการข้อมูลลับ เช่น HashiCorp Vault หรือบริการข้อมูลลับของผู้ให้บริการคลาวด์ แล้วให้ Terraform อ่านค่าตอนทำงาน

ต่อไปติดตั้ง Terraform ซึ่งดาวน์โหลดได้ฟรีจากเว็บทางการ มีทั้งเวอร์ชัน Windows, macOS และ Linux ติดตั้งเสร็จทดสอบด้วยคำสั่งตรวจเวอร์ชัน ถ้าแสดงเลขเวอร์ชันมาแปลว่าพร้อมใช้ จากนั้นสร้างโฟลเดอร์โครงการ แนะนำให้มีโครงสร้างแบบนี้ตั้งแต่ต้น

โครงสร้างโฟลเดอร์ที่แนะนำ

fivetran-iac/ ├── main.tf # ตั้งค่าผู้ให้บริการและทรัพยากรหลัก ├── variables.tf # ตัวแปรที่รับค่าจากภายนอก ├── outputs.tf # ค่าที่แสดงผลหลังทำงานเสร็จ ├── terraform.tfvars # ค่าจริงของตัวแปร (ไม่ส่งขึ้น Git) └── .gitignore # กันไฟล์ข้อมูลลับขึ้น Git

มาถึงส่วนที่หลายคนรอ นั่นคือโค้ดจริง ตัวอย่างแรกคือการสร้างตัวเชื่อมต่อฐานข้อมูล MySQL เข้าสู่คลังข้อมูล BigQuery

ซึ่งเป็นชุดผสมที่พบบ่อยที่สุดในองค์กรไทยที่เริ่มทำคลังข้อมูล

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

ตัวอย่างการเขียนโค้ดสร้างตัวเชื่อมต่อจริง — ใช้ได้ทันที

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

terraform { required_providers { fivetran = { source = "fivetran/fivetran" version = "~> 2.0" } } }

provider "fivetran" {}

resource "fivetranconnector" "mysqlsales" { destinationid = fivetrandestination.bigquery.id service = "mysql" sync_frequency = 360 groupid = var.groupid

config = { host = var.mysql_host port = 3306 database = "sales_db" user = var.mysql_user password = var.mysql_password always_encrypted = false connection_type = "Directly" updatemethod = "UNIXTAILAPPENDONLY" } }

resource "fivetran_destination" "bigquery" { groupid = var.groupid service = "big_query" timezoneid = "Asia/Bangkok"

config = { projectid = var.gcpproject dataset_location = "asia-southeast1" } }

โค้ดที่ทำงานได้ในเครื่องเรายังไม่พอ ของจริงต้องผสานกับกระบวนการของทีม

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

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

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

การยกขึ้นใช้ในระบบทำงานจริงและการผสานกับกระบวนการทีม

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

ขั้นถัดไปคือการต่อกับระบบอัตโนมัติ เช่น ระบบสร้างและทดสอบอัตโนมัติ (CI/CD) โดยให้ทุกคำขอผสานโค้ดรันคำสั่งตรวจรูปแบบโค้ดและคำสั่งวางแผนอัตโนมัติ แล้วโพสต์ผลลัพธ์กลับมาแสดงในคำขอผสาน ทีมจะเห็นทันทีว่าการเปลี่ยนแปลงนี้จะกระทบทรัพยากรอะไร สร้างเพิ่มกี่อัน ทำลายกี่อัน เมื่อผสานโค้ดเข้าสายหลักแล้วจึงรันคำสั่งใช้จริงโดยอัตโนมัติ วิธีนี้ทำให้การเปลี่ยนแปลงมีความเร็วและปลอดภัยไปพร้อมกัน

ข้อควรระวังเวลาขึ้นระบบจริงที่ผมเจอมาเอง

ข้อแรก เรื่องการจัดการไฟล์สถานะ (state file) อย่าเก็บไว้ในเครื่องคนเดียว เพราะถ้าเครื่องพังข้อมูลสถานะหาย ทั้งระบบจะกลายเป็นสิ่งที่ไม่มีใครรู้ว่าอยู่ตรงไหน ต้องเก็บไว้ในที่เก็บระยะไกลที่มีการล็อกกันคนทำงานพร้อมกัน เช่น ที่เก็บของคลาวด์ที่รองรับการล็อก

ข้อสอง เรื่องการซิงก์ที่กำลังทำงานอยู่ การเปลี่ยนค่าบางอย่างเช่นวิธีอัปเดตข้อมูลหรือการเลือกตารางใหม่ จะทำให้ระบบทำการซิงก์ใหม่ตั้งแต่ต้น ซึ่งใช้เวลานานและเปลืองเครดิต ควรเปลี่ยนช่วงนอกเวลาทำการและคำนวณเวลาที่ใช้ล่วงหน้า

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

ข้อสี่ เรื่องการทดสอบ มีสภาพแวดล้อมทดสอบแยกเสมอ ทดสอบโค้ดกับบัญชีทดสอบก่อนรันกับบัญชีจริง ค่าใช้จ่ายบัญชีทดสอบน้อยกว่าความเสียหายที่เกิดจากการรันโค้ดผิดบนระบบที่ลูกค้าใช้อยู่หลายเท่านัก

ตัวอย่างสถานการณ์จริงและวิธีแก้ปัญหาที่พบบ่อย

ขอยกกรณีจริงจากโครงการที่ผมช่วยดูแล ทีมการตลาดต้องการรายงานยอดขายรวมจากแพลตฟอร์มอีคอมเมิร์ซสามแหล่ง ฐานข้อมูลภายในหนึ่งตัว และข้อมูลโฆษณาจากสองแพลตฟอร์ม รวมหกตัวเชื่อมต่อ ตอนทำมือใช้เวลาตั้งค่าสองวัน และเกิดความผิดพลาดสองจุด คือลืมเลือกตารางข้อมูลค่าส่งในตัวเชื่อมต่อฐานข้อมูล ทำให้รายงานกำไรเพี้ยนเพราะคำนวณโดยไม่มีต้นทุนขนส่ง และอีกจุดคือตั้งเวลาซิงก์ข้อมูลโฆษณาผิดเขตเวลา ทำให้ยอดต่อวันไม่ตรงกับรายงานของแพลตฟอร์ม

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

เรื่องการแก้ปัญหาเมื่อมีข้อผิดพลาด ปัญหาที่พบบ่อยอันด

คำถามที่พบบ่อย

Fivetran Connector Infrastructure as Code คืออะไร และต่างจากการตั้งค่าผ่านหน้าเว็บอย่างไร?

Fivetran Connector Infrastructure as Code คือแนวทางการจัดการตัวเชื่อมต่อข้อมูลของ Fivetran ด้วยการเขียนไฟล์กำหนดค่า เช่น ไฟล์ YAML หรือโค้ด Terraform แทนการเข้าไปคลิกสร้างและตั้งค่าตัวเชื่อมต่อทีละตัวผ่านหน้าควบคุมแบบเดิม หลักการทำงานคือเราอธิบายตัวเชื่อมต่อทุกตัวไว้ในไฟล์กำหนดค่า แล้วใช้เครื่องมือเปรียบเทียบสิ่งที่เขียนไว้กับสภาพจริงในระบบ หากมีความแตกต่างก็จะแก้ไขให้ตรงกันโดยอัตโนมัติ ข้อดีคือทุกการเปลี่ยนแปลงถูกบันทึกในระบบควบคุมเวอร์ชัน ผ่านการตรวจทานจากเพื่อนร่วมทีม และย้อนกลับได้ทันทีเมื่อเกิดปัญหา ต่างจากวิธีทำมือที่เราไม่มีทางรู้เลยว่าค่าที่ตั้งไว้เมื่อสามเดือนก่อนเป็นอย่างไร ใครเป็นคนแก้ หรือแก้ไปด้วยเหตุผลอะไร ซึ่งเป็นปัญหาคลาสสิกของการจัดการระบบแบบทำมือ

Fivetran รองรับการทำ Infrastructure as Code ผ่านช่องทางใดบ้าง?

Fivetran รองรับแนวทางนี้ผ่านสองช่องทางหลัก ช่องทางแรกคือ REST API ซึ่งให้เราจัดการตัวเชื่อมต่อได้ทุกอย่างผ่านคำสั่ง HTTP เหมาะสำหรับทีมที่ต้องการความยืดหยุ่นสูงหรือต้องการผสานเข้ากับระบบอัตโนมัติอื่น ๆ ช่องทางที่สองคือ Terraform Provider ทางการของ Fivetran ที่ให้เราเขียนโค้ดกำหนดตัวเชื่อมต่อเป็นทรัพยากร (resource) แบบที่ทีม DevOps คุ้นเคยอยู่แล้ว นอกจากนี้ยังมีเครื่องมือของบุคคลที่สามอย่าง fivetran-terraform-sync ที่ช่วยแปลงการตั้งค่าที่มีอยู่แล้วในหน้าควบคุมให้กลายเป็นโค้ดโดยอัตโนมัติ เครื่องมือตัวนี้เหมาะมากสำหรับทีมที่เริ่มต้นมาแบบตั้งค่าด้วยมือ แล้วอยากย้ายมาสู่ระบบที่เป็นระเบียบโดยไม่ต้องเขียนทุกอย่างใหม่ตั้งแต่ต้น

ทำไมต้องจัดการตัวเชื่อมต่อด้วยโค้ด ทั้งที่ตั้งค่าผ่านหน้าเว็บก็ได้อยู่แล้ว?

เหตุผลสำคัญมีสามข้อ ข้อแรกคือการลดความผิดพลาดจากงานซ้ำ ๆ เพราะเมื่อมีตัวเชื่อมต่อจากแหล่งข้อมูล 15 แหล่งที่ค่าคล้ายกันแต่ไม่เหมือนกันสนิท การกรอกด้วยมือย่อมผิดพลาดได้ เช่น กรอกชื่อตารางผิด ตั้งเวลาซิงก์ผิด หรือลืมค่าความปลอดภัย แต่ถ้าเป็นโค้ด เขียนแม่แบบครั้งเดียวใช้ซ้ำได้ทั้งร้อย ข้อสองคือการมีบันทึกการเปลี่ยนแปลงที่ตรวจสอบได้ใน Git ทุกการแก้ไขมีผู้ทำ เวลาที่ทำ เหตุผล และความต่างก่อนหลังชัดเจน ข้อสามคือความสามารถในการทำสำเนาระบบทั้งชุด เช่น สร้างสภาพแวดล้อมทดสอบแยกจากของจริง โดยแค่เปลี่ยนค่าตัวแปรแล้วสั่งทำงาน อย่างไรก็ตาม ทีมเล็กที่มีตัวเชื่อมต่อเพียง 3-4 ตัวอาจทำมือก่อนได้ แต่ควรวางแผนย้ายมาใช้โค้ดตั้งแต่วันแรก เพราะเมื่อระบบโตขึ้นเกิน 15 ตัว การบริหารด้วยมือจะไม่ไหวจริง ๆ

ต้องเตรียมอะไรบ้างก่อนเริ่มตั้งค่า Fivetran Connector แบบ Infrastructure as Code?

ก่อนเริ่มเขียนโค้ดใด ๆ เราต้องเตรียมของสามอย่างให้พร้อม อย่างแรกคือบัญชี Fivetran ที่มีสิทธิ์ระดับผู้ดูแล เพราะการสร้างและแก้ไขตัวเชื่อมต่อผ่านโค้ดต้อง

แนะนำเพิ่มเติม

🎯 เปิดบัญชี XM Forex → สมัคร

📱 แอป iCafeFX → ดาวน์โหลด

📊 สัญญาณฟรี → รับสัญญาณ

📚 คู่มือเทรด → SiamCafeBook

🤝 สมัคร Partner XM → pipaffiliates.com/c?c=72816&l=th&p=6

คู่มือ Forex ที่เกี่ยวข้อง

อ
XM Legend · เทรดเดอร์ & ผู้สอน Forex 13 ปี

ผู้ก่อตั้ง SiamCafe ตั้งแต่ปี 1997 · เทรดเดอร์สาย Forex มากกว่า 13 ปี ได้รับการยกย่องเป็น XM Legend · แบ่งปันความรู้ Forex, ไอที, AI และการเทรด จากประสบการณ์จริงในตลาดจริง

แหล่งอ้างอิง

  • SiamCafe.net - ชุมชนไอทีไทยตั้งแต่ปี 1997
  • iCafeFX.com - ศูนย์วิเคราะห์ Forex และทองคำ