เบื้องหลังความสําเร็จ ค่าย HelloWorld Goose (2023) DevOps IT KMUTT

Akkarawit Sittiprakan
3 min readDec 10, 2023

--

ต้องบอกก่อนเลยว่าเป็นค่ายที่ได้รับประสบการณ์อะไรหลายๆอย่างครับ ไม่ว่าจะเป็นความรู้ ความสนุก ความสัมพันธ์ระหว่างพี่น้อง เเอ๊ะๆต้องบอกก่อนเลยว่าผมได้รับหน้าที่ดูเเลเป็น mentor ของ ฝ่าย DevOps ครับ ซึ่งต้องเล่าก่อนว่าในค่ายนี้จะมีการเเบ่งฝ่ายการทํางานเป็นหลายฝ่าย เช่น DevOps ,Web-Design,Frontend เป็นต้น ซึ่งในเเต่ละฝ่ายก็จะมี mentor เป็นของตัวเอง ในที่นี้ผมจะเล่าถึงฝ่าย DevOps ละกันครับ เนื่องจากเป็นคนดูเเลเรื่องของ DevOps 5555

  1. เรื่องการเตรียมค่ายเเละเตรียมตัว

ต้องบอกก่อนเลยว่าทีมงาน DevOps ที่มาเป็น mentor ทุกๆคนไม่ได้มีความรู้ในด้านนี้เลยซักนิด หลายๆคนอาจส่งสัยว่าเเล้ว พวกเจ้ารับงานนี้มาได้เยี่ยงไร ก็ต้องบอกว่าด้วยใจล้วนๆคับ 555 เหมือนโชคชะตาจะนําพาให้เราได้มาทําฝ่ายๆนี้ เเละก็ต้องขอบคุณรุ่นพี่ Hello world ปีที่เเล้วที่คอยช่วยเหลือ เเนะนําในการออกเเบบเเผนการสอนหัวข้อต่างๆ ว่าควรจะมีอะไรบ้าง น้องควรที่จะต้องทราบจุดไหนเป็นพิเศษ เรียกว่าถ้าไม่ได้พวกพี่ๆมาช่วยเทรน พวกผมปีนี้ก็คงจะลําบากกันในเรื่องของการออกเเบบเนื้อหาครับ

2. เรื่องการ deploy เว็บค่าย

เรียกได้ว่าการ deploy web ค่ายปีนี้ค่อนข้างจะ challenge สําหรับพวกผมมากๆครับเพราะว่าต้องใช้ ทรัพยากรของทางคณะเป็นหลัก ไม่ว่าจะเป็น VM หรือ domain ก็จะใช้เป็น service ของทางคณะเป็นหลักครับเรียกได้ว่าไม่ได้ใช้พวก vercel ในการ deploy เลยครับ โดยทาง devOps ก็จะพยายามช่วยในการ deploy เว็บต่างๆไม่ว่าจะเป็น Web-PR หรือ เว็บเกม พวกเราก็จะเป็นคนดูเเลเรื่องการ deploy ทั้งหมด

ภาพ infastructure คร่าวๆ

โดยสิ่งที่พวกเราทําก็คือพยายามสร้างระบบ Autotmate deploy เพื่อ Support ฝั่ง frontend เพื่อที่เวลา update โค้ดเเล้ว เว็บจะ deploy ใหม่อัตโนมัติไม่ต้องมาใช้ระบบอัตโนมือเพื่อลดเวลาในการ deploy งานเเต่ละครั้ง หลายๆคนอาจส่งสัยว่ามีความจําเป็นอะไรจึงต้องใช้ Prometheus ในระบบ ก็คือตอนนั้นพวกเราอยากจะ monitor ตัวเครื่อง VM ที่ใช้ในการ deploy ไปด้วยครับว่ามีการกินทรัพยากรมากน้อยเเค่ไหน ช่วงเวลาใดบ้างมี traffic เข้ามาเยอะ

https://github.com/Hello-Goose/Hello-Goose

อีกอย่างนึงที่เข้าไปช่วยทําก็คือ การ Optimize image รูปของเว็บเนื่องจากตอนเเรกเว็บของค่ายโหลดค่อนข้างช้ามาก ทางทีมก็ได้พบปัญหาว่าเกิดจากขนาดของรูปภาพที่อยู่ภายในเว็บมีขนาดใหญ่มากเกินไปจึงทําการ compress รูปลงเพื่อที่จะให้เว็บ มี user experience ที่ดีมากยิ่งขึ้น

การเก็บ feedback ภายในเว็บจะใช้ผ่านตัว HotJar analytic ซึ่งเป็น Tools ที่โคตรจะมีประโยชน์สําหรับค่ายๆนี้ เนื่องจากทางทีมใช้เก็บข้อมูลการ interact ของผู้ใช้ที่เข้ามาเพื่อนําไปวิเคราะห์เรื่อง user experience ในอนาคตต่อไป

ภาพเเสดงเเพลตฟอร์มที่ใช้เข้าถึง helloworldGoose.sit.kmutt.ac.th
ภาพเเสดงอุปกรณ์ที่ใช้เข้าถึง helloworldGoose.sit.kmutt.ac.th

3. การสอนน้องๆภายในค่าย

เรียกได้ว่า mentor ทุกคนมือใหม่ทุกคนตื่นเต้นในการสอนกันทุกคน ก่อนวันสอนนี้เเทบไม่ได้นอนตื่นเต้นๆ 555 ก็เนื่อหาภายในฝ่าย devops พวกเราพยายามสอนในสิ่งที่ควรทราบจริงๆเพื่อให้สามารถ deploy web ในค่ายได้อย่างราบรื่น เนื้อหาอาจจะมีความเบาไปบ้างเล็กน้อยเเต่ก็เป็นสิ่งที่พวกเราได้ย่อยตกผลึกกันมาเเล้ว ว่าควรจะทราบเรื่องอะไรบ้าง จะไม่พยายามอัดเเน่นเนื้อหามากจนเกินไป ส่วนใหญ่จะเน้นไปทาง Work shop ซะมากกว่าเพื่อให้ได้ลองทํากันจริงๆมากที่สุด เเละพยายามสอดเเทรกเเนวคิดการทํางานรวมกันให้มากที่สุด เพื่อที่วัน deploy จริงสามารถช่วยเหลือซึ่งกันเเละกันได้

เเล้วก็คอยดู monitor ห่างๆอย่างห่วงๆ ผ่านตัว monitor ที่พวกเราสร้างขึ้นมาใช้ดีจริงๆ 5555 (uptime-kuma)

อีกสิ่งที่สําคัญก็คือหน้า terminal ของน้องๆตอนเเรกกะจะใส่ชื่อของน้องๆเข้าไปด้วยเเต่ว่าทําไม่ทัน 555 เพื่อ first impression ที่ดี

3.การเเก้ไขปัญหาเฉพาหน้าเรื่องการสอน

ต้องบอกเลยว่าเนื้อหาที่พวกเราเตรียมกันมา พอมาสอนจริงๆดันสอนจบก่อนที่ค่ายจะหมดเรียกได้ว่า หมดมุขนั้นเอ งช่วงหลังๆพวกเราก็เลยจําเป็นต้องสอดเเทรกกิจกกรมพิเศษเข้าไปอย่างเช่นการเเข่งกันตอบคําถามเพื่อที่จะได้ ยืดเวลาออกไปเเต่ก็จะต้องเป็นประโยชน์กับน้องๆ หรือจะเป็นกิจกรรมเเปะโพสอิทกระชับความสัมพันธ์ 555

4. ถึงเวลารับชมผลงานน้องๆ

วันสุดท้ายของค่ายเป็นวันที่ น้องๆต้องออกมานําเสนอผลงานของตัวเองซึ่งพี่ๆก็ได้ยืนดูทุกๆกลุ่มพร้อมกับความภาคภูมิใจในตัวน้องๆที่ทํากันเต็มที่เเละสนุกไปกับงานที่ตัวเองได้รับมอบหมาย อาจจะมีอาการตื่นเต้นไปบ้างตอนเวลาใกล้ present ละเว็บยัง deploy ไม่เสร็จ 555 ตื่นเต้นๆ เเต่พี่ๆก็คอยดูอยู่ห่างๆอย่างห่วงๆ อิๆ

สุดท้ายนี้ก็ต้องบอกว่าเป็นค่ายที่สนุกมากสําหรับพี่เเละน้อง พี่ๆก็หวังว่าน้องๆจะได้รับประโยชน์กันมากที่สุด ขอบคุณครับบบ

คณะ DevOps 55555

--

--