บริษัท Docker Inc. เปิดตัว Docker Enterprise Edition 2.0 ถือเป็นเวอร์ชันสองต่อจาก Docker EE 1.0 ในปีที่แล้ว
ความแตกต่างสำคัญของ Docker EE กับ Docker รุ่นฟรี (Community Edition) คือบริการซัพพอร์ต, การรับรอง (certified) และฟีเจอร์ชั้นสูงอย่างระบบสแกนความปลอดภัย
ของใหม่ใน Docker EE 2.0 ได้แก่ รองรับ Kubernetes นอกเหนือจาก Swarm, ปรับระบบจัดการคลัสเตอร์ให้ใช้ง่ายขึ้น, รองรับ Layer 7 routing and load balancing (เฉพาะ Swarm), ระบบความปลอดภัย กำหนด policy เจาะจงเฉพาะอิมเมจที่ผ่านการรับรอง เป็นต้น
เมื่อช่วงต้นเดือนที่ผ่านมา IBM มีงานสัมมนาระดับภูมิภาคเกี่ยวกับ IBM Cloud ในประเทศไทยสำหรับคู่ค้าทางธุรกิจ งานดังกล่าวมีผู้บริหารจาก IBM ระดับสูงจำนวนหนึ่งเข้าร่วมด้วย
ผมได้รับคำชวนจากทาง IBM ประเทศไทยให้สัมภาษณ์ Jason McGee รองประธานและประธานเจ้าหน้าที่ฝ่ายเทคโนโลยีของ IBM Cloud เป็นระยะเวลาสั้นๆ เกี่ยวกับเทคโนโลยี โดยเฉพาะอย่างยิ่ง Kubernetes และเทคโนโลยีอื่นๆ ต้องขอบคุณทาง IBM ประเทศไทยสำหรับคำชวนดังกล่าวนี้ด้วย
Red Hat ประกาศซื้อบริษัท CoreOS หนึ่งในผู้บุกเบิกวงการ container ในราคา 250 ล้านดอลลาร์
CoreOS เป็นสตาร์ตอัพที่ก่อตั้งในปี 2013 โดยพัฒนาระบบปฏิบัติการลินุกซ์ขนาดเล็กชื่อ Container Linux เหมาะสำหรับ container และได้รับความนิยมอย่างมากในตลาดคลาวด์ โดยมีทั้ง Google Cloud, DigitalOcean, Azure ให้การสนับสนุน
จากข่าว สงคราม Container ได้ข้อยุติ Docker ยอมซัพพอร์ต Kubernetes แล้ว ล่าสุด Docker ขยับขยายการซัพพอร์ต Kubernetes มายังรุ่น Enterprise Edition (Docker EE) แล้ว
Docker Enterprise Edition เป็น Docker เวอร์ชันดัดแปลงต่อจาก Community Edition โดยเพิ่มฟีเจอร์สำหรับตลาดองค์กรเข้ามา และเป็นผลิตภัณฑ์หลักของบริษัท Docker Inc.
ตอนนี้ Docker EE เวอร์ชันที่รองรับ Kubernetes ยังมีสถานะเป็นรุ่นเบต้า แต่ก็เป็นสัญญาณอันดีที่เราจะเห็นการใช้ Kubernetes แพร่หลายมากขึ้นในตลาดองค์กร ผู้สนใจสามารถสมัครทดลองใช้รุ่นเบต้าได้แล้ว
ที่มา - Docker
ธนาคารจำนวนมากลงทุนกับระบบไอทีมากขึ้นเรื่อยๆ คงเป็นเรื่องปกติของยุคนี้ แต่ Capital One ไปไกลกว่านั้นเมื่อทางธนาคารเลือกใช้ระบบประสานงานคอนเทนเนอร์ (container orchrestration) ของ Critical Stack แล้วเลือกซื้อทั้งบริษัทเข้าเป็นส่วนหนึ่งของธนาคารเลย หลังจากซื้อเข้ามาได้ปีครึ่ง ตอนนี้ Critical Stack ก็เริ่มเปิดรับลูกค้าภายนอกแล้วโดยยังต้องรับคำเชิญทดสอบวงปิดอยู่
Critical Stack เป็นระบบ orchrestration สำหรับองค์กรที่ถูกควบคุมสูงอย่างธนาคาร ทำให้มีมาตรฐานต่างๆ ต้องทำตามจำนวนมาก ชุดเครื่องมือที่ Critical Stack ให้มาด้วย เช่น ระบบการเก็บล็อก, การควบคุมสิทธิ์การเข้าถึงตามหน้าที่, ระบบควบคุมการทำตามนโยบายต่างๆ
อุปสรรคสำคัญของระบบไอทีในยุคคลาวด์ คือแอพพลิเคชันองค์กรยุคเก่า (legacy) ที่ยังต้องรันบนสถาปัตยกรรมเดิมต่อไปเรื่อยๆ และไม่คุ้มแก่การแก้ไข
IBM ในฐานะบริษัทไอทียักษ์ใหญ่ที่มีแอพพลิเคชันยุคเก่าๆ อยู่มาก จึงออกซอฟต์แวร์ IBM Cloud Private เพื่อให้นำแอพพลิเคชันเหล่านั้นมารันบนสถาปัตยกรรมยุคใหม่ได้ง่ายขึ้น (Application Modernization)
แนวคิดหลักของมันคือการนำแอพพลิเคชันเดิมๆ มารันใน container (รองรับทั้ง Docker และ Cloud Foundry Warden) แล้วบริหารจัดการด้วย Kubernetes อีกทีหนึ่ง เพื่อให้แอพพลิเคชันสามารถรันบนคลาวด์ได้ทั้ง public cloud และ private cloud ขององค์กรเอง
ต่อจากข่าว สงคราม Container ได้ข้อยุติ Docker ยอมซัพพอร์ต Kubernetes แล้ว ทาง Steve Singh ซีอีโอของ Docker ออกมาอธิบายเหตุผลเบื้องหลังการตัดสินใจครั้งนี้
เขาบอกว่า Docker ตัดสินใจซัพพอร์ต Kubernetes เพื่อลดความสับสนของผู้ใช้ และลดความเสี่ยงที่จะเกิดความขัดแย้ง เพราะมีทั้งลูกค้าที่ใช้ Swarm และ Kubernetes ทั้งสองกลุ่ม บริษัทไม่ต้องการบีบให้ลูกค้าเลือกทางใดทางหนึ่ง จึงเพิ่มทางเลือกให้ตามที่ลูกค้าต้องการ
เขายังพูดถึงโครงการ Modernize Traditional Apps (MTA) ที่เปิดให้แอพพลิเคชันยุคเก่า (legacy) สามารถรันใน Docker ได้แบบสถาปัตยกรรมยุคใหม่ โดยที่ไม่ต้องแก้ไขโค้ดเดิม ว่าจะเป็นจุดทำเงินหลักอันใหม่ของบริษัทในอนาคต
สงครามครั้งสำคัญของวงการ container ในเรื่องการจัดการคลัสเตอร์ (orchestration) ระหว่างค่าย Docker ที่มี Swarm เป็นอาวุธ กับ Kubernetes ที่ริเริ่มโดยกูเกิล แต่มีพันธมิตรร่วมสนับสนุนเป็นจำนวนมาก
ล่าสุดในงาน DockerCon EU ทางฝั่ง Docker ก็ต้านกระแสไม่ไหว ประกาศซัพพอร์ต Kubernetes เป็นอีกหนึ่งทางเลือกนอกเหนือจาก Swarm แล้ว โดยจะรองรับทั้งเวอร์ชัน Community Edition และ Enterprise Edition
Docker บอกว่ามีเสียงเรียกร้องจากผู้ใช้จำนวนมากที่อยากใช้ Kubernetes และบริษัทก็มองว่าต้องการสร้างทางเลือกให้กับผู้ใช้ ส่วน Swarm ก็จะยังเดินหน้าต่อไปในฐานะทางเลือกอีกทางหนึ่ง
ตอนนี้สถานะของการซัพพอร์ต Kubernetes ยังเป็นรุ่นเบต้า และจะเริ่มผนวกเข้ามาอย่างเป็นทางการใน Docker เวอร์ชันหน้า
ธีมสำคัญอย่างหนึ่งในงาน Oracle OpenWorld 2017 ปีนี้คือการที่ Oracle บุกตลาดคลาวด์เต็มตัว (สักที) สิ่งที่เกิดขึ้นคือเปิดบริการคลาวด์ใหม่ๆ ให้ทัดเทียมคู่แข่งรายอื่น เช่น Oracle Blockchain Cloud Service หรือ Fn สำหรับงาน Serverless
บริการใหม่อีกตัวที่น่าสนใจคือ Oracle Container Native Application Development Platform (ชื่อยาวมาก) มันคือบริการพัฒนาแอพพลิเคชันในยุคคอนเทนเนอร์ครองเมือง
เมื่อไม่กี่วันก่อน ไมโครซอฟท์เข้าร่วม 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 ด้วย
ที่ผ่านมา บริการคลาวด์แบบ IaaS อิงอยู่บนแนวคิดของ virtual machine (VM) โดยให้ผู้ใช้สร้างเครื่องเสมือน (ที่เรียกกันว่า instance) ตามสเปกที่ต้องการ แล้วเช่าตามระยะเวลาที่ใช้งาน
แต่โลกยุคหลังมีแนวคิดของ container เริ่มมาแทนการใช้งาน VM ในบางงาน ข้อดีของ container คือมันไม่ต้องสร้าง VM ขึ้นมาทั้งตัว และลดความซ้ำซ้อนของทรัพยากรที่ใช้ลง อย่างไรก็ตาม การใช้ container บนคลาวด์จำเป็นต้องเช่า VM มาก่อนแล้วค่อยติดตั้ง container ลงไปในเครื่องเสมือนนั้น
Open Container Initiative (OCI) โครงการที่เกิดจากการสงบศึกระหว่าง Docker และ CoreOS ที่เคยพยายามสร้างมาตรฐานคอนเทนเนอร์แข่งกัน จนตอนนี้ผ่านมาสองปี โครงการก็ออกสเปคอิมเมจและรันไทม์ของคอนเทนเนอร์ได้แล้ว
สเปคของ OCI 1.0 จะมาจาก Docker V2 Image Format เป็นหลัก และแก้ไขไปพร้อมๆ กับการปรับ containerd และ runc ให้รองรับกับสเปคที่ปรับปรุงไปได้ด้วย
หลังจากนี้ทาง OCI จะเริ่มทำโครงการรับรองซอฟต์แวร์ที่เข้ากับมาตรฐาน โดยกระบวนการคือทดสอบด้วยตัวเองแล้วเผยแพร่ผลทดสอบ จากนั้นบริษัทอื่นจะมารีวิวผลแล้วทดลองทำซ้ำ หากผลผ่านตรงกันก็จะถือว่าได้รับการรับรอง
ไมโครซอฟท์ซื้อกิจการบริษัท Deis ผู้เชี่ยวชาญเทคโนโลยี container Kubernetes เพื่อนำไปใช้กับ Azure
Kubernetes เป็นโครงการโอเพนซอร์สสำหรับช่วยจัดการ container จำนวนมาก (automating deployment) ที่ริเริ่มโดยกูเกิลเมื่อปี 2014 แต่ปัจจุบันอยู่ภายใต้การดูแลของมูลนิธิ Cloud Native Computing ที่เป็นองค์กรกลาง ชื่อ Kubernetes มาจากภาษากรีกที่แปลว่า "pilot"
ส่วน Deis เป็นบริษัทที่เชี่ยวชาญเรื่อง Kubernetes โดยพัฒนาเครื่องมือหลายอย่าง เช่น package manager ช่วยให้การทำงานง่ายขึ้น ไมโครซอฟท์อธิบายว่าซื้อ Deis เพื่อรับมือการเติบโตแบบก้าวกระโดดของ container บน Azure นั่นเอง
บริษัท Docker Inc. เปิดตัว Docker Enterprise Edition (Docker EE) เวอร์ชันสำหรับลูกค้าองค์กร ปรับแต่งมาเพื่องานภาคธุรกิจและมาพร้อมกับบริการซัพพอร์ต
Docker EE แบ่งเป็น 3 รุ่นย่อยคือ
Docker ออกรุ่นใหม่ 1.12 มีฟีเจอร์ใหม่ที่สำคัญคือผนวก container orchestration (การจัดการ container แบบข้ามเครื่องจำนวนมาก multi-host, multi-container) เข้ามาเป็นส่วนหนึ่งของตัวซอฟต์แวร์หลัก Docker Engine ส่งผลให้ต่อจากนี้ไป ตัวแกนของ Docker จะรองรับฟีเจอร์นี้โดยตรง
Docker ระบุว่าออกแบบวิธีการใช้งานให้เรียบง่าย แต่ทรงพลัง ทนทานต่อความผิดพลาด และเข้ากันได้ย้อนหลัง (backward compatibility) กับเวอร์ชันเก่าๆ ด้วย
ไมโครซอฟท์เปิดบริการ Azure Container Service สำหรับการรันแอพพลิเคชันใน container บน Azure โดยมีเป้าหมายให้ผู้ใช้สามารถนำแอพพลิเคชันใน container ของตัวเองไปรันบนคลาวด์ Azure ได้ง่ายและเร็วที่สุด
Azure Container Service รองรับระบบจัดการ container (orchestration) ยอดนิยมสองตัวคือ DC/OS ของ Mesosphere ที่เพิ่งรับเงินลงทุนจากไมโครซอฟท์ไปเมื่อไม่นานมานี้ และ Docker Swarm ของค่าย Docker โดยตรง
ราคาของ Azure Container Service คิดตามขนาดของ instance รุ่นถูกที่สุดให้ซีพียู 1 คอร์, แรม 0.75GB, ดิสก์ 20GB คิดค่าใช้งานชั่วโมงละ 0.02 ดอลลาร์ หรือประมาณเดือนละ 15 ดอลลาร์ มีเครื่องรุ่นสเปกแรงใช้ SSD ให้เลือกด้วย
เดิมทีการใช้งาน Docker ออกแบบมาสำหรับงานเซิร์ฟเวอร์ลินุกซ์เป็นหลัก คนใช้ระบบปฏิบัติการวินโดวส์-แมคแล้วอยากรัน Docker บนเครื่องตัวเอง จำเป็นต้องหาวิธีการช่วย (เช่น VirtualBox) ที่ยุ่งยากพอสมควร
วันนี้ Docker เปิดตัวแอพ Docker for Windows และ Docker for Mac ที่เป็นแอพแบบเนทีฟบนทั้งสองระบบปฏิบัติการ มีหน้าตาเหมือนแอพของแพลตฟอร์มนั้นๆ สามารถอัพเดตเวอร์ชันใหม่ได้อัตโนมัติ ช่วยให้การใช้ Docker บนระบบปฏิบัติการเหล่านี้ง่ายขึ้นมาก
Docker ออกเวอร์ชันใหม่ 1.10 ต่อจาก เวอร์ชัน 1.9 ที่ออกเมื่อปลายปีที่แล้ว ของใหม่มีหลายอย่าง ของใหม่ที่สำคัญมีดังนี้
rkt รันไทม์สำหรับ container จากค่าย CoreOS ประกาศออกเป็นรุ่น 1.0 แล้วหลังจากพัฒนามาตั้งแต่ปี 2014 รวมระยะเวลา 15 เดือน การส่งโค้ดมากกว่า 3,000 ครั้งและนักพัฒนากว่า 100 คน
จุดเด่นที่สุดของ rkt คือการรองรับฟีเจอร์ Intel Clear Container ที่แยกคอนเทนเนอร์ออกจากระบบปฏิบัติการหลักขาดกันมากขึ้น จากเดิมที่คอนเทนเนอร์ใช้ฟีเจอร์ cgroup ของลินุกซ์ ที่ยังผูกกับระบบปฎิบัติการของเครื่องแม่หลายส่วน
นอกจาก Clear Container แล้ว rkt ยังรองรับการคอนฟิก SELinux โดยอัตโนมัติสำหรับแต่ละ pod ที่สร้างขึ้นมา เพื่อป้องกันในกรณีคอนเทนเนอร์ถูกแฮก และ TPM
ตัว rkt ใช้ฟอร์แมตต่างกับ Docker แต่มีเครื่องมือแปลงฟอร์แมตให้อัตโนมัติ
Docker ซอฟต์แวร์คอนเทนเนอร์ชื่อดังแห่งยุค ออกเวอร์ชัน 1.9 ซึ่งเป็นเวอร์ชันใหญ่ตัวล่าสุด มีการเปลี่ยนแปลงมากมาย ของใหม่ที่สำคัญได้แก่
กูเกิลเป็นหนึ่งในผู้สนับสนุนเทคโนโลยี container (ในที่นี้คือ Docker) บนระบบคลาวด์ของตัวเองมาตั้งแต่ยุคแรกๆ (ข่าวเก่า) ล่าสุดกูเกิลปรับสถานะของบริการ Google Container Engine เป็นการให้บริการเต็มรูปแบบ (general availability) เรียบร้อยแล้ว
Google Container Engine เป็นบริการช่วยจัดการคลัสเตอร์ของ container โดยใช้ซอฟต์แวร์โอเพนซอร์ส Kubernetes ของตัวเอง รองรับการจัดระเบียบ, กระจายโหลด, บันทึกล็อก และการทำงานข้ามเครือข่ายให้กับ container ด้วย
ไมโครซอฟท์เปิดให้ดาวน์โหลด Windows Server 2016 Technical Preview 3 โดยของใหม่ที่สำคัญของพรีวิวรุ่นนี้คือ Windows Server Containers ตามความร่วมมือกับ Docker ที่เคยประกาศไว้
ความยากของการใช้ Docker บนระบบปฏิบัติการที่ไม่ใช่ลินุกซ์คือการติดตั้งต้องผ่านตัวจำลองระบบหรือ Virtual Machine (VM) เท่านั้น คนสายเขียนโปรแกรมจึงต้องเรียนรู้วิธีการใช้งานที่ยุ่งยากกว่าปกติ ทั้งเรื่องการแชร์นำโค้ดเข้าไปใช้ใน VM และเรื่องการเข้าถึงแอพพลิเคชันผ่าน Docker ใน VM ที่ต้องใช้ความรู้ทางด้านเครือข่ายบ้าง
ที่ผ่านมาจึงมีตัวติดตั้ง Docker ที่ช่วยให้ชีวิตของนักพัฒนาง่ายขึ้นตั้งแต่ Boot2docker ที่เป็นลินุกซ์ VM ขนาดเล็กไว้สำหรับรัน Docker มาจนถึง Kitematic ที่มีหน้าตาสวยงามถูกใจผู้ใช้งาน มาเป็นซอฟต์แวร์ครอบสำหรับจัดการ Boot2docker อีกทีหนึ่ง