กรณีศึกษา Cloud Service ในบทความนี้มีความแตกต่างจากครั้งที่ผ่านๆ มานิดหน่อย ตรงที่เราจะมาดูทั้งธุรกิจที่ต้องใช้ระบบประมวลผลหนักๆ และเว็บไซต์ที่ไม่ได้เป็น Software As a Service อย่างเว็บฯ คอมมูนิตี้ แต่ Cloud Service ก็ยังสามารถช่วยตอบโจทย์ได้ในราคาที่คุ้มค่าไม่แพงเลย เรียกว่าได้ความรู้ไปทั้ง 2 แบบพร้อมๆ กัน คนที่จะมาพูดคุยกับเราในวันนี้คือคุณ อรรณพ สุวัฒนพิเศษ ผู้ก่อตั้งเว็บไซต์ ThaiThinkPad.com ถึงประสบการณ์การใช้ Cloud Service เป็นกรณีศึกษาสำหรับหลายคนที่กำลังพิจารณาเล็งๆ อยู่ว่าจะใช้ Cloud ดีไหมนะ ความน่าสนใจของกรณีศึกษาต่อไปนี้ คือ ไม่ได้เป็นกรณีของบริษัท หรือองค์กร แต่เป็นเรื่องราวและประสบการณ์จาก คุณอรรณพ สุวัฒนพิเศษ ไอทีบล็อกเกอร์ ผู้ก่อตั้งเว็บไซต์ thaithinkpad และ Siamtab ซึ่งเป็นเว็บไซต์ชุมชนออนไลน์ที่เป็นศูนย์รวมของผู้ใช้ที่มีความสนใจในสิ่งเดียวกัน
เว็บไซต์ ThaiThinkPad เป็นแหล่งชุมนุม พบปะของผู้ใช้เครื่องคอมพิวเตอร์ยี่ห้อ IBM /Lenovo ThinkPad ซึ่งก่อตั้งขึ้นมาตั้งแต่ปี พ.ศ. 2550 จนถึงปัจจุบัน มีผู้ใช้เข้ามาลงทะเบียนในเว็บไซต์ประมาณ 1 หมื่นคน และมีผู้ใช้ประมาณ 200 คน ที่ผลัดเปลี่ยนกันเข้ามาพูดคุย แลกเปลี่ยนความคิดเห็น รวมทั้งซื้อขายสินค้า อุปกรณ์ และอะไหล่ต่างๆ ในเว็บบอร์ดทุกๆ วัน ส่วนเว็บไซต์ SiamTab นั้นจะเน้นเฉพาะกลุ่มผู้ใช้ที่สนใจเกี่ยวกับ แท็บเล็ต โทรศัพท์มือถือ แอพพลิเคชั่น และเกมส์เป็นหลัก โดยมีทั้งส่วนที่ให้ข่าวสาร บทความ รีวิว และเว็บบอร์ด
นอกจากนี้ คุณอรรณพยังรับหน้าที่เป็นที่ปรึกษาด้านเทคนิคให้กับบริษัทต่างๆ ซึ่งจะกล่าวถึงในที่นี้คือ บริษัท แอลดี พลาส จำกัด และบริษัท เพลินจิต มีเดีย จำกัด
ก่อนอื่น มาเริ่มต้นที่ความต้องการทางธุรกิจ
ด้วยความที่คุณอรรณพ ต้องดูแลทั้งเว็บไซต์ที่ก่อตั้งขึ้นเอง และระบบไอทีของบริษัทลูกค้าด้วย ปัญหาและความท้าทายทางธุรกิจที่คุณอรรณพต้องประสบจึงมีความแตกต่างกันไป ตัวอย่างเช่น ในกรณีของเว็บไซต์ ThaiThinkPad.com ซึ่งอนุญาตให้ผู้ใช้สามารถโพสต์ไฟล์ภาพสินค้าขนาดใหญ่ไว้ในเว็บบอร์ดได้ ทำให้เกิดประเด็นเกี่ยวกับบริหารจัดการด้านสตอเรจขึ้น
“ในแต่ละเดือน ไฟล์ภาพในเว็บบอร์ดใช้ เนื้อที่บนสตอเรจของเราประมาณ 300-400GB รวมๆ แล้ว ก็หลายเทราไบต์ต่อปี ซึ่งถึงแม้ว่าเราจะมีนโยบายลบภาพที่อยู่ในส่วน marketplace ออกไปเป็นระยะๆ แต่เราก็ยังต้องแบ็กอัพภาพเหล่านั้นเก็บไว้ด้วย เพื่อใช้ในกรณีที่มีคดีความเกี่ยวกับการซื้อขายสินค้าเกิดขึ้น ซึ่งเป็นมาตรการที่เว็บส่วนใหญ่ปฏิบัติกัน”
“นอกจากนี้ ไฟล์ภาพเหล่านี้ ยังทำให้ผู้ใช้ในต่างประเทศเข้าถึงไฟล์ภาพเหล่านี้ได้ช้า เนื่องจากแบนด์วิดธ์ระหว่างประเทศมีจำกัดและมีค่าใช้จ่ายสูง ที่สำคัญ คือ ทำให้การเชื่อมต่อระหว่างเครื่องของผู้ใช้กับเซิร์ฟเวอร์ต้องค้างรอ ซึ่งหากมีจำนวนมาก ก็จะส่งผลกระทบต่อผู้ใช้คนอื่นๆ ในขณะนั้นด้วย”
ในส่วนของเว็บไซต์ 24Plast.com นั้น มีความต้องการที่ต่างออกไป คือ ลูกค้าต้องการเชื่อมระบบ POS (Point of Sale) ที่หน้าร้านสาขากับเว็บไซต์ เพื่อว่า เมื่อมีการอัพเดตข้อมูลสินค้า เปลี่ยนแปลงราคาสินค้า อัพเดตสต็อกสินค้า ทั้งส่วนหน้าร้าน และบนเว็บไซต์ ก็จะอัพเดตตรงกันโดยอัตโนมัติ ไม่ต้องให้พนักงานเข้าไปอัพเดตข้อมูลที่หน้าเว็บเอง ซึ่งหากทำได้ก็จะช่วยให้การทำงานสะดวกขึ้นอย่างมาก
ด้านความท้าทายที่ทางบริษัท เพลินจิตมีเดีย ต้องประสบ คือ จะต้องทำให้ระบบพร้อมใช้งานภายในเวลาที่จำกัด เนื่องจากแพลตฟอร์มเดิมของระบบยังไม่สามารถตอบโจทย์ทางธุรกิจได้ ดังนั้น จึงจำเป็นต้องย้ายระบบไปทำงานบนแพลตฟอร์มใหม่ เพื่อให้ระบบสามารถทำงานได้เร็วขึ้น และพร้อมรองรับจำนวนผู้ใช้ในระดับเป็นหมื่นเป็นแสนคนได้พร้อมๆ กัน ซึ่งนับเป็นระบบที่มีขนาดใหญ่ทีเดียว
ทางแก้ปัญหาคืออะไรเอ่ย ?
ในกรณีของเว็บไซต์ ThaiThinkPad.com คุณอรรณพเลือกที่จะใช้บริการสตอเรจของ Windows Azure ที่เรียกว่า Blob (Binary Large Object) ซึ่งเหมาะสำหรับการจัดเก็บไฟล์ข้อมูลแบบไม่มีโครงสร้าง และข้อมูล ไบนารี่อย่าง ไฟล์ภาพ เสียง หรือวิดีโอ) สำหรับจัดเก็บทั้งไฟล์ภาพที่ไม่จำเป็นต้องใช้แล้ว และใช้แบ็กอัพไฟล์ภาพที่ยังใช้งานอยู่บนเว็บด้วยทดแทนการลงทุนซื้อฮาร์ดดิสก์
นอกจากใช้บริการสตอเรจ Blob แล้ว คุณอรรณพยังใช้บริการ CDN (Content Distribution Network) กับ Blob ด้วย ซึ่งช่วยให้ผู้ใช้ในต่างประเทศสามารถดึงข้อมูลจาก Blob ได้เร็วขึ้น ทำให้การเชื่อมต่อระหว่างเครื่องของผู้ใช้กับเซิร์ฟเวอร์ไม่ต้องรอนานอย่างแต่ก่อน
ส่วนของเว็บไซต์ 24Plast.com นั้น ถึงแม้จะใช้ Drupal ในการพัฒนา ใช้ MySQL ในส่วนฐานข้อมูล และรันบนลีนุกซ์ (ซึ่งเป็นแพลตฟอร์มที่คุณอรรณพถนัด) แต่ทั้งหมดนี้ก็สามารถรันบน Windows Azure ได้อย่างราบรื่นดี
“วิธีการของผมก็ง่ายๆ คือ เราสร้างเป็น VM (Virtual Machine) อยู่บน Windows Azure จากนั้นก็ลง Ubuntu Linux, MySQL และส่วนอื่นๆ ทั้งหมดบน VM นี้ มันก็จะทำงานเหมือนการที่เราใช้โฮสติ้งตามปกติ แต่ที่ดีกว่า คือ เราสามารถจะขยายระบบเพื่อรองรับจำนวนสินค้า
ส่วนเรื่องการเชื่อมต่อระบบ POS ที่หน้าร้านสาขากับเว็บไซต์นั้น ในขณะนี้ ก็ได้นำข้อมูลสินค้านับหมื่นรายการจากฐานข้อมูล SQL ของระบบ POS เข้าสู่เว็บแล้ว จากนั้นในการทำงานปกติ ก็จะมีการซิงก์ข้อมูลระหว่างระบบ POS กับเว็บไซต์ตลอดเวลา เรียกได้ว่าเป็นระบบ Hybrid Cloud ก็ว่าได้ คือ ระบบหลักทั้งหมดยังคงอยู่ในบริษัท แต่มีการซิงก์ข้อมูลบางส่วนมาไว้บนคลาวด์เพื่อการทำงานของเว็บอีคอมเมิร์ซ
สำหรับระบบสตรีมมิ่งการแข่งขันฟุตบอล BPL นั้น คุณอรรณพอธิบายให้ทราบว่า ทางบริษัท เพลินจิต มีเดีย จำกัด จำเป็นต้องย้ายระบบจากแพลตฟอร์มเดิม ไปขึ้นบน Windows Azure โดยได้ใช้ Windows Azure VM ทั้งหมดมากกว่า 200 คอร์ สำหรับงานด้านต่างๆ เช่น รัน Nginx (Engine X) บนลีนุกซ์, ใช้ Memcached เพื่อให้ทำงานได้เร็ว และรองรับผู้ใช้แอพพลิเคชั่นจำนวนมาก รวมทั้งมี VM ที่ทำหน้าที่แบ็กอัพในกรณีที่ VM หลักหยุดทำงาน นอกจากนี้ ยังใช้ Windows Azure Cloud Services ทำ Load Balance ด้วย
“หากเราใช้วิธีเดิมๆ คือ สั่งซื้อเครื่องจากผู้ผลิตเซิร์ฟเวอร์ตามสเปกที่เราต้องการ อาจใช้เวลาเป็นเดือน วันรุ่งขึ้นต้องขยายระบบ ต้องการอีก 20 เครื่อง เขาคงทำตามที่เราต้องการไม่ได้ แต่เมื่อนำมาไว้บน Windows Azure วันนี้เราต้องการกี่ VM ทุกอย่างตอบโจทย์ครบหมดภายในเวลา 2 วัน ซึ่งก็ตอบโจทย์ทางธุรกิจด้วย ถึงวันนี้ แทบไม่มีปัญหาเลย”
ประโยชน์ที่ได้รับเป็นอย่างไรบ้าง?
“ในกรณีของเว็บไซต์ ThaiThinkPad.com ถ้าเทียบค่าใช้จ่ายตลอดอายุการใช้งานแล้ว การลงทุนซื้อฮาร์ดดิสก์จะสูงกว่าการใช้บริการสตอเรจ Blob ของ Windows Azure โดยเฉพาะอย่างยิ่งหากใช้ในการแบ็กอัพตามมาตรฐาน เราก็ต้องซื้อฮาร์ดดิสก์ถึง 3 ตัว ทำให้ยิ่งดูเป็นการลงทุนที่ไม่สมเหตุสมผลเลยและที่สำคัญการใช้งาน Blob ร่วมกับ CDN ก็ช่วยทำให้ผู้ใช้ในต่างประเทศเข้าถึงเว็บของเราได้รวดเร็วยิ่งขึ้น โดยที่ไม่มีผลกระทบต่อผู้ใช้ภายในประเทศ”
แม้ว่าในขณะที่จัดทำกรณีศึกษานี้ระบบเว็บไซต์ 24Plast.com บน Windows Azure จะยังไม่ได้เปิดใช้งานจริง แต่คุณอรรณพ ก็ได้ชี้ให้เห็นประโยชน์ที่ได้รับว่า
“ตอนนี้เราใช้เพียง 1 VM บน Windows Azure สำหรับฐานข้อมูลและเซิร์ฟเวอร์ ซึ่งก็เพียงพอที่จะรองรับผู้ใช้ 4-5 พันคนในช่วงเริ่มต้น 1-2 ปีแล้ว หากมีปริมาณการซื้อขายมากขึ้น หรือเพิ่มสาขา ก็สามารถเพิ่ม VM ได้ แบบนี้จะดีกว่าการลงทุนซื้อเครื่องเซิร์ฟเวอร์มาเลย ซึ่งเสียทั้งค่าเครื่องและค่าบริการที่ดาต้าเซ็นเตอร์ และทุนจมอยู่เป็นปี นอกจากนี้ เรื่องรูปภาพสินค้า ซึ่งมีอยู่หมื่นกว่ารูป รวมๆ แล้วประมาณ 7GB เราก็นำไปเก็บไว้บน Windows Azure เพื่อเลี่ยงปัญหาแบบที่เราผ่านมาแล้วใน Thai ThinkPad.com เพราะรูปสินค้าจะใช้ แบนด์วิดธ์ค่อนข้างมาก ประกอบกับมีการซิงก์ข้อมูลกับระบบ POS ด้วยอีกเราก็อาจจะโดนผู้ดูแลโฮสติ้งไล่ออกมาก็ได้ 5555” คุณอรรณพกล่าวติดตลกให้พอเห็นภาพ
สำหรับกรณีของบริษัทเพลินจิตนั้น เห็นได้ชัดว่า การย้ายระบบขึ้นมาอยู่บน Windows Azure นั้นสามารถทำได้สะดวก และรวดเร็ว ซึ่งตอบโจทย์ข้อจำกัดด้านเวลา โดยโค้ดที่พัฒนาขึ้นมาบนแพลตฟอร์มเดิม สามารถทำงานได้ตามปกติบน Windows Azure VM หลังจากที่มีการปรับแต่งเล็กน้อย และทางบริษัทฯ ก็สามารถสร้าง VM จำนวนมากได้อย่างรวดเร็ว เพื่อรองรับการทำงานของระบบทั้งหมด และพร้อมขยายระบบให้ตอบสนองต่อผู้ชมจำนวนนับหมื่น นับแสนคนได้อย่างทันท่วงที
นอกจากประโยชน์ในทางธุรกิจแล้ว ในแง่ของผู้ดูแลระบบอย่างคุณอรรณพ ก็เห็นถึงประโยชน์ในอีกมุมหนึ่ง
“Windows Azure มีแดชบอร์ด ที่ช่วยให้เราตรวจสอบการทำงานทั้งหมดของระบบได้ง่าย ช่วยลดขั้นตอนการทำงานไปได้พอสมควร และด้วยความที่ตอนนี้เราใช้ VM ซึ่ง Windows Azure ก็มี VM ให้เลือกหลายแบบอยู่แล้ว เพียงเลือก สร้าง และคอนฟิก โดยเราก็ไม่จำเป็นต้องเดินทางเข้าไปที่ศูนย์IDC เพื่อติดตั้งเครื่อง ต่อสาย เปลี่ยนสลับฮาร์ดดิสก์อีกต่อไป”
“เรื่องการทดสอบโปรแกรม หรือระบบงาน นี่ก็เป็นอีกเรื่องหนึ่งที่ Windows Azure ทำให้ง่ายขึ้นมาก โดยไม่ต้องหาเครื่องจริงมาทดสอบ เพียงเปิด VM บน Windows Azure มาลงโปรแกรม ใส่ข้อมูล ก็ทดสอบได้แล้ว เมื่อทดสอบเสร็จ ก็ลบทิ้ง เสียค่าใช้จ่ายเล็กน้อยมาก แม้แต่การทดสอบแนวคิดทั้งระบบก็ทำได้เช่นกัน จนบางครั้งลูกค้าก็พูดเลยว่า ทำแบบนี้ได้ด้วยหรือ ซึ่งทำให้สามารถทดสอบแนวคิดให้ลูกค้าดูได้ โดยไม่ต้องลงทุนมาก”
พูดถึงปัจจุบัน มาต่อกันที่แผนงานในอนาคตกันบ้าง
คุณอรรณพได้เล่าให้ฟังถึงแผนที่วางไว้สำหรับเว็บไซต์ SiamTab.com ว่า นอกจากจะใช้บริการ Blob และ CDN เช่นเดียวกับเว็บไซต์ ThaiThinkPad.com แล้ว ยังวางแผนที่จะพัฒนาส่วนที่เป็นแบบLiveJournal ไว้ในเว็บเพจด้วย สำหรับกรณีที่มีการจัดงานอีเวนต์ ก็จะสามารถแสดงข้อความต่างๆ ที่ผู้ใช้ทวิตเข้ามาได้อย่างทันที ไม่ว่าจะเป็นผู้ใช้ในประเทศหรือต่างประเทศ ซึ่งคุณอรรณพวางแผนไว้ว่าจะใช้บริการ Windows Azure Storage Table เป็นฐานข้อมูลในการเก็บตัวเนื้อหา
“การทำแบบนี้ ก็เท่ากับเราผลักเซอร์วิสออกไปจากระบบหลักของเว็บ SiamTabเพื่อลดโหลดของระบบหลัก และเรายังสามารถเปิดเซอร์วิสนี้ขึ้นมาใช้ในช่วงที่มีงาน จบงานก็ปิดเซอร์วิสได้เลย”
จากกรณีศึกษานี้ จะเห็น ได้ว่าการประยุกต์ใช้บริการต่างๆ ของ Windows Azure ไม่ว่าจะเป็น Virtual Machine, Storage Blob, Storage Table, CDN นั้น สามารถช่วยลดค่าใช้จ่าย ลดเงินลงทุนเบื้องต้น เพิ่มประสิทธิภาพในการทำงานของระบบ และสามารถตอบโจทย์ความต้องการของลูกค้าที่หลากหลายได้อย่างครบถ้วน ไม่ว่าจะเป็นธุรกิจขนาดใหญ่หรือเล็กและพร้อมรองรับระบบต่างๆ ทั้งที่เป็น โอเพ่นซอร์ส หรือที่เป็นของผู้ผลิตซอฟต์แวร์รายอื่นๆ โดยไม่ได้จำกัดว่าจะต้องเป็นผลิตภัณฑ์จากไมโครซอฟท์เท่านั้น
บทความนี้เป็น Advertorial