Container Orchestration

ทั้ง Container และ OpenStack ต่างก็เป็นเทคโนโลยีสุดฮอตในระบบ Cloud แต่รู้หรือไม่ว่า Container Orchestration Tool ตัวไหนบ้างที่สามารถนำมาใช้งานร่วมกับ Open Source Cloud Platform อย่าง OpenStack ได้? มาหาคำตอบกันที่บทความนี้ได้เลย

องค์กรทั้งหลายมักใช้ Container Orchestration Tool (หรือบางครั้งก็เรียกว่า Container Orchestration Engine) ในการ Deploy, Scale, และ เชื่อมต่อส่วนประกอบต่างๆ ของ Container Technology เข้าด้วยกัน ซึ่ง Orchestration Tool นี้ช่วยให้องค์กรสามารถ Monitor พวก Container Instance เพื่อลดจำนวน Container ที่กระจายตัวอยู่ในระบบได้อีกด้วย

OpenStack Magnum Module ที่เป็นบริการ OpenStack API สำหรับ Container นั้นรองรับ 3 Container Orchestration Engine หลักๆ คือ Docker, Google Kubernetes, และ Apache Mesos

Docker เป็นหนึ่งใน Orchestration Engine ที่ได้รับความนิยมและเป็นที่รู้จักมากที่สุด Docker ทำให้ Developer สามารถ  Package และ Deploy ทั้ง Application ตลอดจนสิ่งที่ Application ต้องใช้ได้ภายในหนึ่ง Image ที่รันบนระบบของ Linux ทั้งนี้ Docker ก็มี Tool ของตัวเอง เช่น Docker Machine สำหรับสร้าง Docker Host, Docker Compose สำหรับรวบรวม Application ซับซ้อนทั้งหลายที่กระจายตัวอยู่, และ Docker Swarm สำหรับรองรับ Container Cluster ให้มีระบบ Computing ที่ยืดหยุ่นและ Scale การใช้งานได้

Google Kubernetes เป็น Container Orchestration Engine แบบ Open Source ที่รองรับการงานร่วมกับ Docker Container โดย Kubernetes นี้จะ Deploy และจัดการ Container อยู่ภายใน Compute Cluster ทั้งยังทำ Workload Balancing เพื่อคงไว้ซึ่งศักยภาพการทำงาน

Apache Mesos ก็เป็นอีกหนึ่ง Orchestration Engine แบบ Open Source ที่เน้นด้านความคงทนต่อความเสียหาย (Fault-Tolerant), Compute Cluster ขนาดใหญ่, และการรองรับ Node จำนวนนับหมื่นที่รัน Docker Container นอกจากนี้ Mesos ยังรองรับคอนเซ็ปต์ของ Jobs And Tasks รวมทั้งสภาพแวดล้อม Container ที่เปลี่ยนแปลงอยู่ตลอดและมีความสามารถการ Scale สูง ซึ่งองค์กรมักจะใช้งาน Mesos กับ Job System อย่าง Marathon สำหรับรัน Jobs และ Tasks

ผู้ใช้งาน OpenStack สามารถเลือกใช้อย่างไหนก็ได้จาก 3 Orchestration Tool นี้ โดย Engine ที่เลือกใช้จะถูก Provision อัติโนมัติไปยัง Host System ที่มี Container Deploy อยู่ทันที

 

IT รองรับ Cloud อย่างจริงจัง

เข้าสู่ยุค 4.0 อย่างเป็นทางการ ซึ่งเป็นยุคของเทคโนโลยีเต็มขั้น พร้อมทั้งพัฒนาก้าวหน้าไปอย่างรวดเร็ว ซึ่งการมาของ Cloud ยังคงเป็นเรื่องใหม่ สำหรับใครหลายๆคน แต่ก็ถือเป็นเรื่องที่นักธุรกิจต้องศึกษา และนำมาใช้กับธุรกิจ เพราะ Cloud มีความสามารถที่หลากหลาย

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

ระบบ Cloud เปิดโอกาสให้ IT Operation team สามารถเริ่มต้น IT Project ได้เอง ด้วยบริการ SaaS และ Service เสริมต่างๆ อย่างไรก็ดีการเปลี่ยนแปลงนี้มาพร้อมกับความเสี่ยงด้าน Security และ Workflow แต่แทนที่จะล้มเลิกไปเพราะความเสี่ยงพวกนี้ สิ่งที่องค์กรควรทำมากกว่า คือ ลองเปลี่ยนไปใช้ Cloud Application ใหม่ๆ แยกส่วน Process ของ Application review ออกจากฝ่าย Application justification

