วิวัฒนาการของ IT Infrastructure และ HCI

277
277

สวัสดีครับชาว IT ทุกท่าน ตอนที่เข้ามาทำงานใหม่ ๆ เคยสังเกตกันหรือไม่ครับว่าภายในองค์กรของท่านมีอุปกรณ์ IT อะไรบ้างที่อยู่ใน Data Center ส่วนใหญ่ก็จะมีพวก Server, Storage, Switch และสาย LAN ต่าง ๆ ระโยงระยางเต็มห้องไปหมดใช่ไหมครับ 

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

ย้อนกลับไปในยุคสมัยที่คอมพิวเตอร์กำเนิดขึ้นมาและมีการเริ่มใช้งานกันภายในองค์กร จุดเริ่มต้นมาจากภายในองค์กรอาจจะมีการใช้งาน Application บางอย่างที่ Server เพียงเครื่องเดียว ก็เพียงพอที่จะให้พนักงานในองค์กรใช้งานได้ เป็นลักษณะตามภาพด้านล่าง เรียกว่า Client-Server Architecture

Client  – เป็นช่องทางที่พนักงานจะสามารถเข้าใช้งาน Application ได้จากอุปกรณ์ของตัวเอง เช่น Laptop, Desktop PC และอื่น ๆ

Server – เป็นคอมพิวเตอร์ที่มีความสามารถสูงและมีการติดตั้ง Application ไว้

ซึ่งถ้าระบบขององค์กรเป็นแบบนี้ มีเจ้าหน้าที่ดูแลระบบแค่ 1-2 คนก็เพียงพอแล้ว เพราะระบบไม่ได้ซับซ้อนมาก

Client Server
(Source)

Client Server

ต่อมาเมื่อเริ่มมีพนักงานมากขึ้น มีแผนกอื่น ๆ ที่จำเป็นต้องใช้ Application เพิ่มขึ้น ถ้า Server ตัวเดิมยังสามารถติดตั้ง Application ได้อยู่ก็ไม่เป็นไร แต่ถ้า Server spec น้อยไปหรือพื้นที่สำหรับติดตั้งไม่เพียงยังไงก็ต้องหา Server ใหม่ มาติดตั้งให้ใช้งาน

แล้วถ้ามี Application ที่เพิ่มขึ้นมาอีกก็ต้องซื้อ Server มาทบเรื่อย ๆ ทำให้อาจจะต้องหาห้องไว้สำหรับติดตั้ง Server โดยเฉพาะ

ถัดมาเมื่อบริษัทเริ่ม Scale ไปจนมี Server ที่เยอะจนเกินไปไม่พอที่จะขยายได้แล้วเนื่องจากติดปัญหาเรื่องพื้นที่ ก็ได้มีผู้คิดค้นเทคโนโลยีในการแบ่ง Server ภายในเครื่อง Server ให้แยกย่อยออกไปได้หลาย ๆ Server เราเรียกการทำลักษณะนี้ว่า Virtualization technology

โดยประโยชน์ของมันคือ การที่มี Server เพียงแค่ตัวเดียว ก็สามารถสร้าง Virtual machine (เครื่องคอมพิวเตอร์แบบเสมือน) ติดตั้ง Operating Systems และสามารถเลือกติดตั้ง Application ไว้ให้ใช้งานได้ตามความต้องการของแต่ละแผนก ประโยชน์อีกอย่างคือทำให้ใช้ทรัพยากรได้อย่างคุ้มค่าในเรื่องของ Spec ไม่ว่าจะเป็น CPU, Memory และ Disk ซึ่งโดยปกติถ้าเป็นแบบ Physical Server ถ้าอยากจะ Scale ขนาดของ Disk เพิ่ม ก็สามารถทำได้ ถ้าจะ Scale ขนาดลงจะลำบากกว่า แต่ถ้าเป็นแบบ Virtualization สามารถเพิ่มหรือลดได้ตามความต้องการ

ทีนี้ถ้าทำระบบเป็นแบบ Virtualization แล้วในกรณีที่มีจำนวน Application เพิ่มขึ้นก็สามารถที่จะเพิ่ม Host เพื่อรองรับ Application ที่เพิ่มขึ้นได้ (Host คือที่อยู่ของ Server) แต่ถ้าเกิด Host เสียหาย จะทำให้ Application ทั้งหมดไม่สามารถใช้งานได้ จึงทำให้เกิดเทคโนโลยี High Availability (HA) เกิดขึ้นเพื่อมาตอบโจทย์แก้ปัญหาข้างต้น 

ขอยกตัวอย่าง เพื่อให้เห็นภาพง่ายขึ้น ดังนี้ครับ มีองค์ประกอบ 3 ส่วนคือ Host, Application และ Server 

