หากองค์กรของคุณกำลังมองหาแนวทางการ Deploy Containerized Workloads บน Kubernetes อย่างมีประสิทธิภาพ วันนี้ผมจะพามารู้จักกับแพลตฟอร์ม Kubernetes ยักษ์ใหญ่สองเจ้าอย่าง OpenShift และ Tanzu แพลตฟอร์มที่ได้รับความนิยมอย่างมากในการทำแอปที่พร้อมต่อการใช้งานและรองรับผู้ใช้งานจำนวนมากๆ ได้ โดยในบทความนี้เราจะมารู้จักและเปรียบเทียบ OpenShift กับ Tanzu ในแง่มุมต่างๆ ทั้งฟีเจอร์และความสามารถ เพื่อช่วยเราสามารถตัดสินใจเลือกแพลตฟอร์มที่เหมาะสมตรงกับความต้องการ
ทำความรู้จักกับ OpenShift กันหน่อย
OpenShift เป็นแพลตฟอร์ม Kubernetes ที่เหมาะสำหรับองค์กร ถูกออกแบบมาเพื่อให้เราสามารถการพัฒนา ปรับใช้ และจัดการแอปพลิเคชันบนระบบคลาวด์ได้สะดวกขึ้น โดย OpenShift เป็นผลิตภัณฑ์ของ Red Hat
OpenShift มีสภาพแวดล้อมที่แข็งแกร่งและปลอดภัยสำหรับทั้งแอปพลิเคชันที่ใช้ระบบแบบ Cloud-Native และแอปพลิเคชันทั่วไป โดยการใช้ OpenShift จะช่วยลดความซับซ้อนในการจัดการ Kubernetes แถมยังมาพร้อมกับฟีเจอร์ที่ครอบคลุมสำหรับรองรับความต้องการขององค์กร
ฟีเจอร์หลักของ OpenShift
1. ใช้ Kubernetes เป็น Core หลัก: ซึ่งหมายความว่า OpenShift นั้นสร้างขึ้นบน Kubernetes และใช้ประโยชน์จากฟีเจอร์ต่างๆ ของ Kubernetes ได้
2. มีความปลอดภัยเพิ่มขึ้น: OpenShift มีฟีเจอร์ด้านความปลอดภัยมากมายที่จะมาช่วยปกป้องแอปพลิเคชันและข้อมูลขององค์กร ฟีเจอร์หลักๆ ประกอบด้วย
- Container Security: OpenShift มีตัวที่คอยวัดระดับความปลอดภัยของคอนเทนเนอร์ในหลาย ๆ Layer ไม่ว่าจะเป็นระดับ Host (RHCOS / RHEL) ระดับคอนเทนเนอร์และ Orchestration รวมไปถึงระดับขั้นตอนในการ Build แอปพลิเคชัน แถมยังมีเครื่องมือในการค้นหาและแก้ไขช่องโหว่ที่จะเกิดขึ้นในคอนเทนเนอร์
- Auditing: OpenShift มีการเก็บ Log การ Audit ที่ละเอียดเพื่อติดตามเหตุการณ์ที่เกี่ยวข้องกับความปลอดภัย ช่วยให้ตรวจสอบเหตุการณ์ที่น่าสงสัยได้
- Certificates: OpenShift ใช้ Certificates หลายประเภทเพื่อตรวจสอบการเข้าถึงและรักษาความปลอดภัยการเชื่อมต่อภายในคลัสเตอร์ ผู้ดูแลระบบสามรารถแทนที่ Certificates ที่มาแบบ Default สามารถเพิ่ม Certificates ใหม่สำหรับ API server หรือบริการอื่นๆ เข้าไปได้
- Encrypting Data: มีการเข้ารหัสในส่วนของ etcd ที่ใช้ในการเก็บข้อมูลเพื่อปกป้องข้อมูลสำคัญ
- Vulnerability Scanning ผู้ดูแลระบบสามารถใช้ Red Hat Quay Container Security Operator ในการสแกนช่องโหว่เพื่อป้อง
3. มีเครื่องมือและแพลตฟอร์มที่สามารถเชื่อมต่อได้หลากหลาย: OpenShift มีเครื่องมือและแพลตฟอร์มที่สามารถเชื่อมต่อได้หลากหลาย สามารถทำงานร่วมกับซอฟต์แวร์และระบบอื่น ๆ ได้มากมาย ตัวอย่างการเชื่อมต่อที่หลากหลายของ OpenShift มีดังนี้
3.1. เชื่อมต่อกับระบบ Cloud อื่น ๆ:
- Amazon Web Services (AWS): เชื่อมต่อกับ AWS services ต่าง ๆ เช่น S3, EC2, RDS, VPC
- Microsoft Azure: เชื่อมต่อกับ Azure services ต่าง ๆ เช่น Blob Storage, Virtual Machines, SQL Database, Virtual Network
- Google Cloud Platform (GCP): เชื่อมต่อกับ GCP services ต่าง ๆ เช่น Cloud Storage, Compute Engine, Cloud SQL, VPC
3.2. เชื่อมต่อกับระบบ Storage:
- NFS: เชื่อมต่อกับ NFS Share เพื่อใช้เก็บข้อมูล
- GlusterFS: เชื่อมต่อกับ GlusterFS cluster เพื่อใช้เก็บข้อมูล
- Ceph: เชื่อมต่อกับ Ceph cluster เพื่อใช้เก็บข้อมูล
3.3. เชื่อมต่อกับระบบ CI/CD:
- Jenkins
- GitHub
- GitLab
3.4. เชื่อมต่อกับระบบ Monitoring:
- Prometheus & Grafana: เชื่อมต่อกับ Prometheus และ Grafana เพื่อทำ Monitoring
- ELK Stack: เชื่อมต่อกับ ELK Stack เพื่อทำ Monitoring
3.5. เชื่อมต่อกับระบบ Messaging:
- Kafka
- RabbitMQ
- ActiveMQ
ตัวอย่าง Use Case ของ OpenShift
- ธนาคารสามารถใช้ OpenShift พัฒนาแอปพลิเคชัน Mobile Banking แอปพลิเคชันนี้เชื่อมต่อกับ AWS S3 เพื่อเก็บข้อมูลรูปภาพของลูกค้า เชื่อมต่อกับ AWS RDS เพื่อเก็บข้อมูลธุรกรรม และเชื่อมต่อกับ AWS VPC เพื่อสร้างเครือข่ายส่วนตัวสำหรับแอปพลิเคชัน
- บริษัทอีคอมเมิร์ซสามารถใช้ OpenShift พัฒนาเว็บไซต์ E-commerce โดยเว็บไซต์นี้เชื่อมต่อกับ GlusterFS Cluster เพื่อเก็บข้อมูลสินค้า เชื่อมต่อกับ Jenkins เพื่อทำ Continuous Integration and Continuous Delivery และเชื่อมต่อกับ Prometheus เพื่อทำ Monitoring
มาดู Tanzu กันบ้าง
Tanzu เป็นเครื่องมือและบริการที่มาจาก VMware แน่นอนว่าเป็นแพลตฟอร์มองค์กรที่ในการพัฒนาและปรับใช้แอปพลิเคชันในรูปแบบ Cloud Native สำหรับสภาพแวดล้อมบน Kubernetes ได้อย่างมีประสิทธิภาพ โดย Tanzu นั้นเป็น Platform ที่นำ Service ต่างๆ ที่ได้รับความนิยมจากเหล่า Developer ส่วนใหญ่ พร้อมทั้งได้รับการสนับสนุนการบริการแบบ Enterprise จากทาง VMware ทำให้พวกเราเหล่า Developer ทดสอบ ขึ้นระบบ และสามารถนำไปใช้ได้ในรูปแบบที่เหมาะสมกับการใช้งาน Production ได้ทันที แถมรองรับทั้ง Cloud Native และ Application แบบดั้งเดิม สามารถทำงานบน Cloud หลายเจ้าได้ (Multi-Cloud) มี Tools มากมายที่สามารถเชื่อมต่อได้ไม่ว่าจะเป็น Buildpacks, CLI, Knative ช่วยให้เราพัฒนาซอฟต์แวร์ทำงานได้ไวขึ้น เหมาะสำหรับองค์กรที่ต้องการทำแอปที่สามารถสเกลได้อย่างอย่างรวดเร็ว ประหยัดค่าใช้จ่าย และมีประสิทธิภาพนั่นเอง
ฟีเจอร์หลัก ๆ ของ VMware Tanzu
1. มีแพลตฟอร์มที่แก้ปัญหา “Kubernetes ซับซ้อนเกินไป”: โดยมีแพลตฟอร์มต่าง ๆ ดังนี้
- Tanzu Application Platform แพลตฟอร์มแบบ All-in-One สำหรับการพัฒนาและปรับใช้แอปพลิเคชันแบบ Cloud Native บน Kubernetes ช่วยให้นักพัฒนาสามารถ Build Deploy และ Manage แอปพลิเคชันได้อย่างมีประสิทธิภาพ
- Tanzu Kubernetes Grid แพลตฟอร์ม Kubernetes ที่ใช้งานง่ายและปลอดภัย ช่วยให้ผู้ดูแลระบบสามารถจัดการคลัสเตอร์ Kubernetes ได้อย่างมีประสิทธิภาพ
- Tanzu Build Service บริการ Build อัตโนมัติสำหรับการสร้างและ Deploy แอปพลิเคชันแบบ Cloud Native
Tanzu Runtime แพลตฟอร์มสำหรับการรันแอปพลิเคชันแบบ Cloud Native บน Kubernetes รองรับการใช้งานบน Cloud หลายประเภท
2. เครื่องมือสำหรับการจัดการเพิ่มเติม
- Tanzu Mission Control แพลตฟอร์มสำหรับการจัดการคลัสเตอร์ Kubernetes ทั้งหมด
- Tanzu Supply Chain Insights เครื่องมือสำหรับการติดตามและตรวจสอบ Supply Chain ของ Software
- Tanzu Security for Kubernetes โซลูชันความปลอดภัยสำหรับ Kubernetes ช่วยให้ปกป้องแอปพลิเคชันและคลัสเตอร์ Kubernetes
3. การรองรับ Cloud หลายเจ้า
VMware Tanzu รองรับการใช้งานบน Cloud ได้จากหลายผู้ให้บริการ ไม่ว่าจะเป็น
- VMware Cloud Foundation
- Amazon Web Services (AWS)
- Microsoft Azure
- Google Cloud Platform (GCP) และอื่นๆ
4. เชื่อมต่อกับ VMware ตัวอื่น ๆ ได้หลากหลาย
4.1. VMware Cloud Foundation:
- แพลตฟอร์มคลาวด์แบบไฮบริด ช่วยให้ผู้ใช้สามารถสร้างและจัดการโครงสร้างพื้นฐาน
4.2. VMware vSphere:
- แพลตฟอร์มการจำลองเสมือน (Hypervisor) ที่ช่วยให้สร้างและจัดการ VM บนฮาร์ดแวร์ของเราเอง หรือบน Cloud ของ VMware ก็ได้
4.3. VMware NSX:
- แพลตฟอร์ม Software Defined Networking (SDN) และ Virtual Security ช่วยให้สร้างและจัดการ Virtual Network และระบบรักษาความปลอดภัยบน vSphere
4.4. VMware Horizon:
- แพลตฟอร์ม Virtual Desktop Infrastructure (VDI) ช่วยให้ผู้ใช้สามารถเข้าถึงเดสก์ท็อปและแอปพลิเคชันเสมือนจากอุปกรณ์ใดก็ได้
5. มีเครื่องมือ Cloud Native ต่าง ๆ ที่ Tanzu ติดตั้ง และ Support ในรูปแบบ Enterprise
- Monitoring
- Prometheus
- Grafana
- Thanos
- Log
- Fluentbit
- Backup
- VELERO
- Load Balancer
- Envoy
- Ingress
- NGINX
- CONTOUR
- HARBOR
ตัวอย่าง Use Case ของ VMware Tanzu
- แพทย์สามารถเข้าถึงข้อมูลผู้ป่วยได้อย่างรวดเร็วและปลอดภัย ผ่านเว็บแอปพลิเคชันบน Frontend Tanzu Kubernetes โดยใช้ Kong API Gateway ควบคุมการเข้าถึง
- พยาบาลสามารถบันทึกข้อมูลผู้ป่วยได้อย่างสะดวก ผ่านเว็บแอปพลิเคชันบน Frontend Tanzu Kubernetes ข้อมูลผู้ป่วยจะถูกเก็บไว้ใน PostgreSQL DBaaS อย่างปลอดภัย
- นักรังสีวิทยาสามารถดูภาพถ่ายทางการแพทย์ได้อย่างรวดเร็ว ผ่านเว็บแอปพลิเคชันบน Frontend Tanzu Kubernetes ภาพถ่ายจะถูกเก็บไว้ใน S3 Object Storage
- นักพัฒนาซอฟต์แวร์สามารถพัฒนาและปรับใช้ Microservices ใหม่ได้อย่างรวดเร็ว บน Backend Tanzu Kubernetes โดยใช้ RabbitMQ as a Service ช่วยให้การสื่อสารระหว่าง microservices ต่างๆ มีประสิทธิภาพ
- ทีม IT สามารถติดตามประสิทธิภาพและสถานะของแอปพลิเคชัน HIS ทั้งหมด ผ่าน VMware Tanzu Observability
- ทีม IT สามารถเก็บและวิเคราะห์ logs ของระบบ HIS บน VMware Tanzu ได้ ผ่าน VMware Tanzu Loggregator
เปรียบเทียบ Tanzu และ OpenShift
1. เรื่องความยืดหยุ่นในการใช้งาน
VMware Tanzu: เหมาะสำหรับสภาพแวดล้อมที่ใช้งานระบบ VMware อย่างมาก หากองค์กรของใช้โซลูชันจาก VMware อยู่แล้ว การเลือกใช้งาน Tanzu ก็อาจจะเป็นตัวเลือกที่ดีกว่า
Red Hat OpenShift: มีความโดดเด่นและความยืดหยุ่นมากกว่า รองรับโครงสร้างพื้นฐานในวงกว้างรวมถึง Public Cloud อย่าง AWS, Azure และ Google Cloud ทำให้ได้เปรียบเมื่อต้องการใช้กับงานที่หลากหลาย
2. เรื่องของความปลอดภัย
VMware Tanzu: มีความปลอดภัยที่เรียกได้ว่าแข็งแกร่งเมื่อเอาไปต่อกับผลิตภัณฑ์อื่น ๆ ของ VMware เหมาะกับคนที่ต้องการความปลอดภัยแบบไร้รอยต่อเฉพาะในระบบของ VMware
Red Hat OpenShift: มีฟีเจอร์รักษาความปลอดภัยในตัวที่ดี และมีฟีเจอร์เรื่องความปลอดภัยในส่วนของคอนเทนเนอร์และการทำงานร่วมกัน
3. ความสามารถในการไปต่อกับเครื่องมืออื่น ๆ
VMware Tanzu: โดดเด่นในการต่อกับเครื่องมือของ VMware ถ้าระบบของคุณเน้น VMware อยู่แล้ว Tanzu จะต่อได้ดีกว่า
Red Hat OpenShift: เนื่องจากเป็น Kubernetes Enterprise รุ่นแรกๆ Open-source ทำให้ต่อกับเครื่องมือ หรือบริการอื่นๆ ได้อย่างกว้างขวางกว่าสำหรับ Tools ที่เป็น Enterprise โดยเฉพาะ
4. การจัดการ
VMware Tanzu: มีเครื่องมือจัดการที่หลากหลายและใช้ของ VMware เป็นหลัก แต่ผู้ที่ไม่คุ้นเคยกับ VMware อาจต้องใช้เวลาเรียนรู้เพิ่มเติม
Red Hat OpenShift: ใช้งานง่ายกว่าและมีฟีเจอร์จัดการที่เข้าใจได้ง่ายสำหรับผู้ใช้ใหม่ ต่อกับเครื่องมือ CI/CD ได้เลยทำให้จัดการได้ค่อนข้างคล่องตัว
5. ความพร้อมระดับองค์กรขนาดใหญ่
VMware Tanzu: สามารถสเกลได้ดีและต่อกับเข้ากับระบบขององค์กรแบบเดิมได้ง่าย
Red Hat OpenShift: มีความพร้อมระดับองค์กรสูงเพราะมีความเสถียรและสเกลได้ค่อนข้างดี อีกทั้งยังโดดเด่นด้านการรองรับการพัฒนาและติดตั้งแอปพลิเคชันสมัยใหม่ จึงเหมาะกับองค์กรที่เน้นนวัตกรรมและความคล่องตัว
จากเนื้อหาด้านบนจะเห็นว่าทั้ง Tanzu และ OpenShift มีหน้าที่การทำงานที่คล้ายกัน ฟีเจอร์ที่ใกล้เคียงกัน รองรับคลาวด์จากหลาย ๆ เจ้าได้เหมือนกัน (Multi-Cloud) แต่การตั้งค่าระบบ ออกแบบ Solutions ให้เข้ากับความต้องการหรือระบบอาจจะต้องใช้การเรียนรู้ที่ค่อนข้างสูงในการปรับใช้เทคโนโลยีเหล่านี้ให้เข้ากับระบบ
หากองค์กรของคุณต้องการผู้เชี่ยวชาญที่จะช่วยเข้ามาแก้ปัญหาเหล่านี้ Cloud HM ของเราเป็นพันธมิตรที่เป็นทางการและมีผู้เชี่ยวชาญทั้งสองเทคโนโลยีในการช่วยให้ผู้ใช้ได้รับประโยชน์สูงสุดจากแพลตฟอร์ม OpenShift หรือ Tanzu หากสนใจเพิ่มเติมติดต่อได้ที่ Cloud HM
— Cloud HM