By Arnon Puitrakul - 20 พฤษภาคม 2022
สำหรับคนปกติที่ใช้เครื่องคอมพิวเตอร์ เราก็อาจจะใช้มันในรูปแบบของ Desktop หรือไม่ก็ Laptop ถ้าเราต้องพกไปไหนอยู่แล้วละ แต่เราอาจจะเคยได้ยินคำว่า Server เช่น เอางานขึ้น Server เลยนะ หรือ ดึงข้อมูลจาก Server เลยอะไรแบบนั้น แล้วเอ๊ะ Server มันมีอะไรดีเหรอ เลยเรียกมันว่า Server
ปล. เอารูปข้างนอกมาเยอะหน่อยนะ ทำงานจริง จะถ่ายมาให้ดูก็ใช่เรื่อง ฮ่า ๆ
คำว่า Server ถ้าเราเดา ๆ ขำ ๆ เราอาจจะคุ้น ๆ มันน่าจะเกิดจากคำว่า Serve และ Suffix คำว่า -er ตัวคำว่า Serve เราก็เดาได้อยู่แล้วละ น่าจะแปลว่า to act as a servant หรือถ้าเป็น Verb ก็น่าจะแปลว่า to be in the service of อะไรแบบนั้น หรือถ้าเราพูดในภาษาไทย เราก็น่าใช้ใช้ทับศัพท์กันเยอะละ ที่แปลว่า เสิร์ฟ เรามักจะใช้กับ พนังงานเสิร์ฟ อะไรแบบนั้นนั่นเออง
ส่วน -er ที่เราเติมท้ายเข้าไป มันก็จะแปลว่า one who.... พอ serve + -er เข้าไป มันเลยกลายเป็น server ที่แปลว่า the one who serve หรือก็คือ คน หรือ สิ่งของที่ให้บริการบางอย่างนั่นเอง
ไหน ๆ ก็มาถึงนี่ละ เราขอออกนอกเรื่องไปหน่อยละกัน ถ้าเราคิดถึง Suffix -er อีกคำที่เราคำถึงเร็ว ๆ น่าจะเป็น Soldier ที่ 7 ปีแล้วไม่ไปสักทีนั่นแหละ ก็มี -er ต่อท้ายเหมือนกัน หรือ Programmer ก็คือ Program + -er แปลง่าย ๆ คือ คนที่โปรแกรมเครื่องนั่นเอง เข้ นี่ Blog IT หรือภาษาฟร๊ะ !
กลับมาที่เรื่อง Server ในปัจจุบันถ้าเราพูดถึงในโลกของคอมพิวเตอร์ มันเป็นอุปกรณ์ที่ให้บริการอะไรบางอย่างกับเรา เช่น Website ต่าง ๆ มันต้องทำงานบน Server เพื่อให้บริการ Website กับเรา หรือ เราบอกว่า เราเก็บ รูปบน Cloud เลยอะ ที่ Cloud จริง ๆ เขาก็จะมี Server ที่ให้บริการเก็บไฟล์รูปนั่นเอง
ดังนั้น สรุปง่าย ๆ Server คือ เครื่องคอมพิวเตอร์เครื่องที่ให้บริการอะไรบางอย่าง อาจจะเป็นบริการในการเก็บไฟล์ เก็บ Website เก็บระบบฐานข้อมูลต่าง ๆ ตามที่ผู้ออกแบบต้องการ
อย่างที่เราบอกว่า Server จริง ๆ มันก็เป็นเครื่องคอมพิวเตอร์ทั่ว ๆ ไปนี่แหละ ที่มัน Serve บริการบางอย่างเข้าไป มันพูดถึงในแง่ของจุดประสงค์การใช้งานมากกว่า ทำให้เครื่อง Server จริง ๆ มันก็หน้าตาเหมือนเครื่องคอมพิวเตอร์ที่เราใช้งานกันทั่ว ๆ ไปนี่แหละ
ทำให้ เราอาจจะเจอ Server ที่หน้าตาเหมือน Desktop PC บ้านเราทั่ว ๆ ไปคือ เป็นเคสหน้าตาปกติที่เราเห็นกันเลย พวกนี้เราจะเรียกว่า Tower ซึ่ง ใครที่ประกอบคอมมาก่อน น่าจะพอรู้บ้างแล้วว่า มันมีหลายขนาดมาก ๆ นะ ตั้งแต่ SFF (Small Form Factor) จนไปใหญ่สุดอย่าง Full Tower กันไปเลย อันนี้ก็แล้วแต่ Server ทำอะไรละ ตัวอย่างเช่น
เราบอกว่าอ่อ Server เราแค่รัน Web Server เฉย ๆ เลย เราก็อาจจะไม่ต้องการ Tower หรือ Case ขนาดใหญ่มาก เราอาจจะฟิตทุกอย่างไว้ใน SFF เลยก็ได้
หรือเราบอกว่า เราจะทำ Storage Server หรือ Server สำหรับเก็บไฟล์ เราก็อาจจะต้องใช้เคสใหญ่หน่อย เพื่อจะใส่ Harddisk ที่ใช้ในการเก็บข้อมูลได้จำนวนมากอย่าง Full Tower ก็ได้เหมือนกัน
หรือ ๆๆๆ ในหลาย ๆ เคส ที่ไม่ได้ต้องการทรัพยากรในการทำงานมากนัก เราอาจจะใช้พวก Raspberry Pi ในการรันก็ได้เหมือนกัน ทำให้ขนาดกว้างยาวของเครื่องมันก็จะเหลือแค่บัตรเครดิตใบเดียวเท่านั้น ก็เป็น Server ได้เหมือนกัน
แต่ ๆ ในการใช้งานบางประเภท เช่น เราใช้งานในองค์กรขนาดใหญ่ หรือ ศูนย์ข้อมูล (Data Centre) ถ้าเราเอาพวกเคส Tower ไปวางเลย มันจะเสียพื้นที่เยอะมาก ๆ และการดูแลรักษาที่ยากมาก ๆ เช่น เราบอกว่า โอเคเครื่องนึงเสีย ถามว่า แล้วเครื่องนั้นอยู่ไหน แล้วเราต้องยกลงมา Service เหรอ โห แล้วเราต้องปิดเครื่องที่อยู่ข้างล่างก่อนมั้ย หรือ ยก ๆ ไปแล้วเครื่องอื่นจะหล่นมั้ย
ทำให้มันเกิดอีก Form Factor นึงขึ้นมาคือเป็นพวก Rack Mount อันพวกนี้แหละ เราจะไม่ค่อยได้เห็นใช้งานกันตามบ้านเท่าไหร่ พวกนี้มันแก้ปัญหาด้วยการใช้ตู้เลย ถามว่า แล้วเราจะทำยังไงให้เราใช้พื้นที่ของตู้ได้เยอะที่สุด เราก็ค่อย ๆ เติมเป็นชั้น ๆ ยังไงละ เราเลยเรียกว่า ตู้ Rack
ตู้พวกนี้ มันจะมีหลายขนาดมาก ๆ หลัก ๆ เอาง่าย ๆ เลยคือ เราจะดูที่ความสูง เช่นตู้นี้ขนาด 6U, 8U อะไรแบบนั้น ซึ่งเลขยิ่งเยอะ ก็คือยิ่งสูง พวกที่ใช้กันจริง ๆ ก็จะอยู่ที่ 42U ไปเลย
โดยที่ U มันย่อมาจากคำว่า Unit การดูง่าย ๆ เลยนะ ถ้าเราไปดูในตู้ Rack จริง ๆ มันจะมีช่องสำหรับใส่สกรูอยู่ โดยที่ 1U มันจะกินพื้นที่ทั้งหมด 3 ช่องในแต่ละด้าน ดังนั้น ถ้าเราบอกว่าตู้ Rack เราสูง 18 รู ดังนั้นตู้นี้ ก็จะขนาดที่ 6U นั่นเอง จริง ๆ ใน Standard มันไม่ได้วัดแบบนี้เป๊ะ ๆ นะ อันนี้คือ สำหรับว่า เราเป็นคนทั่ว ๆ ไป ก็ลองดูจากวิธีนี้คร่าว ๆ ก็ได้ (จริง ๆ มันจะมีเรื่องมาตรฐานพิเศษ กับ ความลึกด้วย)
ด้วยการกำหนดมาตรฐานแบบนี้ทำให้เราสามารถทำงานได้ง่ายมาก ๆ เช่น เราบอกว่า เรามี Rack ขนาด 6U เราจะใส่อุปกรณ์อะไรได้บ้าง เราก็เข้าไปดูใน Spec Sheet เลยว่า มันขนาดเท่าไหร่ บวกกันแล้วต้องไม่เกิน 6 อะไรแบบนั้น กับเรามี 1U Server เราก็อาจจะอัดเข้าไปได้ 6 ตัวเต็ม ๆ เลยก็ได้ (จริง ๆ มันต้องมีพวกปลั๊ก น่าจะกินอีก 1U และ ควรมีพื้นที่ให้อากาศไหลสักหน่อยดังนั้น จริง ๆ อาจจะเหลือ 4 เครื่องก็ดี) อยู่ที่คนออกแบบเลยว่าจะทำยังไง
เพราะเรื่องของความที่มันใช้ที่อย่างมีประสิทธิภาพ ทำให้อุปกรณ์สำหรับ Business จนไปถึง Enterprise ส่วนใหญ่ก็จะออกมาในรูปแบบของ Rack Mount ทั้งหมดเลย ตั้งแต่ UPS, Networking และ Server แบบต่าง ๆ ขึ้นกับว่าจะใช้กี่ Unit เท่านั้นแหละ เช่น Storage Server ของ 45Drive เองก็ขนาด 4U จุก ๆ ไปเลย
ด้วยความที่ Server มีนำ้หนักเยอะมาก ๆ เช่นพวก Storage Server นี่แหละ ที่ 1 เครื่อง อาจจะมี Harddisk ถึง 60 ลูก น้ำหนัก มหาศาล มาก ๆ แน่นอน ถ้าเราต้องไขน๊อตแล้วยกออกมาทุกครั้งที่จะ Service มันก็ไม่ไหวเหมือนกัน ทำให้พวกนี้มันก็มักจะมีการติดตั้งพวก Rail หรือ ราง สำหรับสไลด์มันเข้าออกได้ด้วย
หรืออีกตัวอย่างในบ้านเราเองก็จะเป็น Router และ Core Switch ที่เราใช้ Mikotik RB4011 และ Aruba Instant On 1930 ขนาดพวกนี้เป็นกลุ่ม Small Business ก็มีพวก Rack Mount Tool ให้เราติดตั้ง เพื่อวางบนตู้ Rack ได้เหมือนกัน
เพราะความประหยัดพื้นที่นี่แหละ ทำให้เราเลยเห็นภาพส่วนใหญ่ของ Server ว่ามันต้องอยู่ในตู้นั่นนี่ แล้วเครื่อง Tower PC ก็ไม่ใช่ แต่จริง ๆ แล้วมันขึ้นกับจุดประสงค์ของการทำงานมากกว่า
อันนี้แหละ คือจุดที่เรามองว่า Server ที่ทำงานจริงจัง จะต่างจาก Desktop PC และ Laptop ที่เราใช้งานกันทั่ว ๆ ไปละ เพราะว่า Requirement ของ Server คือการให้บริการ ดังนั้น เราไม่อยากให้ใช้ ๆ ไป อ้าว...... อยู่ ๆ ก็ให้บริการไม่ได้ซะงั้นแน่ ๆ ดังนั้น สิ่งที่จำเป็นจริง ๆ คือ ความเสถียร หรือ Reliability พูดง่าย ๆ คือ มันจะต้องเปิดทำงานตลอดเวลาไม่ปิดเลย
ทำให้ Hardware พวกนี้มันจะต้องออกแบบมาให้สามารถทำงานแบบนั้นได้ ซึ่งจะแตกต่างจาก Hardware ที่เราใช้กันตามบ้านที่เราอาจจะใช้งานสัก 6 ชั่วโมงแล้วเราก็ปิดแล้ว เช้า เราก็มาทำงานใหม่อะไรแบบนั้น ถามว่า พวก Hardware ที่เราใช้งานตามบ้าน เราจะเปิดรัว ๆ แบบนั้นได้มั้ย ก็ได้นะ แต่ไม่การันตีนะ เปิด ๆ ไปแล้ว พัง Crash ต้อง Reboot มา อันนี้ไม่การันตีกัน
นอกจากนั้นพวก Server Hardware มันจะตัดพวกเรื่อง Feature หลาย ๆ อย่างออกไปเลย พวก RGB นี่มีที บาปหนามาก เอามาเพื่อ !!!! หรือจะเป็นพวก Port การเชื่อมต่อหลาย ๆ อย่าง เช่นพวก USB, HDMI 2.1 หรือ SD Card ออกไปหมดเลย แล้วไปเน้นพวกเรื่องจำนวนของ PCIe Lane ที่ทำให้เราสามารถต่ออุปกรณ์เพิ่มเองได้อย่างอิสระมาก ๆ เช่น อาจจะต่อพวก NIC ที่ทำให้เราสามารถเชื่อมต่อ Network ความเร็วสูง ๆ ได้ อย่าง 100 Gb ที่เร็วกว่าสายที่เราใช้ตามบ้านก็ 100 เท่าเบา ๆ หรืออาจจะเป็น NVMe SSD ที่ Board บ้านทั่ว ๆ ไป เราใส่อย่างมากก็ 2 ลูกเยอะแล้ว พวกนี้อาจจะกดไปถึง 20 ลูกในเครื่องเดียว โดยที่ยังให้ความเร็วสูงสุดของ SSD ได้อยู่เลย
อีก Feature ที่ Server ควรมีมาก ๆ และส่วนใหญ่มีเกือบหมดละ คือพวก Port Management คือ เป็น Port สำหรับเสียบเพื่อเข้าสู่ระบบจัดการเครื่อง ถ้าเป็นเครื่องปกติ เวลาเราจะตั้งค่าพวก BIOS เราจะต้องกด Del ตอนเราเปิดเครื่อง แต่พวก Server ส่วนใหญ่ เราจะไม่เข้าถึงเครื่องจริง ๆ กันอยู่แล้ว ดังนั้น เราจะต้องทำงานผ่านระบบ Management ของมันนี่แหละ มันก็จะทำได้หมดเลยนะ ตั้งแต่ Mount ISO เพื่อลง OS ตั้งค่าเครื่องต่าง ๆ เหมือนเราเข้า BIOS ในเครื่องเราจากระยะไกลได้เลย ทำให้การทำงานเราสะดวกมากขึ้นมาก ๆ
ส่วนพวกเรื่อง Port จริง ๆ Server เนี่ย เวลาเราเข้าใช้งานกัน เราจะไม่ได้เข้าถึงเครื่องหรอก เราก็จะเข้าผ่าน Protocol ต่าง ๆ เช่น SSH หรือ Remote Desktop ซะเยอะ ดังนั้นการมี Port อย่าง USB อะไรนั่นนี่เยอะ ถือว่าเป็นเรื่องที่อันตรายพอสมควรเลย เพราะมันเพิ่มความเสี่ยงในการเข้าถึงเครื่องโดยตรงได้เลย พวกนี้ เผลอ ๆ ก็น่าจะมีแค่ VGA หรือ HDMI กับ USB สักช่องให้เราเสียบ Keyboard ไม่ก็บางรุ่นดี ๆ หน่อยมี USB ด้านในเครื่องให้เราเสียบ USB Drive สำหรับ Boot เพื่อลง หรือเข้าใช้งานระบบ
Server จริง ๆ จัง ๆ เลยนะ มันไม่ได้รัน Windows 11 หรืออะไรพวกนั้นเลย เพราะมันไม่ได้ออกแบบมาให้เราเปิดทำงานนาน ๆ เยอะ ๆ หรือรัน ๆ ไป อ้าว Windows Update ฮ่าเลยนะ ลูกค้าโทรมา ทำไมเข้าระบบไม่ได้ อ่อ Windows Update อยู่ค่าาาาาา สูญเงินนับล้านได้เลย
หรือกระทั่งความสามารถพิเศษต่าง ๆ เช่นการจัดการ File System ขนาดใหญ่ต่าง ๆ ที่เครื่องบ้านมันไม่ต้องใช้ พวกนี้มันก็จะถูกใส่มาใน OS สำหรับพวกกลุ่ม Enterprise หรือ Server ใหญ่ ๆ ด้วย
อย่างฝั่ง Microsoft เองก็จะมี Windows Server ที่เอ่ออออออ ไม่ขอพูดถึงละกัน แต่เอาเป็นว่าทั้งโลกส่วนใหญ่ เราก็จะอยู่กับ Linux ซะเยอะ ถ้าริชชี่หน่อย ก็อาจจะไปเล่นพวก Red Hat Enterprise Linux (RHEL) พวกนี้คือซื้อ Support มันนะ สบายยันโลกหน้า (อ่อ เปล่าตาย โลกหน้าเกิดมาไม่เป็น Infra ละ ฮ่า ๆๆๆ หยอก ๆๆๆ) หรือจะไปเล่นพวก Debian พวกนี้ก็เป็นอีก Distribution นึง ซึ่งมันก็จะฟรี ตัวอย่างทั้ง 2 Distro ที่เราเอามา ก็คือ โคตรเสถียร ซึ่งเป็นคุณสมบัติที่สำคัญของ Server เลยก็ว่าได้
ส่วนพวก Software เราก็ไม่ได้ลงแบบ Photoshop หรือ Excel อะไรแบบนั้นนะ มันก็ขึ้นกับการใช้งานละ เช่น เราอยากได้ File Transfer มันก็จะมีพวก Samba อยากได้ Container Service เราก็ลง Docker ได้ หรือมันก็จะเปลี่ยนไปตามการทำงานแล้วว่า เราจะเอามาทำงานอะไร
จริง ๆ แล้ว Server หรือเครื่องที่เราใช้งาน มันก็ต่างกันที่ จุดประสงค์ของการใช้งานเป็นหลัก แต่พอ เราบอกว่ามันออกแบบมาเพื่อเป็น Server ทำงานจริง ๆ จัง ๆ โดยเฉพาะเลย มันก็จะออกแบบมาให้เน้นในเรื่องของ ประสิทธิภาพต่อพื้นที่สูง การใช้พลังงานต่อประสิทธิภาพที่ต่ำ และ มีความเสถียรสูง เพื่อให้ประหยัดต้นทุน แต่ก็ยังได้ประสิทธิภาพสูงมากพอที่เราจะทำงานได้อย่างราบลื่นนั่นเอง
หลังจากเมื่อหลายอาทิตย์ก่อน Apple ออก Mac รัว ๆ ตั้งแต่ Mac Mini, iMac และ Macbook Pro ที่ใช้ M4 กันไปแล้ว มีหลายคนถามเราเข้ามาว่า เราควรจะเลือก M4 ตัวไหนดีถึงจะเหมาะกับเรา...
จากตอนก่อน เราเล่าเรื่องการ Host Website จากบ้านของเราอย่างปลอดภัยด้วย Cloudflare Tunnel ไปแล้ว แต่ Product ด้าน Zero-Trust ของนางยังไม่หมด วันนี้เราจะมาเล่าอีกหนึ่งขาที่จะช่วยปกป้อง Infrastructure และ Application ต่าง ๆ ของเราด้วย Cloudflare Access กัน...
ทุกคนเคยได้ยินคำว่า Mainframe Computer กันมั้ย เคยสงสัยกันมั้ยว่า มันต่างจากเครื่องคอมพิวเตอร์ที่เราใช้งานกันทั่ว ๆ ไปอย่างไรละ และ Mainframe ยังจำเป็นอยู่มั้ย มันได้ตายจากโลกนี้ไปหรือยัง วันนี้เรามาหาคำตอบไปด้วยกันเลย...
เคยมั้ยเวลา Deploy โปรแกรมสักตัว เราจะต้องมานั่ง Provision Infrastructure ไหนจะ VM และ Settings อื่น ๆ อีกมากมาย มันจะดีกว่ามั้ยถ้าเรามีเครื่องมือบางอย่างที่จะ Automate งานที่น่าเบื่อเหล่านี้ออกไป และลดความผิดพลาดที่อาจจะเกิดขึ้น วันนี้เราจะพาทุกคนมาทำความรู้จักกับ Infrastructure as Code กัน...