TH – Containers 2020-11-30T16:39:57+00:00

Containers

Container คืออะไร?

Containerization เป็นเทคโนโลยีการจำลองเสมือนของระบบปฏิบัติการคอมพิวเตอร์เช่น CPU Memory ตลอดจนส่วนประกอบของ Application เช่น Application Code และ Dependencies แต่ละคอนเทนเนอร์ทำหน้าที่เป็นแพ็กเกจแยกต่างหากซึ่งสามารถเรียกใช้แอปพลิเคชันหรือบริการได้โดยไม่ต้องคำนึงถึงสภาพแวดล้อมการประมวลผลพื้นฐาน
Each container serves as as individual package which is capable to execute an application or services regardless of the what the underlying computing environment is.

ทำไมต้อง Containers?

ทำงานเหมือนกันในทุกสภาพแวดล้อม

ความท้าทายที่พบบ่อยที่สุดอย่างหนึ่งที่นักพัฒนาต้องเผชิญคือเมื่อพวกเขาย้ายแอปจากสภาพแวดล้อมหนึ่งไปยังอีกสภาพแวดล้อมหนึ่ง เขาอาจพบว่าแอปพลิเคชันเดียวกันไม่สามารถทำงานได้อย่างราบรื่นเนื่องจากสาเหตุหลายประการเช่นระบบปฏิบัติการที่แตกต่างกัน การกำหนดค่าที่แตกต่างกัน ฯลฯ แต่ด้วยคอนเทนเนอร์ แอปพลิเคชันสามารถทำงานได้เหมือนกันไม่ว่าจะเป็นแพลตฟอร์มใดก็ตาม จึงช่วยให้สามารถทดสอบไปสู่สภาพแวดล้อมการใช้งานใหม่ๆจากเดสก์ท็อปในเครื่องไปยังระบบคลาวด์จากระบบคลาวด์หนึ่งไปยังอีกระบบหนึ่งได้อย่างง่ายดาย

การเพิ่มประสิทธิภาพทรัพยากรและการดำเนินการ

โดยปกติคอนเทนเนอร์จะใช้ทรัพยากรในการประมวลผล CPU และ RAM น้อยกว่ามากเมื่อเทียบกับ Virtual Machine ด้วยเหตนี้ทำให้คอนเทนเนอร์ ทำงานบนเซิร์ฟเวอร์หรืออินสแตนซ์เดียวกันมากกว่า Virtual Machine จึงเป็นการช่วยเพิ่มประสิทธิภาพในการใช้ทรัพยากรคอมพิวเตอร์ นอกจากนี้คอนเทนเนอร์ยังใช้เวลาบูท ปรับขนาดหรือยกเลิกแอปพลิเคชันที่เร็วกว่าเมื่อเทียบกับ Virtual Machine

ปรับปรุงประสิทธิภาพการทำงานของนักพัฒนาและขั้นตอนการพัฒนา

Containerizing Application ช่วยสร้างมาตรฐานการพัฒนาและการเผยแพร่โดยเชื่อมความสัมพันธ์ของ Development Pipeline แทนที่นักพัฒนาจะเสียเวลาไปกับการดูแล Development Pipeline เขาสามารถมุ่งเน้นไปที่การ Debug Application มากขึ้น

คอนเทนเนอร์เกิดขึ้นพร้อมกับ Microservices และ DevOps

Microservices คืออะไร (อ่านเพิ่มเติม: DevOps คืออะไร?)

Microservices เป็นเทคนิคการพัฒนาซอฟต์แวร์ที่จัดโครงสร้างแอปพลิเคชันเป็นชุดที่ทำงานร่วมกันอย่างหลวม ๆ สถาปัตยกรรมไมโครเซอร์วิสช่วยให้สามารถจัดส่งหรือปรับใช้แอปพลิเคชันขนาดใหญ่ที่ซับซ้อนได้อย่างต่อเนื่อง นอกจากนี้ยังช่วยให้องค์กรสามารถพัฒนา Technology Stack ได้อีกด้วย

Microservices vs monolithic architecture represents a fundamental shift in how IT approaches software development

ประโยชน์ของ Microservices

Benefits of Microservices-Evolutionary design

การออกแบบทันสมัย

Benefits of Microservices-Small codebase

Codebase ขนาดเล็ก

Benefits of Microservices-Easy to scale

ปรับขนาดได้ง่าย

Benefits of Microservices-Easy to deploy

ใช้งานง่าย

Container Technology Stack ของเรา

Our Container Technology Stack-docker/ AWS Fargate/ Amazon EKS/ Amazon ECS/ kubernetes

Container Solutions ของเรา

Our Container Solutions-Containerization

Containerization
Containerize applications เดิมที่มีอยู่

Our Container Solutions-Development

<span style=”font-size: 13pt;”><strong>Development</strong></span>
<span style=”font-size: 13pt;”>การพัฒนาแอปพลิเคชันใหม่บน Container อย่างรวดเร็ว</span>

Our Container Solutions-Microservices consultation

<span style=”font-size: 13pt;”><strong>Microservices consultation</strong></span>
<span style=”font-size: 13pt;”>การปรับระบบแอปพลิเคชันจาก Monolothic เป็น Micro Services</span>

เรียนรู้เพิ่มเติมเกี่ยวกับ Containers