Docker layer กับการ caching

Docker layer กับการ caching

ยุคนี้ผมคิดว่าทุกคนคงใช้ Docker ในการทำงานกันอยู่แล้ว วันนี้อยากเขียนสั้นๆ เบื้องหลังการทำงานเวลาที่เรารัน build docker image จาก Dockerfile ว่ามันมีอะไรเกิดอะไรขึ้นบ้าง สามารถทำยังไงให้มันเร็วขึ้นได้ และวิธีการเรียงลำดับ instruction ใน Dockerfile Dockerfile ในการสร้าง Docker image เราจะต้องกำหนดสิ่งที่เราต้องการ (instruction) ใน image ของเรา เช่นจะลง OS อะไร หรือลง dependencies ตัวไหน version อะไร ซึ่งเราจะเขียนทั้งหมดที่เราต้องการไว้ใน Dockerfile ไฟล์นี้เป็นเหมือนแม่พิมพ์สำหรับ image ของเรา ถ้าเปรียบเทียบกับโลก OOP ตัว Docker image เป็นเหมือน Class ส่วนตัว container เป็นเหมือน instance ของ class นั้นๆ ที่เราได้สร้างขึ้น เราสามารถสร้าง container มาเท่าไรก็ได้จาก image ที่เราได้สร้างไว้ FROM ubuntu:18.04 COPY . /app RUN make /app CMD python /app/app.py ตัวอย่าง Dockerfile ที่จะสร้าง Docker image ที่ใช้ ubuntu เวอร์ชั่น 18....

December 5, 2022 · jiradeto
Latency vs Throughput

Latency vs Throughput

เชื่อว่าหลายคนอาจจะเคยได้ยินคำว่า latency กับ throughput มาบ้างแล้ว แต่อาจยังไม่แน่ใจว่ามันคืออะไร และมันแตกต่างกันยังไง ในทาง Software Engineering สองสิ่งที่เรียกได้ว่าหนึ่งในเป็นหน่วยวัดพื้นฐานของการทำ Software System เลย วันนี้เราจะมาศึกษาเรื่องนี้กัน เพื่อความง่ายต่อการเข้าใจ เราจะใช้ server/client model ประกอบการอธิบาย Client เช่น laptop หรือ mobile devices ต่างๆ ที่จะทำการเข้าถึง resources จาก server Server ซึ่งจะทำหน้าที่ประมวลผลสิ่งที่ client ทำการร้องขอเข้ามาแล้วส่ง response กลับไป Latency Terminology: latency = how long do customers have to wait for a pizza ปกติเวลาที่เราเข้าหน้าเว็บไซต์ต่างๆ web browser (client) จะทำการ request ไปที่ server และเมื่อ server ได้รับ request แล้วจะทำการประมวลผลสิ่งที่ขอเข้ามาเช่น html หรือ json data (ในกรณีที่ request เป็น API) และเมื่อ server ทำการประมวลผลสิ่งที่ขอเข้ามาแล้ว server จะส่งสิ่งที่ต้องการกลับไปหา client ซึ่งเมื่อ client ได้รับแล้วถือว่าเป็นอันจบกระบวนการ เราเรียกเวลาทั้งหมดที่ใช้ตั้งแต่ client ทำการ request จนได้ response กลับไปว่า Latency ซึ่งปกติจะนับเป็นหน่วย millisecond (ms)...

October 25, 2022 · jiradeto