DevOps : Culture over Role and Tools

Tanin Asi
Tanin Asi
Sep 6, 2018 · 1 min read

จากงาน ATH2018 ที่ผ่านมา ได้มีโอกาสไปเล่าเรื่องนี้ในห้อง DevOps เป็นการเล่าปากเปล่า จบงานจึงมา Blog เก็บไว้หน่อยดีกว่า

Culture is the systems of knowledge shared by a relatively large group of people. -TAMU

The way of life, especially the general customs and beliefs, or a particular group of people at a particular time. -Cambridge Dictionary

วัฒนธรรมต่างๆที่สังคมหนึ่งๆมี เกิดจากสองปัจจัยหลัก ปัจจัยแรกคือการเรียนรู้ ผ่านการลองผิดลองถูก ผ่านการปรับปรุงแก้ไขจนเข้ากับบริบท (Context) กับสังคมนั้นๆ และทำต่อๆกันมา

อีกปัจจัยคือ การถูกบังคับไม่ว่าจากธรรมชาติที่เปลี่ยนไป หรือ ภัยคุกคามต่างๆ จนเกิดเป็นวัฒนธรรมใหม่ในที่สุด ทั้งนี้แบบหลังนี้มักมีเหตุปัจจัยมาจากความอยู่รอดเป็นหลัก

ถ้าสังเกตดูจะพบว่า วัฒนธรรมเป็นของที่ไม่คงทนและเป็นของเฉพาะเจาะจง คือ ใช้ได้กับกลุ่มคนและช่วงเวลาใดเวลาหนึ่งเท่านั้น ไม่สามารถยกวัฒนธรรมหนึ่งไปบังคับอีกสังคมหรืออีกช่วงเวลาได้

วัฒนธรรมไม่มีผิด ไม่มีถูก เราไม่สามารถเอาวัฒนธรรมนึงไปตัดสินอีกที่นึงได้

คนจีนมีวัฒนธรรมทิ้งเศษอาหารที่กินไม่ได้ไว้นอกจาน ในขณะที่คนไทยหรือฝรั่งทิ้งไว้ในจาน ถามไถ่เพื่อนคนจีนได้ความมาว่า จานควรมีแต่ของกินได้สิ ของกินไม่ได้แอบๆไว้ข้างนอกจาน ส่วนวัฒนธรรมแบบเราๆ ของที่กินไม่ได้ก็ควรเก็บไว้ในจานตัวเองไม่ทิ้งเรี่ยราดสิ

พูดมายืดยาว เพื่อที่จะเข้าเรื่องว่า DevOps นั้นเป็นเรื่องของ Culture มากกว่า Roles หรือ Tools ผมขอบังอาจนิยาม Manifesto หน่อยว่า

DevOps : The Culture over Roles and Tools

*That is, while there is value in the items on
the right, we value the items on the left more.

DevOps เป็นวัฒนธรรมที่ต้องเรียนรู้ ปรับปรุงเปลี่ยนแปลง โดยมีเป้าหมายเดียวกันคือ การทำอย่างไรให้ Concept ไปเป็น Product ให้ lean และ เร็วที่สุด เป็นการทำงานร่วมกันของหลายๆฝ่าย ไม่เพียงแต่ Dev และ Ops เท่านั้น (แต่ Dev และ Ops น่าจะปรับตัวเยอะที่สุด) และแน่นอนว่า เราไม่สามารถที่แค่ Introduce Role หรือ นำ Tool เข้ามาใช้แล้วจะเป็น DevOps ทันที

เหมือนวัฒนธรรมอื่นๆ ที่การเกิดขึ้นของวัฒนธรรมล้วนแต่สืบไปถึงที่มา (Why) ได้เสมอ ตัวอย่างเช่น

  • Test Driven Development : คุณภาพของ Software ไม่เคยดี Test เป็นเรื่องทำทีหลังและต้องเดาใจ stakeholder, ชวน stakeholder มาคุยกันเลยดีกว่าว่า feature นี้อยากได้อะไรแบบชัดๆ
  • Standardize Deployment Runway : พอกันทีกับปัญหาก็มันใช้ได้ที่ UAT ไม่รู้เหมือนกันว่าทำไม PROD พัง (แย่ๆก็ มัน Run ได้บนเครื่องผมน่ะ)

เมื่อเริ่มต้นที่ปัญหาที่ต้องการแก้ไข เหตุผลของการทำก็จะชัด เมื่อเหตุผลชัด วิธีการแก้ไขปัญหานั้น (How, What) ก็จะค่อยๆชัดขึ้น อาจมีการลองผิดลองถูกแต่สุดท้ายแล้ว วิธีที่ได้จะเหมาะกับบริบท (Context) ของสิ่งแวดล้อมนั้นๆในที่สุด

นี่คือสาเหตุว่าทำไมเราจึงไม่สามารถนำ tools ที่ใช้ได้ในที่นึง ไปใช้ในอีกที่นึงได้ เราไม่สามารถสร้าง Role DevOps แล้วจะเป็น DevOps ได้ในทันที

เมื่อ DevOps เป็น Culture แปลว่ามันต้องใช้เวลาหล่อหลอมให้สังคมนั้นๆมี Mindset ของการเป็น DevOps เมื่อมี Mindset แล้ว วิธีการย่อมตามมาเองในที่สุด

*ถ้ามีโอกาสผมจะมาเล่าการทำ DevOps ที่ บ.ประกันชั้นนำในไทยให้ฟังครับ :)

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade