dev-ops Archive

สรุปเรื่อง Modernizing Java Apps with Docker จากงาน DockerCon EU 2017

จาก VDO เรื่อง Modernizing Java Apps with Docker จากงาน DockerCon EU 2017 ซึ่งเป็นอีก session หนึ่งที่ตรงกับแนวคิดหลักของงานคือ Modernizing Traditional Application (MTA) โดยที่ Traditional Application คือระบบงานที่พัฒนามาหลายปีแล้ว แต่ยังเป็นหัวใจหลักหรือตัวขับเคลื่อนหลักขององค์กร แน่นอนว่า ทั้ง developer และ operation ต้องทำงานอย่างหนักเพื่อพัฒนาและดูแลรักษาระบบเหล่านี้

Read More…

บันทึกการติดตั้ง Continuous Integration Server ด้วย Jenkins ใน Give&Take ที่เชียงใหม่

ตั้งแต่วันที่ 29 กันยายน ถึง 1 ตุลาคม มีโอกาศมาแบ่งปันที่เชียงใหม่ ในงาน Give and Take :: Agile for Software Development ซึ่งครั้งที่จัดที่ CAMT (College of Arts, Media and Technology ) โดยครั้งนี้ทำการติดตั้งและ configuration ระบบ Continuous Integration Server ด้วย Jenkins ไว้ เลยนำมาสรุปไว้นิดหน่อย

Read More…

ว่าด้วยเรื่องการทดสอบระบบงานกับ Database

มีคำถามเกี่ยวกับการทดสอบระบบงานกับพวก Database ชนิดต่าง ๆ ทั้ง RDBMS (Relational DataBase Management System) ทั้ง NoSQL เช่น Document, Key-value, Column และ Graph อีกทั้ง Time series ว่าจะทดสอบกันอย่างไรดี ? ต้องทำการ mock/stub database ไหม ? ต้องเขียน code อย่างไรเพื่อให้ทดสอบได้ง่าย (Testable) ? ต้องทำอย่างไร

Read More…

เราควรสร้าง Environment ต่าง ๆ ของระบบงานตอนไหนกัน ?

สิ่งที่น่าสนใจในการพัฒนา software คือ เราทำการเตรียม environment ต่าง ๆ เช่น ทั้ง Dev, Test/QA, UAT, Staging, Pre-Prod และ Prod กันตอนไหน ? ที่สำคัญคือ แต่ละ environment นั้นเหมือนหรือต่างกัน ? ซึ่งสิ่งต่าง ๆ เหล่านี้มันสะท้อนความสัมพันธ์ระหว่าง Development team และ Pre/Production team ว่าเป็นอย่างไร

Read More…

[Docker CE Edge] มาลองใช้งาน Multi-stage build สำหรับสร้าง image กัน

วันนี้ไปดู release note ของ Docker edge version (v17.05.0 ce) พบว่า มีความสามารถที่กำลังต้องการคือ Multi-stage build ซึ่งช่วยทำให้การสร้าง image ของระบบงานได้ง่าย และสะดวกขึ้น ที่สำคัญยังช่วยลดขนาดของ image อีกด้วย มาลองใช้งานกันดู

Read More…

[Docker] แก้ไขปัญหาเรื่อง JVM กิน memory เยอะเกินเหตุ !!

ปัญหาที่มักพบเจอเกี่ยวกับการสร้าง Container สำหรับ JVM คือ การกำหนดขนาดของ memory ให้นั่นเอง ซึ่งพบว่า ถึงแม้จะกำหนดขนาดของ memory ตอนสร้าง container ไปแล้ว แต่ตัว JVM มันก็ยังมีค่าของ Max Heap Size (Estimated) เป็นค่าที่สูงกว่า

Read More…

การ์ตูนขำ ๆ ว่าด้วยเรื่อง DevOps Culture !!

เห็นหลาย ๆ ที่ชอบพูดถึงเรื่องของ DevOps กันมาก วันนี้ไปเจอการ์ตูนสวย ๆ เกี่ยวกับ DevOps Cultures จึงนำมาฝาก คำถามคือ DevOps ที่พูดถึงกันนั้นคือรูปไหมกันแน่

Read More…

สวัสดี Docker 1.13.0 กันเล็กน้อย

หลังจากที่ Docker 1.13.0 ถูกปล่อยออกมา มี feature ใหม่เพิ่มเข้ามามากมาย มีการปรับปรุงมากมาย มีการแก้ไข bug มากมาย มีสิ่งที่ deprecated มากมาย ดูเพิ่มเติมได้ที่ Release Note :: 1.13.0 แต่ feature ที่ส่วนตัวชอบมีดังนี้

Read More…

สิ่งที่ควรคำนึงสำหรับการสร้าง Docker Image กับ Java

มีโอกาสต้องนำ Docker มาใช้ในระบบงานที่พัฒนาด้วยภาษา Java จากการลงมือทำพบว่า มันไม่ใช่เรื่องง่ายเลย สำหรับการนำระบบงานที่พัฒนาด้วยภาษา Java มาใส่ในโลกของ Container ดังนั้นจึงทำการสรุปสิ่งที่ต้องคำนึงไว้นิดหน่อย น่าจะเป็นประโยชน์สำหรับคนที่กำลังจะเริ่มนะ 1. เริ่มด้วยการเลือก Image ของ JDK (Java Development Kit) ที่มีขนาดเล็ก ๆ จากการทดลองใช้ image จาก OpenJDK 8 พบว่า OpenJDK แบบ default ซึ่งใช้ os คือ Debian 8 Jessie มีขนาด 643.2 MB (สำหรับ JRE มีขนาด 107.9 MB) OpenJDK แบบใช้ os คือ alpine มีขนาด 145 MB (สำหรับ JRE [&hellip

Read More…

สรุปการใช้งาน Docker ที่น่าจะดี

จากที่ไปลงเรียน Course การพัฒนา PHP บน Windows แบบ Build, Ship and Run anywhere ซึ่งจัดการผ่าน Docker นั่นเอง มีสิ่งหนึ่งที่น่าสนใจมาก ๆ คือ คำแนะนำสำหรับการใช้งาน Docker ที่ดี จึงทำการสรุปมาไว้นิดหน่อยดังนี้

Read More…