ข่าวใหม่!! กระทบวงการเลยทีเดียว…เอาใจสาย Container
.
Chiselled Ubuntu update ใหม่ เป็น GA(General Availability – Production Ready) แล้วนะ
.
ที่ว่ากระทบ คือกระทบยังไง? กล่าวคือ
Chiselled Ubuntu containers เป็น container ที่มีขนาดเล็กมากๆ ภายในถูกออกแบบตามมาตราฐาน OCI (Open Container Initiative) หรือเรียกย่อๆ ว่าเป็น ultra-small OCI image
.
แล้วที่ว่าเล็กเนี่ยมันเกิดจากอะไรละ…. ตอบเลยก็คือตัดส่วนที่ไม่จำเป็นออก ภายในจะมีแค่ application และตัว runtime dependenticies (app runtime หรือตัวรัน app พร้อม dependencies) ซึ่งไม่มีส่วนอื่นที่ไม่เกี่ยวข้องอย่าง operating system-level packages, utilities, หรือ libraries อื่นๆ เลย ส่งผลให้เจ้าตัว container image ตัวนี้ทั้งเล็กและเบา(lightweight) ในการ maintain, operate, secure ใช้งาน resource ได้อย่างเต็มประสิทธิภาพ
.
ภายในประกอบตัว pre-build image อย่าง Java, .NET and Python ซึ่งเราเอามาใช้สำหรับเป็น runtime, build dependencies เพื่อใช้เป็น base image ของ container ของเราได้… ใครที่ต้องการนำตัวที่สร้างมาสำหรับ production ไปใช้งานสามารถไปหยิบจาก Link Container image ด้านล่างได้เลย
.
แต่ๆ!! หากเราต้องการสร้าง container image ของตัวเองโดยใช้ chisel เป็นพื้นฐานแล้วสามารถทำตามได้ที่ https://ubuntu.com/…/craft-custom-chiselled-ubuntu… ซึ่งภายในจะมี CLI ให้ใช้อย่าง chisel CLI โดยเครื่องมือตัวนี้ถูกสร้างขึ้นมาช่วยสำหรับการทำ prebuild image เท่านั้น(ใช้เฉพาะตอน build time) ส่วน final image อยู่ที่เราจะจัดสรรค์เลย เพราะการเลือก final image มี trade-off เสมอ ยิ่งเราเติมของที่ไม่จำเป็นเข้าไปเท่าไหร่ ยิ่งมีโอกาสเสี่ยงในเรื่องของ surface attack (พื้นที่ในการโจมตี) เท่านั้น
.
ถึงอย่างไรก็ตามการจะใช้ของสำเร็จรูปที่มีมาให้ หรือสร้างตั้งแต่พื้นฐานขึ้นมาเอง สิ่งที่สำคัญที่สุดอย่าลืมบันทึก ADR(Architectural Decision Record) ไว้เพื่อเป็นเหตุผลให้กับคนที่มา maintain ต่อว่าทำไมถึงตัดสินใจแบบนั้น ด้วยเหตุผลอะไร จะดีกว่า
.
ใครสนใจไปลองตำกันนะให้ Link Container image ไว้ให้ไปลองเล่นเป็น base image ดู เล่นได้ยังไง อย่าลืมมา tag @Jumpbox ให้ไปชื่นชมและแลกเปลี่ยนกันด้วยนะ
.
Link Container image
– https://hub.docker.com/r/ubuntu/dotnet-deps
– https://hub.docker.com/r/ubuntu/dotnet-aspnet
– https://hub.docker.com/r/ubuntu/dotnet-runtime
.
References:
– https://canonical.com/blog/chiselled-ubuntu-ga
– https://www.youtube.com/watch?v=o8NILnbjhQ4