ทางด้าน Compliance และ Security Review ก็ควรประกอบด้วย Policy document ซึ่งระบุ Requirement ของ Application ที่จะใช้งาน และ Review Process โดยทีม IT จะต้องหมั่นสำรวจทรัพยากรของ Cloud Application และตัดสินใจว่าต้องการใช้ทรัพยากรอะไรบ้างเพื่อให้สามารถทำงานได้ในระดับมาตรฐาน

นอกจากนี้ Cloud ยังเปลี่ยนรูปแบบการทำงานของฝ่าย IT อีกด้วย เพราะทรัพยากรของ Cloud สามารถเช่าใช้งานได้ตามต้องการ ทำให้การวางแผนของทีม IT เปลี่ยนไปจากเดิม คือ ไม่ต้องขึ้นอยู่กับทรัพยากรส่วนกลางของระบบ, Tools, และ Staff ภายในองค์กรเหมือนแต่ก่อน ระบบ Cloud ทำให้ฝ่าย IT สามารถจัดการกับความต้องการใช้งานทรัพยากรระยะสั้นได้ในราคาประหยัด

ทั้งนี้ IT Operation team ก็ควรเช็คค่าใช้จ่ายในใบเสนอราคาว่ามูลค่าของ Data Center สูงกว่าการใช้ Cloud จริงหรือไม่ โดยเฉพาะในส่วนของ PaaS กับ SaaS ที่น่าจับตามองเป็นพิเศษ เพราะช่วยประหยัดค่าบริการไปได้เยอะกว่า IaaS

การตรวจสอบอย่างละเอียดและวางแผนให้รัดกุมมากพอ จะส่งผลดีต่อการจัดสรรทรัพยากรในระยะยาว นอกจากนี้ยังควรมีการเตรียม Technical support รองรับการทำงานอย่างต่อเนื่อง แล้วจึงกำหนดปริมาณทรัพยากร Data Center ให้สอดคล้องกับความพร้อมของ Cloud service ทั้งนี้ต้องไม่ลืมคำนวณค่าใช้จ่ายสำหรับส่วน Security และ Governance อีกด้วย

ปรับแต่ง Application deployment model เพื่อใช้กับ Cloud

เมื่อย้ายมาใช้ Cloud แล้ว ฝ่าย IT ก็ต้องเตรียม Application Deployment Model ให้พร้อมรองรับการทำงานที่ครอบคลุมเพียงพอ ซึ่งการที่แต่ละ Application มี Requirement แตกต่างกัน เพราะใช้ Resource ที่หลากหลาย ทำให้เกิดความยุ่งยากระหว่างการ Deploy พอสมควร จึงน่าจะมีการสร้างนโยบายพื้นฐานเพื่อช่วยให้ฝ่าย IT และ User สามารถรับมือกับจำนวนทรัพยากรที่เพิ่มมากขึ้นได้ง่าย โดยโฟกัสไปที่ส่วนของโครงสร้างองค์กร, DevOps, Application Lifecycle Management (ALM) เป็นหลัก

อย่างไรก็ดีการหันมาใช้งาน Cloud อาจเสี่ยงต่อปัญหาได้ เพราะเมื่อมีการย้ายมาใช้งานระบบใหม่ องค์กรอาจขาด IT support ทำให้ Workflow เกิดความไม่ต่อเนื่อง เพราะฉะนั้นการออกแบบ Cloud plan ให้สนับสนุนกับโครงสร้างองค์กรจึงเป็นเรื่องสำคัญมาก

กลยุทธ์ทาง DevOps ก็สามารถช่วยเรื่อง Scale ของ Resource ที่กล่าวมาข้างต้นได้ โดย DevOps คือการใช้ Automate deployment tools เพื่อสร้างและรักษาเสถียรภาพ Application บน Host platform ซึ่งถ้าไม่ใช้เครื่องมือพวกนี้ก็จะต้องหันไปพึ่ง Manual process ที่มีราคาแพง นอกจากนี้บางเครื่องมือของ DevOps ยังสามารถปรับแต่งให้ขยายขอบเขตการใช้งานไปยัง Cloud platform ได้อีกด้วย

ขั้นตอนสุดท้ายคือเรื่องของ ALM ที่มีเป้าหมายเพื่อพัฒนา Application ด้วยการกำหนด Specific testing และ Deployment rules ผ่านทาง ALM Software แบบพิเศษ หลายๆ องค์กรจะรวม Security และ Governance เข้าไปในขั้นตอนของ ALM ด้วย ซึ่งนับว่าสำคัญมากต่อการวางแผนใช้งาน Cloud

10 ข้อดีของ Cloud

Cloud Computing ฟังแล้วคงคุ้นๆหูกันบ้าง แต่รู้หรือไม่ ว่าแท้จริงแล้วคืออะไร ซึ่งก็อธิบายได้ดังนี้