มี Application ติดตั้งอยู่ใน Server C ที่อยู่ภายใต้ Host 1 ใช้งานได้ปกติ แต่อยู่มาวันนึง Host 1 เกิดปัญหาโดยไม่ทราบสาเหตุ ถ้าเป็น Architecture แบบเก่าที่ไม่ได้เป็นแบบ Virtualization technology จะเกิดปัญหาใหญ่เรื่อง Downtime ของ Application อย่างแน่นอน แต่ถ้ามีเทคโนโลยี HA จะทำให้สามารถย้าย Server และ Application จาก Host 1 ไปที่ Host 2 ได้ โดยอาจจะกระทบกับการทำงานของ Application แต่จะใช้เวลาน้อยกว่าในการแก้ไข ซึ่งการทำแบบนี้ได้จะต้องทำการแยกส่วนประมวลผลกับส่วนจัดเก็บข้อมูลออกจากกันเพื่อให้ข้อมูลที่อยู่ใน Storage ทั้ง Host 1 และ Host 2 สามารถใช้งานร่วมกันได้

ซึ่งระบบ Virtualization แบบนี้ จะถูกใช้ใน Infrastructure โดยองค์กรทั่วไป จนถูกเรียกอย่างคุ้นชินว่า Traditional IT Infrastructure

Tradi
(Source)

Traditional IT Infrastructure

Tradi2

หัวข้อที่ผ่านมาเป็นเพียง Virtualization host ที่อยู่ภายใน Physical Server เพียงแค่ 1 Server

สำหรับส่วนนี้จะเป็น Infrastructure ที่ใหญ่ขึ้นมาอีกอันเนื่องมาจากการใช้งานที่มากขึ้นตามขนาดขององค์กรที่มีขนาดใหญ่ขึ้น

ส่วนนี้จะมีการเพิ่ม Physical Server เพื่อ HA ในระดับ Physical ด้วย (แน่นอนว่ามี HA ในระดับ Virtualization host) และการ Shared Storage เพื่อป้องกันกรณี Storage เสียหาย เรียกว่าการทำ RAID

ทำให้โดยรวมระบบ Traditional IT Infrastructure มีองค์ประกอบอยู่หลัก ๆ ประมาณ 4 ส่วนคือ

  1. Physical Server – Server ที่มีหน่วยประมวลผล ได้แก่ CPU และ RAM เป็นที่อยู่ของ Virtualization Host
  2. Storage – ส่วนที่ใช้สำหรับจัดเก็บข้อมูล ประกอบไปด้วย Hard disk หลาย ๆ ลูก อาจจะเป็น SAN หรือ NAS ที่ใช้งานแบบ Share
  3. Network Switch – สำหรับใช้เชื่อมต่อ Server กับ Network อื่น ๆ ด้วย Ethernet port
  4. Storage Switch – สำหรับใช้เชือมต่อ Storage กับ Server ด้วย Fiber channel port

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

  1. Systems admin – ดูแลจัดการเรื่อง Server, Virtualization host
  2. Network admin – ดูแลเรื่องของระบบ Network
  3. Storage admin – ดูแลเรื่องของ Storage, Capacity plan

ข้อดี – หากต้องการใช้งาน CPU และ Memory เพิ่ม สามารถเติม Server ได้, หากต้องการเพิ่มขนาด Hard disk ก็สามารถหา Storage มาเติมได้

ข้อเสีย – ต้องใช้คนดูแลหลาย ๆ ส่วน หากเกิดปัญหาต้องมาไล่ตรวจสอบว่าเกิดจากอะไร ซึ่งในความเป็นจริงจะเสียเวลามาก

จากปัญหาเรื่องจำนวนพนักงานที่ต้องดูแลระบบ Infrastructure ก็ได้มีผู้คิดค้น Infrastructure แบบใหม่ขึ้นมา (จริงๆ น่าจะย้อนกลับไปแบบเดิมมากกว่า) มาเพื่อแก้ปัญหาเรื่องนี้ คือการนำ Compute กับ Storage มารวมกันเลย เพื่อให้ดูแลจัดการได้ง่าย ไม่ต้องใช้คนดูแลเยอะ ทีนี่หลาย ๆ คน น่าจะเริ่มสงสัยแล้วว่าทำไมต้องย้อนกลับไปให้โครงสร้างคล้าย ๆ กับ แบบเก่า?

