มาทำความรู้จักกับ High Availability กันคืออะไร



สวัสดีครับ หลังจากห่างหายการเขียนบทความไปพอสมควร เนื่องจากยุ่ง และ วุ่น ตามประสาที่งานเยอะไปเรื่อย (ดูเหมือนแก้ตัว) ก็ได้มีโอกาสมาเขียน Share ให้เพื่อนๆฟังสักเรื่องหนึ่ง

หลังจากได้ไปเรียน VMware มา แล้วก็ได้ไปเรียน Microsoft มาก็เรียนมาทั้ง 2 ค่าย สำหรับ Concept Cloud & Virtualization ก็เลยมีโอกาสอยากมา Share เผื่อเพื่อนๆคนไหนสนใจ อยาก Intrend กับเขาบ้าง

ในตลาดตอนนี้ ถ้าไม่พูดถึง Virtualization คงไม่ได้ เพราะใครๆเขาก็ทำกัน จริงๆ เขาทำกัน ไม่ได้เพราะทุกวันนี้ CPU นั้นเร็วจริงๆ Memory หรือ Ram นั้นก็ถูกแสนจะถูก 4G 8G ราคาเริ่มหลักแบบว่า 3-4 พัน ทำให้กระแส virtualization แรกขึ้นเรื่อยๆ สำหรับท่านที่ไม่รู้จัก ผมขอเกริ่นก่อนว่า Virtualization แปลเป็นภาษาไทยง่ายๆก็คือ โลกเสมือน แปลไทยเป็นไทย สำหรับคน IT ให้เข้าใจกันหน่อยก็คือ การแบ่ง Server 1 ตัว ออกเป็นหลายๆตัว ด้วย Software

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

คำถามคือ แบ่งไปเพื่ออะไร

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

SERVER ปรกติทั่วไปประกอบด้วย OS + Application ใช่ไหมครับ สมัยดั่ง สมัยเดิมของเรา เราก็เอา OS + App ลงบน Server 1 ตัว การจะลง OS ไปได้ก็อาศัยที่เรียกว่า Driver เพราะมันมี Hardware ที่หลากหลายรุ่น หลากหลายยี่ห้อ การจะย้าย OS + App จากเครื่อง 1 ไปเครื่อง 2 นั้นสมัยเดิมทำให้ยากเย็น ทุกวันนี้ก็ยังมีคนทำกันยากเย็นแบบนี้อยู่ เรียกว่า Migrate ระหว่าง 2 เครื่อง ก็จะมี Downtime เพราะก็เหมือน Install OS ลงใหม่แล้วย้าย Data ข้ามไป

เมื่อโลก Virtualization มาถึง ก็มีการคิดค้นว่า OS + App จับไปอยู่ในโลกเสมือนซะ คือไม่มี Driver แล้วให้ Hypervisor ทำหน้าที่บริหารจัดการเอา แค่นี้มันก็ช่วยให้ เวลา Server เก่า ใกล้พัง ไม่ต้องหลอน อยากจะย้ายมันไปรันเครื่องไหนก็ได้เพราะมันเป็นโลกเสมือน

แต่บทความนี้ เราอยากให้เรามาทำความเข้าใจกับคำว่า HA หรือ ตัวเต็มของมันคือ High Availability อยากรู้ว่าอ่านไง Copy ลง Google Translate ให้มันอ่านให้ฟัง :)

คำว่า HA ชื่อมันก็บอกแล้วว่า High Availability คือ คนไม่ IT อาจจะแปลกว่า ว่างมาก ถ้าให้ Google Translate แปล จะได้ "ฟังเพลงออนไลน์สูง" ดูมันแปลอะไรของมัน แต่ไม่ใช่ คน IT ที่ฉลาดอย่างเรา พวกเราแปลว่า การทำให้ระบบพร้อมใช้งานตลอดเวลา คือทำให้ระบบมันพร้อมใช้งานตลอดเวลา ระบบมันว่างพร้อมให้ใช้งาน อะไรประมาณนั้น

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

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

การทำ High Availability บน Server นั้นจำเป็นอย่างยิ่งว่าจะต้องใช้ Virtualization เข้ามาช่วยเหลือ ไม่งั้นก็ไม่สามารถทำได้เลย เพราะอย่างที่เกริ่นไปแล้วว่า การย้าย OS + App จากที่นึง ไปอีกที่นึงนั้น ต้องอยู่บนโลกเสมือนไม่เท่านั้น ไม่งั้นเราก็จะต้องติดปัญหาการ Boot ไม่ขึ้น ติดปัญหา Driver อีกเช่นเคย จึงเป็นเหตุทำให้ทุกวันนี้หลายๆคนจึงเข้าสู่ Virtualization กันหมด

การทำ High Avaliatble ใน Level ของ Application ก็คือการทำ Cluster นั้นเอง เพราะมันมีเหตุการณ์ที่ว่า Server ไม่ได้พัง แต่ Database Server Service ตาย ก็ทำให้ใช้งานไม่ได้เช่นเดียวกัน ก็ต้องทำ Cluster เพื่อป้องกันการตายของ Service ของ Server ตัวใดตัวหนึ่ง

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

Out

?

Are you sure you want to log out?

Press No if youwant to continue work. Press Yes to logout current user.