Cloud
น้องๆ เคยได้ยินคำว่า "ยกเครื่อง" คอมพิวเตอร์มั้ย? Cloud Migration Strategy 7R ก็คล้ายๆ กันแหละ แต่เป็นการ "ยกเครื่อง" ระบบ IT ของเราไปไว้บน Cloud แทน
7R เนี่ย มันคือ 7 กลยุทธ์ที่เราจะเลือกใช้ตอนย้ายระบบไป Cloud แต่ละ R ก็หมายถึงวิธีการที่ต่างกันไป เช่น Rehost, Replatform, Repurchase, Refactor, Retire, Retain และ Relocate
ทำไมต้อง 7R? เพราะมันช่วยให้เราเลือกวิธีที่เหมาะกับแต่ละ workload ได้ไง! ไม่ใช่ว่าทุกอย่างต้อง "ย้ายแบบเดียวกันหมด" นะ สมัยผมทำร้านเน็ตฯ เนี่ย บางโปรแกรมก็ลง Windows 98 ได้ บางโปรแกรมก็ต้อง XP เท่านั้นแหละ คล้ายๆ กันเลย
Workload ก็คือ "ภาระงาน" ที่ระบบ IT เราต้องแบกรับ เช่น เว็บไซต์, ฐานข้อมูล, แอปพลิเคชันต่างๆ พวกนี้แหละ คือ workload ทั้งหมด
อันนี้สำคัญนะ! Cloud มีหลายแบบ IaaS คือเราเช่า "โครงสร้างพื้นฐาน" (Infrastructure) เช่น Server, Network, Storage PaaS คือเราเช่า "Platform" สำหรับพัฒนาแอปฯ SaaS คือเราใช้ "ซอฟต์แวร์สำเร็จรูป" เช่น Gmail, Salesforce
ลองนึกภาพนะ IaaS เหมือนเช่าที่ดิน PaaS เหมือนเช่าตึกเปล่าๆ SaaS เหมือนเช่าห้องพร้อมเฟอร์นิเจอร์ครบชุด เลือกเอาตามความต้องการเลยน้อง
อย่าคิดว่า Cloud จะถูกเสมอไปนะ! ถ้าเราวางแผนไม่ดี อาจจะแพงกว่าเดิมก็ได้ ต้องเข้าใจเรื่อง Cost Optimization เช่น เลือก Instance Type ให้เหมาะสม, ปิด Server ที่ไม่ได้ใช้งาน, ใช้ Auto Scaling ให้เป็นประโยชน์
สมัยผมทำร้านเน็ตฯ เนี่ย ถ้าเปิดคอมฯ ทุกเครื่องตลอด 24 ชั่วโมง บิลค่าไฟคงบานตะไท! Cloud ก็เหมือนกัน ต้องบริหารจัดการให้ดี
ก่อนจะเริ่มย้ายระบบไป Cloud เราต้องวางแผนให้ดีก่อนนะ ไม่ใช่ว่า "อยากย้ายก็ย้าย" ต้องประเมิน workload แต่ละตัวก่อน ว่าจะใช้วิธีไหนถึงจะคุ้มค่าที่สุด
Application Portfolio ก็คือ "รายการแอปพลิเคชัน" ทั้งหมดที่เรามี เราต้องมานั่งดูทีละตัว ว่าแต่ละแอปฯ มีความสำคัญแค่ไหน, มี dependencies อะไรบ้าง, เหมาะที่จะย้ายไป Cloud ด้วยวิธีไหน
ยกตัวอย่างเช่น ถ้าเป็นแอปฯ ที่สำคัญมากๆ และต้องการความยืดหยุ่นสูง อาจจะเลือก Refactor แต่ถ้าเป็นแอปฯ ที่ไม่ค่อยได้ใช้แล้ว อาจจะเลือก Retire ไปเลยก็ได้
มาถึงพระเอกของเราแล้ว! 7R มีอะไรบ้าง มาดูกัน:
แต่ละ R ก็มีข้อดีข้อเสียต่างกันไป ต้องเลือกให้เหมาะกับสถานการณ์
# ตัวอย่าง: สมมติว่าเรามี Web Server ที่รันบน Linux
# ถ้าเลือก Rehost ก็แค่ย้าย VM ไป Cloud โดยไม่ต้องแก้ไขอะไร
# แต่ถ้าเลือก Replatform อาจจะเปลี่ยนจาก Apache เป็น Nginx เพื่อให้ performance ดีขึ้น
หลังจากเลือก Strategy แล้ว ก็ลงมือทำจริง! เริ่มจาก Environment เล็กๆ ก่อน (Pilot Project) แล้วค่อยๆ ขยายไปสู่ Production
ที่สำคัญคือต้อง Testing ให้ละเอียด! อย่าคิดว่า "ย้ายเสร็จแล้วจบ" ต้องทดสอบทุก Functionality ให้แน่ใจว่าทุกอย่างทำงานได้เหมือนเดิม หรือดีกว่าเดิม
สมัยผมทำร้านเน็ตฯ เนี่ย ก่อนจะลง Windows ใหม่ให้ลูกค้า ผมต้อง Backup ข้อมูลสำคัญก่อนเสมอ Cloud ก็เหมือนกัน ต้อง Backup ข้อมูลให้ดี ก่อนจะเริ่ม Migration
ดูวิดีโอเพิ่มเติมเกี่ยวกับCloud Migration Strategy 7r:
Cloud Migration ไม่ใช่ทางเลือกเดียวเสมอไป เรายังมีทางเลือกอื่นๆ อีก เช่น:
แต่ละทางเลือกก็มีข้อดีข้อเสียต่างกันไป ไม่มีอะไร "ดีที่สุด" ต้องเลือกให้เหมาะกับความต้องการและงบประมาณของเรา
| ทางเลือก | ข้อดี | ข้อเสีย |
|---|---|---|
| On-Premise | ควบคุมได้ทุกอย่าง, ความปลอดภัยสูง | ค่าใช้จ่ายสูง, ขาดความยืดหยุ่น |
| Cloud | ค่าใช้จ่ายต่ำ, ยืดหยุ่นสูง, Scale ได้ง่าย | ควบคุมได้น้อย, ต้องพึ่งพา Vendor |
| Hybrid Cloud | ยืดหยุ่น, ผสมผสานข้อดีของทั้งสองแบบ | ซับซ้อน, บริหารจัดการยาก |
น้องๆ ลองเข้าไปอ่านบทความอื่นๆ ใน SiamCafe Blog ดูนะ มีเรื่อง Cloud อีกเยอะเลย
สรุปคือ Cloud Migration Strategy 7R เป็นเครื่องมือที่ช่วยให้เราวางแผนการย้ายระบบไป Cloud ได้อย่างมีประสิทธิภาพ เลือก Strategy ที่เหมาะกับแต่ละ workload แล้วชีวิตจะง่ายขึ้นเยอะเลย
อย่าลืมว่า Cloud ไม่ใช่ "ยาวิเศษ" ที่จะแก้ปัญหาทุกอย่างได้ เราต้องศึกษาให้เข้าใจ วางแผนให้ดี แล้วค่อยๆ ลงมือทำ รับรองว่า Cloud จะเป็นประโยชน์กับธุรกิจของเราอย่างแน่นอน
ลองแวะไปอ่านบทความอื่นๆ เกี่ยวกับเทคโนโลยีได้ที่ SiamCafe Blog นะครับ
เอาล่ะน้องๆ มาถึงส่วนสำคัญละ หลังจากที่เราคุยกันเรื่อง 7R strategy ไปแล้ว คราวนี้มาดูเคล็ดลับที่พี่ใช้จริงตอน migrate ขึ้น Cloud บ้างดีกว่า บอกเลยว่าประสบการณ์จริงล้วนๆ เจ็บมาเยอะ (หัวเราะ)
สมัยผมทำร้านเน็ต SiamCafe เนี่ย ข้อมูลลูกค้า ข้อมูลเกมส์ ข้อมูลโปรแกรมเพียบ! การย้ายข้อมูลไม่ใช่เรื่องเล่นๆ เลยนะ ต้องวางแผนให้ดี ไม่งั้น data หายหมดนี่ซวยเลย
เน้นเลยนะน้องๆ ทดสอบ! สำคัญสุดๆ ก่อนจะย้ายจริง ต้องจำลองสถานการณ์ให้เหมือนของจริงที่สุดเท่าที่จะทำได้ ลองย้าย data ชุดเล็กๆ ดูก่อน แล้วดูว่ามีปัญหาอะไรไหม แอปพลิเคชันทำงานได้ปกติหรือเปล่า
พี่เคยเจอเคสที่ย้าย data ขึ้น Cloud ไปแล้ว ปรากฏว่า font ภาษาไทยเพี้ยน! เพราะ encoding ไม่ตรงกัน เสียเวลาแก้กันไปอีกหลายวัน ดังนั้น testing สำคัญจริงๆ
สมัยนี้ tools ช่วยย้ายข้อมูลขึ้น Cloud เยอะแยะไปหมด แต่ละ tools ก็มีข้อดีข้อเสียต่างกัน ต้องเลือกให้เหมาะกับ workload ของเรา อย่างเช่นถ้าเป็น database ขนาดใหญ่ อาจจะต้องใช้ database migration service ของ Cloud provider นั้นๆ
พี่แนะนำให้ลองศึกษา tools หลายๆ ตัว เปรียบเทียบราคา ฟังก์ชันการทำงาน แล้วเลือกอันที่ตอบโจทย์เรามากที่สุด อย่าเชื่อ sales มากเกินไป ลองเองดีที่สุด!
เรื่องความปลอดภัยนี่ห้ามละเลยเด็ดขาด! ก่อนย้ายข้อมูลขึ้น Cloud ต้อง ensure ว่า data เรา encrypt อย่างดี ทั้งตอน transit และตอน rest กำหนด access control ให้รัดกุม อย่าให้ใครเข้าถึงข้อมูลเราได้ง่ายๆ
พี่เคยเห็นข่าวบริษัทโดน hack เพราะไม่ได้ตั้งค่า security ให้ดีพอ ข้อมูลลูกค้ารั่วไหล เสียหายเป็นล้าน! ดังนั้น security ต้องมาอันดับหนึ่งเสมอ
หลังจากย้ายขึ้น Cloud ไปแล้ว ไม่ใช่ว่าจบนะน้องๆ เราต้อง monitor performance ของระบบเราอย่างสม่ำเสมอ ดูว่า CPU, memory, network utilization เป็นยังไง ถ้าพบว่ามี bottleneck ตรงไหน ก็ต้อง optimize ให้ดีขึ้น
Cloud มันดีตรงที่เราสามารถ scale resource ได้ตามต้องการ ถ้าช่วงไหน traffic เยอะ ก็เพิ่ม CPU เพิ่ม memory ได้ แต่ถ้าช่วงไหน traffic น้อย ก็ลด resource ลงมาได้ ช่วยประหยัดค่าใช้จ่ายได้เยอะเลย
ไม่จำเป็นเสมอไป! ถ้าเราออกแบบ architecture ให้ดี เลือก region ของ Cloud provider ที่อยู่ใกล้กับ user ของเรา และ optimize network configuration ให้เหมาะสม Internet ก็จะไม่ช้าลง แถมอาจจะเร็วกว่าเดิมด้วยซ้ำ
อันนี้ตอบยาก ขึ้นอยู่กับหลายปัจจัย ถ้าเราใช้งาน resource ไม่เต็มที่ หรือไม่ได้ optimize ค่าใช้จ่ายให้ดี อาจจะแพงกว่า On-Premise ได้ แต่ถ้าเรา scale resource ตามการใช้งานจริง และใช้ Cloud services ให้เป็นประโยชน์ ก็จะช่วยประหยัดค่าใช้จ่ายได้ในระยะยาว
ถ้าไม่มีความรู้เลย อาจจะยากนิดนึง พี่แนะนำให้เริ่มศึกษา Cloud fundamentals ก่อน เช่น Cloud computing models (IaaS, PaaS, SaaS), Cloud security, Cloud networking จากนั้นค่อยๆ เรียนรู้ Cloud services ที่เราจะใช้งาน
เจ้าตลาดก็มี AWS, Azure, Google Cloud แต่ละเจ้าก็มีจุดเด่นจุดด้อยต่างกัน พี่แนะนำให้ลองศึกษา services ของแต่ละเจ้า เปรียบเทียบราคา และลองทดลองใช้งานดูก่อน เลือกอันที่ตอบโจทย์เรามากที่สุด
การ migrate ขึ้น Cloud ไม่ใช่เรื่องง่าย แต่ก็ไม่ได้ยากเกินไป ถ้าเราวางแผนให้ดี เลือก tools ให้เหมาะสม และให้ความสำคัญกับ security เราก็จะสามารถ migrate ขึ้น Cloud ได้อย่างราบรื่น และได้รับประโยชน์จาก Cloud อย่างเต็มที่
อย่ากลัวที่จะลองผิดลองถูก! Cloud เป็น technology ที่เปลี่ยนแปลงอยู่ตลอดเวลา เราต้องเรียนรู้และปรับตัวอยู่เสมอ ขอให้สนุกกับการ migrate ขึ้น Cloud นะน้องๆ iCafeForex ก็ใช้ Cloud นะรู้ยัง!
ถ้าอยากอ่านเรื่องอื่นๆ เกี่ยวกับ IT ที่พี่เขียนไว้ ลองเข้าไปดูที่ SiamCafe Blog ได้เลย