คำตอบคือ ในสมัยก่อนยังไม่มีเทคโนโลยีที่สามารถนำ Compute, Storage มารวมกันได้ ทำให้เหลือ Resource ที่เป็นเศษ ๆ ไม่สามารถใช้งานได้คุ้มค่าตามขนาดที่มี แต่เทคโนโลยีใหม่นี้สามารถนำ Compute มารวมเป็น Compute pool เดียวกัน, Storage มารวมเป็น Storage pool เดียวกัน ให้หยิบไปใช้สร้าง Virtual Machine หรือเพิ่มขนาดของ Disk จากทุก Physical Server ที่เชื่อมต่อกันอยู่

เราเรียกเทคโนโลยีนี้ว่า Hyper-Converged 

จากที่เกริ่นไปข้างต้น Hyper-Converged Infrastructure เป็นการรวม Compute + Storage เข้าไว้ด้วยกันและใช้ Software-defined ในการจัดการ Storage ในแต่ละ Server

เหมาะสำหรับใช้งานเป็น Private Cloud ติดตั้งพวกระบบ VMware หรือ Hyper-V ที่เป็น Virtualization host ในด้าน Physical โดยปกติแล้วระบบ HCI จะไม่ได้มีแค่ Physical Server แค่ตัวเดียว แต่จะมีจำนวนขั้นต่ำของ Server คือ 3 Node เพื่อให้มีการ Redundancy ในกรณีที่บาง Node เกิดการเสียหาย Step ถัดมา จะต้องสร้าง Virtual Machine และติดตั้ง Software-defined ลงไป หลังจากนั้นก็จะใช้ Software-defined ในการจัดการ Disk ที่อยู่ในแต่ละ Server มาทำเป็น Pool กลาง เรียกว่า Single storage pool ให้ทุก Virtual Server สามารถได้ใช้งาน Disk จาก 3 node กรณีที่ Hard disk มีปัญหา ระบบก็ยังทำงานได้เป็นปกติและสามารถนำ Hard disk ใหม่มาเปลี่ยนได้ ทำให้มีการใช้งาน Resource ได้อย่างมีประสิทธิภาพ อีกทั้งราคาก็ไม่ได้สูงมากจนเกินไปถ้าใช้อยู่ในระดับองค์ที่ Scale ไม่ได้มีขนาดใหญ่มากครับ

ข้อดี – Performance ดีมาก, ดูแลจัดการได้ง่าย ใช้คนดูแลไม่เยอะเพราะระบบทุกอย่างรวมอยู่ในส่วน ๆ เดียว, ใช้พื้นที่ไม่เยอะ 

ข้อเสีย – ไม่สามารถที่จะ Scale อย่างใดอย่างหนี่งได้ เช่น ต้องการ CPU และ Memory เพิ่ม, ค่า License มีราคาค่อนข้างสูง

HCI


ตารางเปรียบเทียบของ Traditional IT Infrastructure กับ Hyper-Converged Infrastructure 

HCI2

สรุปให้สำหรับชาว IT ว่าคุณควรจะเลือก Infrastructure แบบไหนดีในการ Implement?

  • Traditional Infrastructure จะมีความยุ่งยากในการ Implement เนื่องจากต้องใช้หลายองค์ประกอบมารวมกันเป็น Infrastructure ไม่ว่าจะเป็น Server, Network และ Storage ซึ่งต้องใช้ผู้ที่มีความเชี่ยวชาญในแต่ละด้านมาออกแบบและดูแล ทำให้เหมาะสำหรับองค์กรที่มีผู้ที่มี Skill อยู่ และถ้าขนาดขององค์กรมีขนาดใหญ่การใช้ Infrastructure แบบนี้ก็จะลด Cost ลงไปได้เยอะเพราะสามารถซื้ออุปกรณ์เป็นจำนวนมากในราคาที่ถูกลง 
  • Hyper-Converged Infrastructure เหมาะสำหรับองค์กรที่เริ่ม Implement ใหม่ ยังมีจำนวน Server ไม่เยอะมาก และไม่อยากมีปัญหากับการจัดการระบบแยกส่วนกัน ทำให้มีคนดูแลไม่ต้องมาก ก็สามารถดูแลได้ครอบคลุม 

เป็นอย่างไรกันบ้างครับกับ Blog นี้ มีความคิดเห็นกันอย่างไรบ้างครับ สามารถ Comment ได้เลยนะครับ หากสงสัยเรื่องไหนเกี่ยวกับวงการ IT ก็สามารถ Comment แนะนำมากันได้นะครับ ฝากกด Like กด Share ให้ด้วยนะครับผม

ขอบคุณครับ

หมายเหตุ : Blog นี้เป็นเพียงมุมมองและความคิดเห็นส่วนตัวของผู้เขียน หากผิดพลาดประการใดก็ขออภัยไว้ ณ ที่นี้ครับ

Source รูปภาพบทความ: https://www.researchgate.net/figure/IT-Infrastructure-evolution_fig2_266502431


— Cloud HM