Cloud Computing ก็คือระบบ Compting ที่อยู่บน Internet นั่นเอง โดยในอดีตเราใช้งาน Application หรือ Program ต่างๆ จากเหล่า Software ที่ดาวน์โหลดมาจาก Internet และนำมาติดตั้งไว้ในคอมพิวเตอร์หรือ Server อีกทอดหนึ่ง แต่ว่าระบบ Cloud Computing นั้นแตกต่างออกไป เพราะเราสามารถใช้งาน Application หรือ Program ทั้งหลายได้เลย ผ่านทาง Internet

โดยในทุกวันนี้ ชีวิตประจำวันของเราก็เกี่ยวข้องกับระบบ Cloud กันอย่างไม่รู้ตัว ทั้งการอัพเดท
สเตตัสบน Facebook และเปิดแอพฯ เช็คเงินในธนาคาร ล้วนเป็นการใช้งาน Cloud Computing ด้วยกันทั้งสิ้น ซึ่งใครๆ ต่างก็พึ่งพา Cloud Computing เพื่อแก้ปัญหายิบย่อยของการทำธุรกิจ เช่น การส่งอีเมลระหว่างเดินทาง หรือใช้สารพัดแอพฯ ช่วยบริหารจัดการ Workload เป็นต้น

ซึ่ง Cloud Computing นั้นกำลังกลายมาเป็นส่วนหนึ่งในชีวิตประจำวันของเราอย่างรวดเร็ว จากการคาดการณ์ในภาพรวม ราวๆ 90% ของธุรกิจในสหราชอาณาจักรจะต้องพึ่งพาอยู่บนระบบ Cloud Computing อย่างแน่นอน

แล้วทำไมเปอร์เซ็นต์ถึงเยอะขนาดนั้น? Cloud computing มีดีแค่ไหน? เสริมศักยภาพการทำธุรกิจได้อย่างไร? ช่วยให้ทำเงินได้เยอะขึ้นจริงหรือ?

และนี่คือ 10 ข้อได้เปรียบที่คุณจะได้เป็นเจ้าของทันที เมื่อเปลี่ยนมาใช้ Cloud

