Cloud Native Computing Foundation
Microsoft Azure เปิดโครงการ Hyperlight ไลบรารีภาษา Rust สำหรับการรันฟังก์ชั่นขนาดเล็ก แต่แยกออกเป็น hypervisor ของตัวเองเพื่อเพิ่มความปลอดภัย ที่แม้แอปพลิเคชั่นถูกแฮกตัวแฮกเกอร์ก็ไม่สามารถเจาะโปรเซสอื่นๆ ที่อยู่ในเครื่องเดียวกันได้
Hyperlight ใช้เวลาเริ่มโปรเซสประมาณ 1-2ms อยู่ตรงกลางระหว่างการรัน sandbox ปกติที่ใช้เวลาน้อยกว่า 0.03ms เท่านั้น กับการรัน VM เดิมๆ ที่ใช้เวลาอย่างน้อยๆ 120ms แนวทางการรันแอปพลิเคชั่นบนระบบ virtual machine โดยตรงเช่นนี้มีหลายคนพยายามทำมาก่อนแล้ว เช่น Firecracker ของ AWS
โครงการ Hyperlight โอเพนซอร์สแบบ Apache 2.0 และไมโครซอฟต์ยังส่งโครงการเข้า CNCF ในฐานะโครงการ Sandbox ด้วย
CNCF เปิดโครงการ KWOK (Kubernetes WithOut Kubelet) โครงการจำลอง Kubernetes ทำให้นักพัฒนาสามารถรัน Kubernetes ที่ไหนก็ได้โดยสร้างทั้งคลัสเตอร์ได้ในเวลาอันรวดเร็ว
ตัวซอฟต์แวร์ KWOK เองเป็นคอนเทนเนอร์ที่จำลองการทำงานของ node และ pod รวมถึงทรัพยากรอื่นๆ เอาไว้ในตัวเอง ทำให้เมื่อผู้ใช้เชื่อมต่อด้วย API ของ Kubernetes จะมองเห็นเหมือนมีคลัสเตอร์ขนาดใหญ่มาก อาจจะระดับหลายพันโหนด แม้ที่จริงแล้วจะรันอยู่ในโน้ตบุ๊กตัวเดียวก็ตาม
Istio ซอฟต์แวร์ service mesh สำหรับจัดการคลัสเตอร์ Kubernetes ที่ริเริ่มโดยกูเกิลเมื่อปี 2017 ยื่นเรื่องขอเข้าเป็นโครงการของมูลนิธิ Cloud Native Computing Foundation (CNCF) แล้ว (หลังไปทำแยกเองเป็นเวลานาน 5 ปี)
เมื่อปลายปีที่แล้ว Google บริจาคโครงการโอเพ่นซอร์ส Knative ให้ CNCF ดูแล และวันนี้ CNCF Technical Oversight Committee ได้โหวตเพื่อรับ Knative เข้า CNCF แล้ว เท่ากับว่า CNCF ได้เข้ามาดูแล Knative อย่างเป็นทางการในสถานะ incubating
สำหรับ Knative ตัวโครงการเป็นแพลตฟอร์มสำหรับการพัฒนา, ดีพลอย และบริหารจัดการแอปแบบ serverless และ event-driven บน Kubernetes โครงการนี้เป็นโอเพ่นซอร์สที่ก่อตั้งโดย Google ในปี 2018 และพัฒนาร่วมกับ IBM, Red Hat, VMWare, SAP และนักพัฒนาอีกกว่า 1,800 รายในชุมชนโอเพ่นซอร์ส
กูเกิลประกาศบริจาค Knative เข้า Cloud Native Computing Foundation (CNCF) หลังจากเปิดโครงการมาตั้งแต่ปี 2018 และแม้จะเป็นโครงการโอเพนซอร์สมาตลอดแต่ก็ควบคุมโครงการโดยกูเกิลเองเป็นหลัก
Knative เป็นชุดซอฟต์แวร์สำหรับสร้างบริการแบบ serverless บน Kubernetes ที่ตอนนี้ได้รับความนิยมสูงสุดในชุมชน Kubernetes (รองลงไป คือ OpenFaaS, Kubeless, Virtual Kubelet, KEDA, Apache OpenWhisk)
แม้ว่ากูเกิลจะควบคุมโครงการเป็นหลัก แต่บริษัทอื่นๆ ก็ส่งนักพัฒนาเข้ามาร่วมพัฒนาต่อเนื่อง เช่น IBM, Red Hat, VMware, และ SAP ทาง IBM เองเคยแสดงความไม่พอใจที่ Knative ยังอยู่ภายใต้การควบคุมของกูเกิล
Prometheus ซอฟต์แวร์เก็บค่ามาตรวัด (metric) ที่ได้รับความนิยมจนเป็นมาตรฐานในกลุ่ม Kubernetes เตรียมเพิ่มโหมด Agent ในเวอร์ชั่น 2.32.0 ที่กำลังจะออกมา เพื่อรองรับเคสใช้งานสำหรับระบบปลายทาง เช่นระบบ IoT ที่ไม่ต้องการเก็บข้อมูลย้อนหลังยาวๆ ไว้กับตัว
ตัว Prometheus เองมีฟีเจอร์ Remote Write สำหรับส่งต่อข้อมูลจากข้ามเซิร์ฟเวอร์ Prometheus กันอยู่แล้ว และหลายคนก็ใช้ฟีเจอร์นี้ในการเก็บข้อมูลที่เซิร์ฟเวอร์ปลายทาง แต่หากรันในโหมด Agent ตัว Prometheus จะเขียนข้อมูลลง TSDB WAL และลบข้อมูลที่ส่งต่อไปยังเซิรฟเวอร์ปลายทางสำเร็จทันที ทำให้กินพื้นที่ดิสก์ในเซิร์ฟเวอร์ปลายทางน้อยลงมาก
โครงการ Dapr ระบบรันไทม์สำหรับสร้าง microservice เข้าเป็นโครงการของ CNCF Foundation มูลนิธิที่ทำหน้าที่ดูแลโครงการ Kubernetes และโครงการแวดล้อมอื่นๆ โดยเข้าเป็นโครงการระดับ incubating ที่แสดงว่าโครงการเริ่มมีการใช้งานหลากหลาย
แม้โครงการ Dapr จะเริ่มต้นโดยไมโครซอฟท์ แต่ในกรรมการดูแลโครงการตอนนี้ก็มีตัวแทนจาก อาลีบาบา, อินเทล, และไมโครซอฟท์ ดูแลร่วมกัน โดยไมโครซอฟท์เปิดตัวโครงการนี้เมื่อปี 2019 แม้ชื่อโครงการจะบอกว่าเป็น runtime แต่แอปพลิเคชั่นจะเชื่อมต่อกับบริการต่างๆ ของ Dapr ผ่านทาง HTTP หรือ gRPC เท่านั้น โดยตัวบริการช่วยให้แอปพลิเคชั่นสามารถเรียกใช้บริการต่างๆ เช่น message queue, จัดการสถานะ, ไปจนถึงการทำ tracing
CNCF องค์กรผู้ดูแลโครงการโอเพนซอร์สที่เกี่ยวข้องกับ Kubernetes รายงานถึงการสำรวจอัตราการพัฒนาซอฟต์แวร์โครงการต่างๆ ภายใต้ความดูแลของ CNCF โดยสำรวจจากมิติของอัตราการ commit, อัตราการส่ง pull request (PR), และจำนวนนักพัฒนาที่เข้าร่วมในช่วงปี 2020 ที่ผ่านมา
โครงการหลักของ CNCF คือ Kubernetes นั้นนำห่างในทุกมิติ โดยอัตราการพัฒนาเข้าใกล้ลินุกซ์ มีนักพัฒนาร่วมพัฒนาประมาณ 4,300 คนแต่จำนวน commit และ PR ยังน้อยกว่ามาก
Linkerd ซอฟต์แวร์สำหรับสร้างบริการแบบ service mesh เลื่อนสถานะของโครงการภายใต้ Cloud Native Computing Foundation (CNCF) สู่ระดับ Graduated ที่แสดงว่าโครงการมีกระบวนการชัดเจน มีกระบวนการเปิดกว้างต่อชุมชนภายนอก
เงื่อนไขของการเข้าสู่สถานะ Graduated ของ CNCF จะต้องมี committer จากองค์กรอย่างน้อยสององค์กร มีกระบวนการตรวจสอบความปลอดภัยโค้ดเป็นระยะ และมีการใช้งานเป็นวงกว้างโดยองค์กรที่ใช้งานเปิดเผยตัวชัดเจน พร้อมกับได้รับการยอมรับจากกรรมการของ CNCF ด้วยเสียงโหวตแบบ supermajority
CNCF ประกาศให้โครงการ etcd เข้าสู่สถานะ Graduated หลังจากโครงการมีนักพัฒนาเข้าร่วมโครงการจากหลายองค์กรและมีจำนวนนักพัฒนาที่มีส่วนร่วมในโครงการมากพอ
etcd เป็นระบบเก็บข้อมูลแบบ key-value ที่กระจายตัว ที่สร้างโดย CoreOS และบริจาคเข้า CNCF ในปี 2018 มันเปิดทางให้บริการอื่นๆ สามารถอ่านและเขียนข้อมูลได้โดยไม่มีจุดที่สร้างความเสียหายให้ระบบรวม (single point of failure) โครงการ Kubernetes เองก็พึ่ง etcd อย่างหนักในการทำงาน
k3s ดิสโทรขนาดเล็กจาก Rancher Labs เพิ่งเปิดตัวเมื่อปีที่แล้ว และได้รับความนิยมอย่างสูง มีผู้กดดาวบน GitHub ถึง 13,700 ราย ได้เข้าเป็นโครงการใน CNCF Sandbox อย่างเป็นทางการ หลังจากกรรมการกำกับด้านเทคนิค (Technical Oversight Committee - TOC) ลงคะแนนเสียงยอมรับเกือบทั้งหมด โดย Saad Ali จากกูเกิลงดออกเสียง และกระบวนการรับ k3s เข้าเป็นโครงการ CNCF นั้นมีข้อถกเถียงกันค่อนข้างมาก
หลายคนที่ศึกษาการใช้งาน Kubernetes อาจจะพบว่ามันมีโครงการย่อยๆ ที่เกี่ยวข้องจำนวนมาก ล่าสุดทาง CNCF (Cloud Native Computing Foundation) ผู้ดูแลโครงการจำนวนมากก็ออกมาประกาศแนวทางการรับโครงการเข้า CNCF Sandbox ให้เร็วขึ้น
CNCF Sandbox เป็นการดูแลโครงการระดับเริ่มต้น อาจจะอยู่ในขั้นทดลองที่ยังไม่นิ่งนัก การนำโครงการเข้า Sandbox จะทำให้เหล่านักพัฒนาที่สนใจ Kubernetes อยู่แล้วได้เห็นโครงการเหล่านี้ ขณะเดียวกันทาง CNCF ก็รับรองว่าโครงการเหล่านี้เป็นโอเพนซอร์สตามมาตรฐาน CNCF และมีแนวทางการชุมชนที่ตรงกัน
Cloud Native Computing Foundation หรือ CNCF องค์กรผู้ดูแลโครงการโอเพ่นซอร์สสำคัญอย่าง Kubernetes ได้ประกาศว่า Technical Oversight Committee ได้โหวตให้รับรองโครงการ etcd เป็นโครงการในความดูแลของ CNCF แล้ว
etcd นั้นเป็น key-value store แบบกระจายที่เขียนด้วยภาษา Go ตัวระบบมีความเสถียร, ประสิทธิภาพสูง และสเกลได้ ออกแบบมาเพื่อให้เก็บข้อมูลข้ามคลัสเตอร์ ซึ่งปัจจุบันคลัสเตอร์ Kubernetes ใช้ etcd เป็นตัวเก็บข้อมูลหลัก รวมถึง Cloud Foundry ก็ใช้ etcd ด้วยเช่นกัน และมีบริษัทรายใหญ่หลายแห่งที่ใช้ etcd ในระบบ production ไม่ว่าจะเป็น ING, Pinterest, New York Times, Nordstorm, Pearson, Ancestry, Alibaba
ในรอบ 1-2 ปีนี้ ชื่อเทคโนโลยีฝั่งเซิร์ฟเวอร์ที่พบเห็นได้บ่อยมากคือคำว่า Kubernetes ที่แค่เห็นก็อ่านไม่ออกแล้วว่าออกเสียงอย่างไร (อ่านว่า "คูเบอร์เนเตส") แต่ความร้อนแรงของมันถึงขั้นพลิกโฉมสถาปัตยกรรมของระบบโครงสร้างพื้นฐานทางไอที (infrastructure) ไปอย่างสิ้นเชิง
Kubernetes เป็นซอฟต์แวร์สำหรับ Container Orchestration (คำเดียวกับ "วงออเคสตร้า") ถ้าให้อธิบายแบบสั้นๆ มันคือซอฟต์แวร์ที่ใช้จัดการและควบคุม "วงดนตรีคอนเทนเนอร์" นั่นเอง ส่วนคำอธิบายแบบยาวๆ สามารถอ่านได้จากบทความนี้ครับ
ซอฟต์แวร์สายโครงสร้างพื้นฐานที่มาแรงที่สุดในยุคนี้ย่อมหนีไม่พ้น Kubernetes ที่เริ่มพัฒนาโดยกูเกิล และในปี 2015 กูเกิลก็ตั้งมูลนิธิ Cloud Native Computing Foundation (CNCF) มารับผิดชอบการพัฒนา Kubernetes ต่อ
เวลาผ่านมาเกือบ 3 ปี CNCF มีบริษัทยักษ์ใหญ่เข้าร่วมเป็นสมาชิกมากมาย (รวมถึงคู่แข่งอย่าง Microsoft และ AWS ด้วย) และต่อยอดไปพัฒนาซอฟต์แวร์ตัวอื่นๆ เพิ่มเติมด้วย (เช่น Prometheus)
Kubernetes ออกเวอร์ชัน 1.10 ซึ่งถือเป็นการออกรุ่นใหม่ครั้งแรกของปี 2018 ฟีเจอร์ใหม่ที่สำคัญแยกออกเป็น 3 ด้าน
Oracle ประกาศเข้าร่วมเป็นสมาชิกกับ Cloud Native Computing Foundation หรือ CNCF อย่างเป็นทางการ โดยเป็นสมาชิกระดับ platinum ซึ่งถือเป็นสปอนเซอร์ระดับบนสำหรับกลุ่ม CNCF
ค่าสมาชิกของ CNCF นี้ไม่ใช่ราคาถูก โดยสมาชิก platinum จะต้องจ่ายเงินถึง 370,000 ดอลลาร์ (แต่มีส่วนลดให้หากเป็นสมาชิก Linux Foundation อยู่แล้ว) ดังนั้นการที่ Oracle เข้าร่วมกลุ่มแล้วเป็นการยืนยันว่าทางบริษัทพร้อมสนับสนุนการพัฒนาเทคโนโลยี Kubernetes อย่างเต็มตัว
นอกจากการเข้าร่วมกับ CNCF แล้ว Oracle ยังมีการนำ Kubernetes เข้ากับ Oracle Linux และโอเพ่นซอร์สตัวติดตั้ง Terraform Kubernetes สำหรับ Oracle Cloud Infrastructure และ Oracle นั้นก็มีส่วนในการสนับสนุนโค้ดของ Kubernetes และเครื่องมือคอนเทนเนอร์มานานแล้ว
เมื่อไม่กี่วันก่อน ไมโครซอฟท์เข้าร่วม Cloud Native Computing Foundation เพื่อพัฒนาเทคโนโลยี Kubernetes ส่งผลให้ Amazon Web Services เป็นผู้ให้บริการคลาวด์รายเดียวที่อยู่นอกวง
วันนี้ AWS ประกาศสมัครเป็นสมาชิก Cloud Native Computing Foundation (CNCF) ในระดับสูงสุดคือ Platinum ซึ่งจะได้ที่นั่งในบอร์ดของมูลนิธิด้วย
ในโลกของ container มีซอฟต์แวร์ช่วยจัดการคลัสเตอร์ของ container คือ Kubernetes ที่เริ่มพัฒนาโดยกูเกิล และภายหลังกูเกิลก็ตั้งมูลนิธิ Cloud Native Computing Foundation (CNCF) มาเป็นองค์กรกลางช่วยดูแลแทน
สมาชิกของ CNCF ก็มีหลากหลาย เช่น Docker, IBM, VMWare, Intel, Cisco, CoreOS, Red Hat และภายหลังก็มีโครงการซอฟต์แวร์อื่นๆ ที่เกี่ยวข้อง มาร่วมพัฒนาใต้โครงการ CNCF ด้วย
Kubernetes ซอฟต์แวร์โอเพนซอร์สสำหรับจัดการ container ที่ริเริ่มโดยกูเกิลในปี 2014 ออกเวอร์ชัน 1.0 เรียบร้อยแล้ว ถือว่ามีความสมบูรณ์สำหรับการใช้งานจริง ทั้งฟีเจอร์การจัดการคลัสเตอร์ การจัดการโหลดงาน และมีเสถียรภาพทั้งในแง่การรันงานและ API ที่มีนโยบายกำหนดอายุชัดเจน
ในโอกาสเดียวกัน กูเกิลยังประกาศตั้งมูลนิธิ Cloud Native Computing Foundation (CNCF) เพื่อมาดูแลกระบวนการพัฒนา Kubernetes ให้เป็นของชุมชนต่อไป โดยมีพันธมิตรร่วมก่อตั้งพร้อมหน้า ตั้งแต่ Linux Foundation, AT&T, Docker, eBay, IBM, VMWare, Intel, Cisco, Joyent, CoreOS, Mesosphere, Univa, Red Hat, Twitter