แนวทางการใช้งานคอนเทนเนอร์เพื่อการพัฒนาซอฟต์แวร์ บน Docker และแยกเซอร์วิสออกเป็นส่วนย่อยๆ (microservice) เป็นแนวทางที่ได้รับความนิยมอย่างสูงในช่วงหลัง เพราะช่วยลดความยุ่งยากในการจัดการสภาพแวดล้อมกันพัฒนา และการขยายความสามารถของระบบได้ง่ายขึ้น แต่การเชื่อมต่อบริการขนาดเล็กเข้าด้วยกันก็ทำให้เกิดภาระใหม่คือการจัดการล็อกที่อาจจะกระจัดกระจาย, การมอนิเตอร์ส่วนต่างๆ ของซอฟต์แวร์ และการปรับสเกลให้รองรับโหลดที่มากขึ้น
ช่วงหลังโครงการ Kubernetes ของกูเกิลจึงได้รับความนิยมขึ้นมา ในฐานะซอฟต์แวร์ container orchrestration ที่ช่วยจัดการเชื่อมต่อระหว่างคอนเทนเนอร์เข้าด้วยกัน มอนิเตอร์การทำงานของคลัสเตอร์ว่ายังอยู่ในสภาพดี พร้อมกับการจัดการกระจายโหลดของบริการต่างๆ
บริการของ OpenShift
อย่างไรก็ตาม Kubernetes มีความซับซ้อนสูง และต้องใช้ซอฟต์แวร์อื่นๆ อีกหลายตัวที่อยู่ในโครงการ Cloud Native Computing Foundation (CNCF) ช่วยประกอบการทำงาน อาจเป็นอุปสรรคในการเรียนรู้ของผู้ใช้หน้าใหม่ๆ จึงเกิดซอฟต์แวร์ที่พัฒนาต่อจาก Kubernetes เป็นจำนวนมาก เพื่อชดเชยจุดอ่อนของ Kubernetes ในด้านต่างๆ เช่น ระบบรักษาความปลอดภัย ปรับแต่งให้ใช้งานง่าย และฟีเจอร์เสริมอื่นๆ
Red Hat OpenShift เป็นซอฟต์แวร์ที่ขยายจาก Kubernetes โดยเพิ่มฟีเจอร์อีกหลายส่วนเพื่อให้แพลตฟอร์มเหมาะกับการใช้งานในระดับองค์กร (enterprise) ใช้ระบบปฎิบัตการพื้นฐานที่มีการซัพพอร์ตระยะยาว (RHEL), มีการตรวจสอบส่วนขยายต่างๆ, และเพิ่มส่วนประกอบที่จำเป็น เช่น image registry เข้ามาเป็นส่วนหนึ่งของแพลตฟอร์ม
OpenShift เป็นซอฟต์แวร์ที่พัฒนาต่อจากโครงการต้นน้ำคือ OKD ที่เป็นโอเพนซอร์สและเปิดให้ทุกคนใช้งานได้อย่างเสรี ขาดเพียงฟีเจอร์ส่วนน้อยเท่านั้น (เทียบได้กับ RHEL และ Fedora) โดย OKD เป็นโครงการที่ได้รับความนิยมอย่างสูงโครงการหนึ่งบน Github มีคนกด star มากกว่า 5,000 คน
รายงานจาก Forrester ที่เพิ่งเผยแพร่ไม่กี่สัปดาห์ที่ผ่านมา วิเคราะห์ตลาดซอฟต์แวร์คอนเทนเนอร์สำหรับองค์กรจากผู้ผลิต 8 ราย โดนคำนึงถึงปัจจัยทั้ง ฟีเจอร์ของแพลตฟอร์ม, ฟีเจอร์ด้านความปลอดภัย, แผนการพัฒนาผลิตภัณฑ์ แสดงให้เห็นว่า Red Hat เป็นผู้ผลิตรายสำคัญที่น้ำหน้าคู่แข่งหรืออย่างน้อยก็เท่าเทียมกันในทุกๆ ด้าน อยู่ในกลุ่มผู้นำอย่างชัดเจน และยังเป็นผู้ผลิตที่มีการทำตลาด (maket presence) สูงสุดในกลุ่มผู้นำทั้งหมด
Red Hat ทำงานร่วมกับโครงการและบริษัทจำนวนมากเพื่อให้ซอฟต์แวร์ต่างๆ ทำงานร่วมกับ OpenShift ได้ราบรื่นที่สุด โดยมี 3 แนวทางสำคัญ ได้แก่
กระบวนการพัฒนาแอพพลิเคชั่นในรูปแบบคอนเทนเนอร์ ปกติแล้วต้องนำซอร์สโค้ดมาสร้างเป็นอิมเมจเพื่อเตรียมรันบนคอนเทนเนอร์ต่อไป กระบวนการเหล่านี้ใช้เครื่องมือที่หลากหลาย และหลายครั้งก็ควบคุมได้ยาก สร้างความสับสนในองค์กร
OpenShift มีฟีเจอร์สำคัญคือ Source-to-Image (S2I) ที่เป็นเฟรมเวิร์คอยู่ใน OpenShift ทำให้กระบวนการพัฒนาแอพพลิเคชั่นจากซอร์สโค้ดสามารถทำงานได้จบในที่เดียว ด้วยการรวมเอาซอฟต์แวร์ Continuous Integration (CI) อย่าง Jenkins เข้าไว้ในตัว ทำให้ นักพัฒนาสามารถเขียนสคริปต์ Jenkins ไว้ในโค้ด และเมื่อโค้ดมีการอัพเดตบน Git ก็แจ้งเข้าไปยัง OpenShift ผ่าน webhook
เมื่อโครงการถูกเซ็ตอัพเรียบร้อยแล้ว ทุกครั้งที่นักพัฒนาส่งโค้ดเข้ามา กระบวนการ build และสร้างอิมเมจใหม่จะทำโดยอัตโนมัติ ไปจนถึงการรันบริการสำหรับการทดสอบได้ทันที
การสร้างความสะดวกให้กับการพัฒนาด้วยแนวทางคอนเทนเนอร์เช่นนี้ ทำให้กระบวนการพัฒนาทำได้รวดเร็วขึ้นอย่างมาก อย่างไรก็ตาม ในงานระดับองค์กรที่ต้องการความปลอดภัยสูง ความเร็วไม่ใช่สิ่งที่สำคัญที่สุดเสมอไป
OpenShift เลือกแนวทางที่สามารถควบคุมความปลอดภัยได้ทุกระดับ ได้แก่
Red Hat ทำตลาด OpenShift ใน 3 รูปแบบ ได้แก่
สำหรับผู้เริ่มต้น สามารถเรียนรู้การใช้งาน OpenShift ได้ผ่าน Learning Portal ได้ทันที โดยไม่ต้องลงทะเบียน ทาง Red Hat เปิดให้ผู้สนใจสามารถทดสอลงสร้างคลัสเตอร์และรันแอพพลิเคชั่นได้ทันที สำหรับการทดสอบและเรียนรู้ว่ามันทำงานอย่างไร หรือหากต้องการศึกษาเพิ่มเติมนอกบทเรียนที่ทาง Red Hat ทำไว้ ก็สามารถสมัครใช้งาน OpenShift Online ซึ่งไม่มีค่าใช้จ่าย
จุดเด่นของ OpenShift คือความพร้อมสำหรับการใช้งานระดับองค์กร ไม่ต้องหาอะไรเพิ่มเอง เริ่มต้นใช้งานได้ทันที ส่งผลให้องค์กรระดับโลกหลายแห่งที่นำ OpenShift ไปใช้งาน สามารถปรับปรุงกระบวนการพัฒนาแอพพลิเคชันของตัวเองให้รวดเร็วทันใจ ตอบรับกับความเปลี่ยนแปลงของตลาดได้ดีขึ้น
ตัวอย่างเช่น UPS ปรับกระบวนการพัฒนาระบบติดตามสินค้า ให้เป็นการพัฒนาแบบ Agile แทนที่จะรอรอบการพัฒนาครั้งละ 18 เดือน ด้วย OpenShift และเทคโนโลยีอื่นจาก Red Hat ตอนนี้กระบวนการพัฒนาลดลงเหลือรอบละไม่กี่สัปดาห์หรือไม่กี่เดือน โครงสร้างไอทีสามารถขยายและหดตัวตามการใช้งานจริง ทำให้บริการมีความเสถียรตลอดทั้งปี
Barclays ธนาคารรายสำคัญของอังกฤษเป็นอีกองค์กรที่เลือก OpenShift มาช่วยปรับโครงสร้างไอทีให้เป็นแนวทาง Agile การใช้งาน OpenShift ทำให้เจ้าหน้าที่ไอทีสามารถเปิดให้ผู้ใช้บริการตัวเองในงานส่วนมาก การสร้างเซิร์ฟเวอร์ใหม่ใช้เวลาเหลือเพียงไม่กี่ชั่วโมงจากเดิมใช้เวลานับสัปดาห์ และเตรียมความพร้อมให้ธนาคารที่มีแผนจะออกไปใช้คลาวด์ภายนอกในอนาคต
ด้วยแนวทางที่กล่าวมา OpenShift จึงเหมาะกับองค์กรสมัยใหม่ที่ต้องการอัพเกรดโครงสร้างและแอพพลิเคชั่นไปยังแนวทางคลาวด์และคอนเทนเนอร์ สร้างระบบอัตโนมัติอย่างเต็มรูปแบบ ด้วยแนวทางที่องค์กรยังควบคุมการทำงาน และวางนโยบายต่างๆ โดยเฉพาะนโยบายความปลอดภัยให้ตรงความต้องการได้
การใช้คลาวด์และคอนเทนเนอร์คงเป็นแนวทางปฎิเสธไม่ได้ของระบบไอทียุคใหม่ และ OpenShift เป็นตัวเลือกที่เหมาะกับองค์กรและโครงการแทบทุกขนาด สนใจข้อมูลเพิ่มเติมติดต่อตัวแทน Red Hat ประเทศไทยได้ที่หมายเลขโทรศัพท์ +66-2624-0601