OpenShift ดิสโทร Kubernetes ของ Red Hat ประกาศอัพเดตเวอร์ชั่นเป็น 4.7 สร้างขึ้นบนฐานของ Kubernetes 1.20 รองรับเทคโนโลยีใหม่ๆ เพิ่มเติมเข้ามาเป็น Technology Preview ได้แก่
Google Cloud เปิดตัวบริการ GKE Autopilot บริการ Kubernetes อัตโนมัติกว่าเดิม ทำให้ผู้ใช้ไม่ต้องจัดการขนาดคลัสเตอร์ด้วยตัวเองอีกต่อไป
GKE เดิมเปิดให้ผู้ใช้จัดการ worker node ของคลัสเตอร์ได้ด้วยตัวเอง ทำให้เลือกระบบปฎิบัติการของ node เหล่านี้ได้ และสามารถเลือกจำนวน node ได้เอง รวมถึงต้องจ่ายค่าบริการตามขนาดคลัสเตอร์ที่เลือกไว้ แต่ใน GKE Autopilot ผู้ใช้จะไม่ต้องจัดการ worker node อีกต่อไป แต่จะจ่ายตามซีพียูและหน่วยความจำของ Pod ที่ใช้งานอยู่เท่านั้น โดยแต่ละ Pod ใน GKE Autopilot จะมีขนาดเล็กที่สุดคือ 0.25 vCPU, RAM 512MiB, และดิสก์ 10 MiB ต่อคอนเทนเนอร์
O’Reilly รายงานผลสำรวจความนิยมเทคโนโลยีจากการใช้งาน O’Reilly Online Learning Platform ที่เป็นแพลตฟอร์มอ่านหนังสือ และเรียนออนไลน์ ซึ่งทำให้เห็นภาพรวมที่น่าสนใจเพราะเป็นอัตราการดูคอนเทนต์จริง เช่น อ่านหนังสือหรือเรียนวิชาออนไลน์ ไม่ใช่เพียงคำค้นเท่านั้น โดยรวมแล้วแพลตฟอร์มมีการใช้งานเพิ่มขึ้น 24% ทำให้เนื้อหาส่วนใดที่เติบโตต่ำกว่านี้นับว่าต่ำกว่าค่าเฉลี่ย
สำหรับภาษาโปรแกรมมิ่ง Python ยังคงได้รับความนิยมสูงสุด มีอัตราการเติบโตที่สูงถึง 27%, Java ได้รับความนิยมอันดับสองแต่อัตราการเติบโตกลับติดลบ 3% แสดงให้เห็นว่าความนิยมลดลงชัดเจน, JavaScript เติบโตถึง 40% แซงค่าเฉลี่ยไปได้มาก ที่น่าสนใจคือภาษา Rust ได้รับความสนใจเพิ่มขึ้นถึง 94% มาอยู่ดับดับ 9 แล้ว
RedHat ประกาศซื้อกิจการ StackRock สตาร์ตอัพด้านความปลอดภัยสำหรับคอนเทนเนอร์ ที่ระบุว่าเป็น Kubernetes-native security platform ด้วยแนวคิดการฝังคอมโพเนนต์ตรวจสอบความปลอดภัยไว้ในแต่ละคลัสเตอร์ ช่วยให้การตรวจสอบความปลอดภัยของทั้งระบบทำได้ง่ายขึ้น
ซอฟต์แวร์ของ StackRock จะถูกผนวกเข้าเป็นส่วนหนึ่งของ Red Hat OpenShift แต่ซอฟต์แวร์เก่าก็ยังซัพพอร์ตต่อไป และใช้งานได้กับแพลตฟอร์ม Kubernetes ตัวอื่นๆ เช่น Google (GKE), Amazon (EKS), Azure (AKS)
โครงการ Kubernetes ออกรุ่น 1.20 ที่เป็นข่าวจากการเตรียมเลิกซัพพอร์ต dockershim ก่อนหน้านี้ ในเวอร์ชั่นนี้มีฟีเจอร์สำคัญๆ เช่น
kubectl alpha debug
เมื่อเป็นเบต้าแล้วก็จะเหลือ kubectl debug
เหมือนการใช้งานจริงหากได้เข้าสถานะ GAเวอร์ชั่นนี้ใช้เวลาพัฒนารวม 11 สัปดาห์ มีโค้ดจาก 967 บริษัท รวมนักพัฒนา 1,335 คน และมีนักพัฒนาหน้าใหม่ 44 คน รวมโค้ดมาจาก 26 ประเทศ
จากกรณี Kubernetes หยุดรองรับ Docker ในฐานะรันไทม์ (คำอธิบายแบบละเอียด)
แกนกลางของปัญหาคือตัว Docker ไม่รองรับมาตรฐาน Container Runtime Interface (CRI) โดยตรง โครงการ Kubernetes จึงสร้าง dockershim มาเป็นตัวเชื่อมให้ แต่ก็เป็นปัญหาการดูแลในระยะยาว ทำให้ Kubernetes ประกาศว่าจะหยุดซัพพอร์ต dockershim ในอนาคต
ข่าวใหญ่สำหรับวงการคอนเทนเนอร์ที่ผ่านมา คือ Kubernetes ปรับ Docker ในฐานะคอนเทนเนอร์รันไทม์เข้าสู่ deprecated และเตรียมถอดออกในอนาคต ซึ่ง Kubernetes ได้เขียนอธิบายอีกครั้งอย่างละเอียดเกี่ยวกับการถอด Docker ออกจากการเป็นรันไทม์
Kubernetes ประกาศให้การซัพพอร์ต Docker ในฐานะการเป็นคอนเทนเนอร์รันไทม์เข้าสู่สถานะ deprecated อย่างเป็นทางการใน Kubernetes 1.20 และเตรียมถอดฟีเจอร์นี้ออกในอนาคต
โครงการ Kubernetes ระบุว่า ตัว kubelet ที่เป็นตัวติดต่อกับคอนเทนเนอร์รันไทม์ จะติดต่อผ่าน CRI (Container Runtime Interface) แต่ในกรณีของ Docker นั้น ทางโครงการเลือกใช้ dockershim โมดูลที่อิมพลีเมนต์ CRI ให้ Docker เพื่อเป็นตัวติดต่อระหว่าง Docker และ Kubernetes มาอย่างยาวนาน แต่ช่วงหลังโครงการพบประเด็นหลายอย่างกับ dockershim ทำให้ตัดสินใจว่าจะให้ระบบซัพพอร์ต Docker เข้าสู่สถานะ deprecated และเตรียมถอดออกจาก Kubernetes ในอนาคต
AWS เปิดสินค้าฝั่งซอฟต์แวร์ ECS Anywhere และ EKS Anywhere แพลตฟอร์มคอนเทนเนอร์ที่เป็นบริการคลาวด์ของ AWS ยอดนิยม ให้เป็นซอฟต์แวร์เปิดลูกค้าสามารถซื้อไปใช้งานในองค์กรได้ นับเป็นการเปิดตลาด hybrid-multi cloud สำหรับรันคอนเทนเนอร์ที่ก่อนหน้านี้ Red Hat OpenShift ครองตลาดเป็นหลัก
ECS เป็นแพลตฟอร์มคอนเทนเนอร์เฉพาะตัวที่ AWS ทำมาก่อนที่ Kubernetes จะได้รับความนิยมจนชนะบริการอื่นๆ และท่าทีของ AWS ตอนนี้ที่ออก ECS Anywhere ก็แสดงให้เห็นว่าบริษัทจะเดินทางสนับสนุน ECS ต่อไป
CNCF ประกาศให้โครงการ etcd เข้าสู่สถานะ Graduated หลังจากโครงการมีนักพัฒนาเข้าร่วมโครงการจากหลายองค์กรและมีจำนวนนักพัฒนาที่มีส่วนร่วมในโครงการมากพอ
etcd เป็นระบบเก็บข้อมูลแบบ key-value ที่กระจายตัว ที่สร้างโดย CoreOS และบริจาคเข้า CNCF ในปี 2018 มันเปิดทางให้บริการอื่นๆ สามารถอ่านและเขียนข้อมูลได้โดยไม่มีจุดที่สร้างความเสียหายให้ระบบรวม (single point of failure) โครงการ Kubernetes เองก็พึ่ง etcd อย่างหนักในการทำงาน
Red Hat ประกาศรองรับ Quarkus เฟรมเวิร์คจาวาสำหรับการใช้งานแบบคอนเทนเนอร์ บนแพลตฟอร์ม OpenShift ของตัวเองแล้ว
Red Hat เปิดตัว Quarkus ในปี 2019 เพื่อแก้ปัญหาสำคัญของ Java ที่ "โหลดช้า-กินแรมเยอะ" ซึ่งเป็นอุปสรรคสำคัญของการรันงานในคอนเทนเนอร์ (Quarkus โฆษณาตัวเองว่าเป็น Supersonic Subatomic Java) เมื่อบวกกับการที่ Quarkus เองก็ออกแบบมาสำหรับคอนเทนเนอร์อยู่แล้ว จึงทำงานร่วมกับ OpenShift ได้อย่างแนบเนียน
Red Hat ยังออกเครื่องมือช่วยย้ายแอพพลิเคชันที่เขียนด้วย Spring Boot บนเซิร์ฟเวอร์แบบดั้งเดิม มารันบน Quarkus/OpenShift ด้วย
กูเกิลเปิดตัว Anthos Developer Sandbox ชุดเครื่องมือเรียนรู้การพัฒนาซอฟต์แวร์บน Kubernetes โดยจุดสำคัญคือมันใช้งานคลาวด์ฟรีโดยไม่ต้องติดตั้งซอฟต์แวร์ใดๆ เพิ่มเติม
Anthos Developer Sandbox อาศัย Cloud Shell ของกูเกิลที่เป็นเซิร์ฟเวอร์บนคลาวด์ให้ใช้งานฟรีชั่วคราวพร้อมกับ Cloud Shell Editor ที่เป็น IDE บนเว็บ ประกอบกับ minikube สร้าง Kubernetes บน Cloud Shell ให้ทดลองใช้งาน
ตัว IDE มีส่วนขยาย Cloud Code สำหรับใช้งานฟีเจอร์ต่างๆ ของ Google Cloud ได้จากภายใน Kubernetes และ Cloud Build Local สำหรับการคอมไพล์และดีพลอยโดยใช้เซิร์ฟเวอร์ส่วนตัวแทนบริการคลาวด์ของกูเกิล
Red Hat ประกาศอัพเดตเวอร์ชัน OpenShift 4.6 เข้าสู่สถานะ GA อย่างเป็นทางการ โดย OpenShift เวอร์ชันนี้จะใช้ Kubernetes 1.19 เป็นแกน
สำหรับของใหม่ในเวอร์ชัน 4.6 คือระบบติดตั้ง OpenShift บน bare metal ที่เป็นระบบติดตั้งอัตโนมัติแบบ full-stack เข้าสู่สถานะ GA แล้ว หมายความว่าผู้ใช้ OpenShift สามารถติดตั้งบนโฮสต์แพลตฟอร์มใดก็ได้ ไม่ต้องใช้ cloud provisioning, VM hosting หรือเทคโนโลยีตัวกลางอื่น ๆ
ตัว Bare Metal Operator ใหม่จะทำการ expose ตัวโหนดที่เป็น physical ไปยังตัวติดตั้ง OpenShift เพื่อให้ตัวติดตั้งสามารถจัดการตัวโหนดต่อไปได้ ซึ่ง Red Hat ระบุว่าฟีเจอร์นี้ใช้ Metal3 เป็นแกนในการจัดการโฮสต์แบบ base metal
ส่วนฟีเจอร์อื่น ๆ เช่น
Red Hat ถือเป็นผู้บุกเบิกตลาด Kubernetes สำหรับองค์กรมาก่อนใครเพื่อนด้วย OpenShift แต่ช่วงหลังเราเห็นผู้เล่นใหม่ๆ ในวงการ Kubernetes เริ่มเข้าสู่ตลาด (เช่น VMware Tanzu รวมถึงเจ้าเก่าอย่าง Rancher) ส่งผลให้ล่าสุด Red Hat ออกมาหั่นราคา OpenShift ลงเฉลี่ย 75% และเพิ่ม service-level agreenment (SLA) เป็น 99.95% เพื่อดึงดูดลูกค้า
Red Hat มี OpenShift ขายหลายเวอร์ชัน แต่หลักๆ แบ่งได้เป็น Self-Managed (ใช้เครื่องหรือคลาวด์ของลูกค้าเอง), Online (ทุกอย่างอยู่บนระบบ Red Hat), Managed (ผู้บริการคลาวด์อย่าง AWS, IBM, Azure บริหารให้) และ Dedicated (ลูกค้าเช่าเครื่อง AWS หรือ GCP แล้ว Red Hat บริหารให้)
VMware ประกาศอัพเกรดบริการคลาวด์บน AWS, Oracle Cloud, และ Azure ให้รองรับบริการ Kubernetes ของบริษัทเองที่ชื่อว่า Tanzu ได้ ทำให้ไม่ว่าลูกค้าจะใช้คลาวด์เจ้าใดก็ใช้ Kubernetes แบบเดียวกันทั้งหมด
บริการนี้จะเปิดบริการทันทีบน VMware Cloud on AWS ก่อน ส่วน Oracle Cloud VMware Solution ก็เปิดให้ทดสอบในสถานะพรีวิวเช่นกัน สุดท้ายคือ Azure นั้นจะเปิดพรีวิวเร็วๆ นี้ ที่หายไปคือ Google Cloud ที่เพิ่งรองรับ VMware เมื่อกลางปีที่ผ่านมา
VMware อัพเดตซอฟต์แวร์ virtualization สำหรับเดสก์ทอป เวอร์ชั่นพีซีเป็น VMware Workstation 16 และเวอร์ชั่นแมคเป็น VMware Fusion 12 โดยมีฟีเจอร์สำคัญคือการรองรับคอนเทนเนอร์และ Kubernetes
การรองรับ Kubernetes อาศัย kind ที่เป็นดิสโทร Kubernetes สำหรับการทดสอบแอปบนเครื่องใดๆ ที่มี Docker รันอยู่ ส่วนคำสั่งในการรันคอนเทนเนอร์ก็ใช้ vctl ระบบรันคอนเทนเนอร์ที่ใช้แทน Docker ได้โดยตรง ทำให้ kind สามารถเชื่อมต่อเข้าไปยัง vctl แล้วให้บริการ Kubernetes ได้
ฟีเจอร์อื่นๆ ที่จะรองรับ ได้แก่ DirectX 11, OpenGL 4.1, หน้าจอแบบ Dark Mode, และเชื่อมต่อรีโมตเข้าไปยัง vSphere 7 ที่เพิ่งออกมาปีนี้
VMware Workstation และ VMware Fusion รุ่น Player ราคา 149 ดอลลาร์ รุ่น Pro ราคา 199 ดอลลาร์
AWS เปิดตัว AWS Controllers for Kubernetes (ACK) ซอฟต์แวร์ Operator สำหรับ Kubernetes ที่จะทำให้บริการบนคลาวด์กลายเป็นบริการที่เรียกใช้งานได้จากใน Kubernetes โดยตรง จากเดิมที่ก่อนหน้านี้เคยมีโครงการ AWS Service Operator ที่ Chris Hein พัฒนาเป็นงานอดิเรกมาก่อน ตอนนี้ทาง AWS ก็นำโครงการมาพัฒนาต่อ
ACK ทำให้การเรียกใช้ทรัพยากรต่างๆ ของ AWS กลายเป็นคอนฟิก YAML บน Kubernetes ไป โดยตอนนี้รองรับบริการ API Gateway V2, DynamoDB, ECR, S3, SNS, และ SQS ส่วนฟีเจอร์ที่กำลังเพิ่มในเร็วๆ นี้คือการเรียกระบบฐานข้อมูล RDS และ ElastiCache นอกจากนี้ทาง AWS ยังพิจารณาว่าจะรองรับการสร้างคลัสเตอร์ Kubernetes (Amazon EKS) บน ACK เอง ทำให้ผู้ใช้สามารถจัดการคลัสเตอร์จากคลัสเตอร์ได้
k3s ดิสโทรขนาดเล็กจาก Rancher Labs เพิ่งเปิดตัวเมื่อปีที่แล้ว และได้รับความนิยมอย่างสูง มีผู้กดดาวบน GitHub ถึง 13,700 ราย ได้เข้าเป็นโครงการใน CNCF Sandbox อย่างเป็นทางการ หลังจากกรรมการกำกับด้านเทคนิค (Technical Oversight Committee - TOC) ลงคะแนนเสียงยอมรับเกือบทั้งหมด โดย Saad Ali จากกูเกิลงดออกเสียง และกระบวนการรับ k3s เข้าเป็นโครงการ CNCF นั้นมีข้อถกเถียงกันค่อนข้างมาก
OKD Working Group ประกาศว่าตอนนี้ OKD4 ซึ่งเป็น OpenShift Container Platform (OCP) เจเนอเรชั่นที่ 4 เวอร์ชันคอมมูนิตี้ได้เข้าสู่สถานะ GA อย่างเป็นทางการแล้ว
จุดสำคัญของ OKD4 จะเปลี่ยนไปในลักษณะเดียวกับ OCP4 คือตัว OS ที่ใช้เป็นฐานในการรันแพลตฟอร์มจะใช้ Fedora CoreOS หรือ FCOS ซึ่งเป็นระบบปฏิบัติการ Linux ที่ออกแบบมาเพื่อการรันคอนเทนเนอร์ (Fedora CoreOS เป็นเวอร์ชันคอมมูนิตี้ของ Red Hat Enterprise Linux CoreOS) รวมถึงรองรับระบบ Operator ที่ใช้สำหรับ maintain resource ภายใต้คลัสเตอร์
IBM GST (Global Technology Services) ฝ่ายบริการให้คำปรึกษาของไอบีเอ็มประกาศรับสมัครวิศวกรดูแลโครงสร้างคลาวด์เพื่อทำงานในอินเดีย โดยระบบที่ดูแลเป็นโครงสร้างของระบบงานด้านการวิเคราะห์ภาษาเพื่อการวิเคราะห์ log จากระบบ แต่จุดที่น่าสนใจคือประสบการณ์ที่ต้องการนั้นสูงมาก โดยต้องการประสบการณ์ในการใช้งาน Kubernetes ถึง 12 ปีขึ้นไป แม้ว่าตัวโครงการ Kubernetes เพิ่งประกาศสู่โลกภายนอกกูเกิลเพียง 6 ปีก็ตาม
AWS เปิดตัว cdk8s+ ไลบรารีที่ขยายต่อมาจาก cdk8s ที่เพิ่งเปิดตัวไปเมื่อเดือนพฤษภาคมที่ผ่านมา โดย cdk8s+ สร้างเป็นส่วนขยายขึ้นมาเพื่อลดการเขียนโค้ดส่วนที่ไม่จำเป็นลง
โดยปกติการคอนฟิก Kubernetes มีออปเจกต์ต้องคอนฟิกต่อเนื่องกันหลายส่วน เช่นการเปิดบริการขึ้นมารับการเชื่อมต่อผ่านเน็ตเวิร์คก็ต้องคอนฟิกทั้งพอร์ตของบริการและสร้างออปเจกต์ Service ขึ้นมาอีกครั้ง รวมถึงต้องประกาศ label เพื่อให้ Kubernetes ส่งทราฟิกไปยังคอนเทนเนอร์ได้ถูกตัว แต่ใน cdk8s+ สามารถเขียนโค้ดประกาศบริการทีเดียว คอนฟิกที่ออกมาจะสร้าง label และออปเจกต์ขึ้นมาเอง
แม้เพิ่งประกาศโครงการมาไม่นานแต่ตอนนี้ repository ของ cdk8s ก็มีคนกดดาวถึง 1,300 คนแล้ว
HEY ผู้ให้บริการอีเมลที่เพิ่งมีปัญหากับแอปเปิล เขียนบล็อกเล่าถึงการใช้คลาวด์ของบริษัท โดยการใช้ Spot Instance ของ AWS ที่มีค่าใช้ใช้งานเปลี่ยนไปตามปริมาณเครื่องคงเหลือของ AWS แต่ทาง HEY ก็ระบุว่ายังคงสามารถให้บริการโดยผู้ใช้อีเมลไม่รู้สึกอะไรแม้จะมีเครื่องถูกปิดไปตลอดเวลา
The Register สัมภาษณ์ Clayton Coleman วิศวกร Red Hat ที่ดูแล OpenShift ตั้งแต่ปี 2012 และเข้าร่วมกับ Kubernetes ตั้งแต่ 2014 จนตอนนี้ดำรงตำแหน่ง Architect ดูแลทั้ง Kubernetes และ OpenShift โดยเขาเล่าถึงตอนที่ Red Hat ตัดสินใจเข้าร่วมกับ Kubernetes ว่าตอนนั้น Red Hat กำลังคิดว่าจะเข้าร่วมกับ Mesos แต่ทางกูเกิลก็มาชวนให้ร่วมกับ Kubernetes แทน
Red Hat พัฒนา OpenShift โดยมองแอปพลิเคชั่นเป็น Gear มาก่อนที่จะมี Docker เสียอีก แต่มาเปลี่ยนแนวทางใช้ Kubernetes เป็นแกนกลางใน OpenShift 3 ตัว Clayton ระบุว่า Red Hat โชคดีที่อยู่ถูกที่ถูกเวลาพอดี (ตีความโดยผู้เขียน: ทำให้เปลี่ยนเอนจินไป Kubernetes ในจังหวะที่ทุกคนยอมรับแนวทางนี้)
ไมโครซอฟท์ปล่อย Visual Studio 2019 16.7 Preview 2 โดยมีฟีเจอร์น่าสนใจคือ Local Process with Kubernetes เป็นการโยก microservice ชิ้นที่กำลังพัฒนาอยู่มารันบนเครื่องนักพัฒนาเอง แต่ยังคงสามารถทดสอบร่วมกับ microservice อื่นๆ บนคลัสเตอร์ Kubernetes ได้
ฟีเจอร์นี้ช่วยลดระยะเวลาการทดสอบโค้ดใหม่ จากเดิมที่นักพัฒนาจะต้องสร้างอิมเมจใหม่ไปวางบนรีจิสตรี แล้ว deploy ขึ้นคลัสเตอร์เพื่อทดสอบโค้ด มาเป็นการรันโค้ดบนเครื่องนักพัฒนาโดยตรง แล้วโยก Service ตัวที่กำลังพัฒนาอยู่มารันบนเครื่องแทน โดยมีเงื่อนไขว่าการพัฒนาแบบนี้ Service ที่ใช้งานต้องมี Pod เดียวเท่านั้น นอกจากความสะดวกในแง่ความรวดเร็ว ความง่ายในการพัฒนาดีบั๊กด้วยbreakpoint ก็ทำได้ด้วย
Rancher Labs ผู้ผลิตดิสโทร Kubernetes ชื่อดังพัฒนาระบบซอฟต์แวร์สตอเรจของตัวเองในชื่อ Longhorn มาตั้งแต่ปี 2017 และเข้าไปอยู่ในความดูแลของ CNCF เมื่อปีที่แล้ว ตอนนี้ทางบริษัทก็ประกาศให้ Longhorn เข้าสู่สถานะ GA พร้อมใช้งานบนโปรดักชั่นและสามารถซื้อซัพพอร์ตกับทาง Rancher ได้ แต่ตัวซอฟต์แวร์ยังคงดาวน์โหลดมาใช้งานได้ฟรีต่อไป
Longhorn ใช้สำหรับการสร้างสตอเรจบน Kubernetes ใดๆ แต่เป็นตัวเลือกที่ติดตั้งได้ง่ายหากใช้กับ Rancher เอง โดยตัวมันมีฟีเจอร์หลักๆ ค่อนข้างครบ ไม่ว่าจะเป็นการทำ snapshot, ขยาย volume, กู้คืน volume ข้ามคลัสเตอร์, อัพเกรดซอฟต์แวร์โดยไม่กระทบโหลดงาน, รองรับการควบคุมทั้ง kubectl และเว็บคอนโซล