1 ยืดหยุ่น : พวกระบบบริการที่เป็น Cloud-based Service ทั้งหลาย น่าจะเรียกได้ว่าเป็นระบบในอุดมคติสำหรับธุรกิจที่มีการเคลื่อนไหวของ Bandwidth อยู่ตลอด เพราะในระบบ Cloud เราสามารถปรับเพิ่มหรือลดขนาดของ Bandwidth ได้ทันทีตามต้องการ เพิ่มความสะดวกและรวดเร็วในการทำธุรกิจไปอีกระดับ

  1. ไม่หวั่นต่อภัยธรรมชาติ : ทุกบริษัทล้วนต้องมีการลงทุนเพื่อกู้คืนความเสียหายจากภัยธรรมชาติอยู่แล้ว แต่สำหรับธุรกิจหน้าใหม่ที่อาจจะขาดทั้งเงินทุนและผู้เชี่ยวชาญ ระบบ Cloud คือ ตัวช่วยแก้ปัญหาได้เป็นอย่างดี ถ้าสำรองข้อมูลไว้บน Cloud ต่อให้เกิดภัยพิบัติใดๆ กับบริษัท ก็ไม่ต้องห่วงว่าข้อมูลจะเสียหาย แถมต้นทุนยังไม่แพงอีกด้วย
  2. อัพเดทซอฟต์แวร์อัตโนมัติ : สุดยอดข้อดีของระบบ Cloud ก็คือ Server ของมันเป็นแบบ Off-premise ไม่ได้มาติดตั้งกินพื้นที่อยู่ในบริษัทของเรา การดูแลทั้งหมด ไม่ว่าจะด้านความปลอดภัย บำรุงรักษา หรืออัพเดทซอฟต์แวร์ก็จะเป็นหน้าที่ของผู้ให้บริการที่คอยจัดการให้โดยอัตโนมัติ ผู้ใช้งาน Cloud สามารถเอาเวลาอัพเดทระบบ ไปสร้างสรรค์ธุรกิจของตนได้เต็มที่
  3. ไม่เสียค่าอุปกรณ์ : ลืมค่าอุปกรณ์ฮาร์ดแวร์ราคาแพงไปได้เลย เพราะเราไม่ได้มีเครื่อง Server ติดตั้งอยู่กับตัวบริษัท ผู้ใช้บริการระบบ Cloud เพียงแค่จ่ายค่าบริการในส่วนที่ต้องการใช้เท่านั้น ซึ่งวิธีนี้ทำให้เราสามารถใช้งานฮาร์ดแวร์คุณภาพสูงได้ในราคาค่าบริการที่ไม่แพง
  4. ประสานงานได้ดีขึ้น : ให้ลองนึกภาพ Google Drive เมื่อมีการสร้างหรือแชร์งานกันผ่านระบบ Cloud ทีมงานทุกคนจะสามารถทำงานพร้อมกันได้ทันที และยังอัพเดทแบบ real-time อีกด้วย
  5. อยู่ที่ไหนก็ทำงานได้ : พอกันทีกับยุคสมัยที่ต้องติดแหง็กนั่งทำงานอยู่กับที่ ระบบ Cloud ทำให้เราสามารถทำงานจากที่ไหน เมื่อไหร่ก็ได้ ขอเพียงแค่มี Internet กับอุปกรณ์สำหรับเข้าถึงก็เพียงพอ เพิ่มความคิดสร้างสรรค์ส่งผลดีต่องานของเราได้ด้วยการทำงานในสภาพแวดล้อมตามชอบใจ
  6. จัดการเอกสารได้ง่าย : สมัยก่อน เวลาจะส่งเอกสารทีไรก็ต้องแนบไฟล์ผ่านอีเมลเป็นรายคน และเมื่อมีการแก้ไขหรือส่งกลับไปกลับมาบ่อยๆ เข้า ก็เกิดปัญหาชวนสับสนเรื่องชื่อไฟล์ ฟอร์แมต รวมไปถึงเนื้อหา ไม่รู้ว่าอันไหนใช้งานได้หรือไม่ได้กันแน่ แต่ในระบบ Cloud ปัญหาพวกนี้จะหมดไป เพราะเอกสารจะถูกเก็บในส่วนกลาง มีการอัพเดทอยู่ตลอดทุกคนสามารถเปิดอ่านเอกสารฉบับล่าสุดที่เพิ่งแก้ไขได้ในทันที
  7. ปลอดภัย : ก่อนหน้าที่จะมีระบบ Cloud การโดนขโมยคอมพิวเตอร์โน้ตบุ๊ค หรือทำมันหาย ไม่ใช่แค่เสียเครื่องไปอย่างเดียว แต่ยังสูญข้อมูลข้างในซึ่งอาจเต็มไปด้วยความลับของบริษัทอีกด้วย ระบบ Cloud ช่วยให้ปัญหานี้เบาบางลง เพราะเก็บไฟล์งานไว้แบบออนไลน์ 100% หมดห่วงข้อมูลรั่วไหล
  8. เพิ่มอำนาจการแข่งขัน : บางบริษัทเล็กๆ อาจถึงกับต้องถอดใจเมื่อคิดจะลงสนามแข่งกับพวกธุรกิจรายใหญ่ เพราะติดปัญหาความพร้อมทางเทคโนโลยี แต่พอมีระบบ Cloud ก็วางใจได้เลย เพราะ Cloud จะทำให้บริษัทเล็กๆ สามารถใช้เทคโนโลยีและ Application ทันสมัย เพิ่มอำนาจในการแข็งขันได้อย่างเต็มที่ โดยเลือกจ่ายเฉพาะในสิ่งที่ต้องการใช้
  9. เป็นมิตรต่อสิ่งแวดล้อม : ถึงแม้ในภาพรวมดูจะมีแต่ข้อดีทางธุรกิจ ก็ไม่ได้หมายความว่าการย้ายมา Cloud จะเป็นเรื่องเห็นแก่ตัว ตามปกติแล้ว Server จะใช้พลังงานและปล่อยคาร์บอนออกไปมหาศาลในการ Scale ระบบที่อาจจะไม่ได้ใช้งานอย่างคุ้มค่าเท่าที่ควร  แต่ด้วยความยืดหยุ่นของ Cloud ที่ทำให้เราปรับ Scale ได้ตามปริมาณการใช้งานจริง ทำให้ไม่เกิดการสิ้นเปลืองพลังงานโดยใช่เหตุ นอกจากนี้การทำงานบนระบบ Cloud ยังช่วยลดปริมาณการใช้งานกระดาษ ด้วยการแชร์ข้อมูลออนไลน์แทนที่การปรินท์อีกด้วย

เรียกได้ว่าข้อดีเพียง 3 ข้อก็น่าจะเพียงพอให้ฝ่าย IT และฝ่ายบริหารของทางบริษัทพุ่งเป้าไปที่ Cloud แล้ว แต่นี่มีด้วยกันถึง 10 ข้อเลยทีเดียว ซึ่งสามารถคอนเฟิร์มคุณภาพว่าส่งผลดีต่อธุรกิจและสิ่งแวดล้อมแน่นอน ถึงขนาดนี้แล้วจะรอช้าอยู่ทำไม รีบเปลี่ยนมาวางแผนใช้ Cloud กันตอนนี้เลยดีกว่านะ