Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

7 วิธีสำหรับนำ DevOps เข้ามาใช้ในองค์กร

$
0
0

Screen Shot 2558-12-24 at 9.38.21 AM

Screen Shot 2558-12-24 at 9.38.21 AM การนำเอาแนวคิด DevOps เข้ามาประยุกต์ใช้ในองค์กรนั้น มันอาจจะทำให้หลายที่สับสน และ ไม่ได้ผลตามที่คาดหวังไว้ เนื่องจากแต่ละองค์กรล้วนแตกต่างกัน ไม่ว่าจะเป็นเรื่องของโครงสร้าง ไม่ว่าจะเป็นเรื่องของวัฒนธรรม ไม่ว่าจะเป็นเรื่องของคน ไม่ว่าจะเป็นเรื่องของแนวปฏิบัติต่าง ๆ ตลอดจนเครื่องมืออีกด้วย ดังนั้นทาง VersionOne จึงได้ทำการสรุปวิธีการไว้ในบทความเรื่อง 7 Ways to Get Started with DevOps Today มาดูว่าได้แนะนำอย่างไรบ้าง ?

1. Invite Your Operations Team Into Your Development Process

ให้เชิญ Operation team เข้ามาอยู่ในกระบวนการพัฒนา software ด้วย ให้ทำการเปลี่ยนแปลงแบบเล็ก ๆ น้อย ๆ ตัวอย่างเช่น ในการประชุมทุก ๆ เช้าหรือ Standup meeting ก็ให้เชิญคนทาง Operation team เข้ามาด้วย ให้คนจาก Development team ไปนั่งทำงานกับ Operation team เมื่อมีการพูดคุย หรือ ทำการ deploy ระบบงาน เนื่องจากเป้าหมายหลักของ DevOps คือ การทำงานร่วมกันของทั้งสองทีมอยู่แล้ว และเป็นการเริ่มต้นเล็ก ๆ ที่ดีมากของทั้งสองทีม

2. Visualize the Work Together

ให้เพิ่มขั้นตอนการทำงานของ Operation team และ Development team เข้าด้วยกัน เช่นถ้า Development team มี board การทำงาน ก็ให้เพิ่มขั้นตอนการทำงานของ Operation team เข้าไปด้วย เช่น Waiting to deployment และ Deployed เป็นต้น มันทำให้เรารู้ และ เข้าใจว่า แต่ละ feature ทำการ deploy แล้วหรือยัง ? น่าจะเป็นสิ่งที่ดีกว่าเดิมนะครับ
Code ที่อยู่ใน repository โดยปราศจาคการ deploy มันคือสิ่งที่ไร้ค่า หรือ waste ใช่หรือเปล่า ?

3. Automate Your Test/Build Process

ทำการปรับเปลี่ยนวิธีการพัฒนาจาก maunal ไปเป็นแบบ automated แต่ก่อนอื่นคุณต้องรู้ และ เข้าใจการทำงานแบบ manual ก่อน เช่น
  • ทำการดึง code ล่าสุดจาก repository ใน Version Control System
  • ทำการ compile code
  • ทำการ run unit test
  • ทำการ package เพื่อให้พร้อมสำหรับการ deploy
  • ทำการ deploy
จากนั้นเริ่มทำการสร้างการทำงานแบบ automated มาทีละขั้นตอน ซึ่งดูเหมือนว่าจะยาก แต่มันง่ายกว่าที่คุณคิด นี่ถือว่าเป็นอีกหนึ่งก้าวที่สำคัญของการเปลี่ยนแปลง และเป็นแนวทางที่ถูกต้อง และควรที่จะเป็นไป

4. Create a Deployment Plan

จาก deployment plan ลองตั้งคำถามเหล่านี้ดูบ้าง อาจจะทำให้เห็นจุดบอด หรือ ข้อเสีย เพื่อที่จะทำการปรับปรุงต่อไป เช่น
  • ทำการ deploy ระบบช่วงดึก ๆ หรือ ช่วงวันหยุดหรือไม่ ?
  • มักจะเจอปัญหาที่ไม่คาดฝันในการ deploy ระบบงานเสมอ และจะพยายามแก้ไขให้ระบบทำงานได้ไปก่อนหรือไม่ ?
ซึ่งเชื่อได้เลยว่า เจอกันทุกทีม ทุกองค์กร ทุกระบบ เนื่องจากระบบมันโตขึ้นทุกวัน เราไม่มีทางรู้ว่าระบบใช้ library อะไรบ้าง ? เราไม่มีทางรู้ว่ามีการเปลี่ยนแปลง configuration อะไรบ้าง ? ดังนั้น ถ้าต้องการ deploy ระบบงานเหล่านี้ จะทำอย่างไรล่ะ ? โดยคำถามเหล่านี้ มันนำไปสู่คนจำนวนมากที่เกี่ยวข้อง ทั้งในทีมของเราเอง หรือ ต่างทีม หรือ ต่างแผนก ทำให้เกิดการวางแผน จากนั้นลองลงมือทำตามแผน รวมทั้งกลับมาดูสิว่า แผนเหล่านั้นเป็นอย่างไรบ้าง แผนเหล่านั้นมีจุดบกพร่องอะไรบ้าง เพื่อทำการแก้ไข และ ปรับปรุงต่อไป

5. Identify Fragile Systems

จากแผนการ deploy ในข้อ 4 นั้น ให้คุณลองกลับมาดูสิว่า มีระบบ หรือ ขั้นตอนไหนในแผน ที่อาจจะก่อให้เกิดปัญหาได้บ้าง ? ซึ่งเชื่อเถอะว่าจะต้องมีอย่างน้อยหนึ่งระบบที่ก่อให้เกิดปัญหา หรือบางครั้งอาจจะเกิดจาก server เก่า ๆ ที่ทำการ configuration ไม่ถูกต้อง แต่ว่าสามารถทำงานได้อย่างถูกต้อง และอาจจะทำงานผิดพลาดเมื่อแก้ไขส่วนอื่น ๆ !! ในส่วนนี้เองสามารถนำ DevOps เข้ามาช่วยปรับปรุงการทำงาน ทั้งเรื่องของการทำงานแบบอัตโนมัติ และการทำงานที่ทุกคนเห็นชัดเจน ไม่มีปิดบังสิ่งใด ๆ ซึ่งทำให้ขั้นตอนการ deploy ระบบงานง่าย และ รวดเร็วขึ้น

6. Smooth Out Wait States

จากข้อ 5 คือ การหาระบบ หรือ ขั้นตอนที่มันพัง หรือ ผิดพลาดได้ง่ายไปแล้ว ซึ่งเป็น pain point อย่างมากของการ deploy ระบบ ต่อมาคือ การหาขั้นตอน หรือ ระบบ ที่จำเป็นต้องรอเป็นเวลานาน ๆ หรืออาจจะต้องรอให้คนเข้ามามีส่วนร่วม เช่นการ approve ซึ่งมันเปลืองเวลาโดยใช่เหตุ เอาเวลาที่รอไปทำอย่างอื่นดีกว่าไหม !! ดังนั้นนำปัญหาเหล่านี้มาพูดคุยกัน ทั้ง Development team และ Operation team เพื่อหาทางแก้ไข ปรับปรุง ให้เวลาในการรอลดน้อยลงไป

7. Link Your Work to Your Value

ที่ผ่านมาทั้ง 6 ข้อเป็นเรื่องของ teachnical ทั้งหมดเลย
แต่สิ่งที่เป็นหัวใจหลักของ DevOps นั้นมันคือ การส่งมอบสิ่งที่มีคุณค่าไปยังผู้ใช้งานอย่างต่อเนื่อง รวมทั้งสิ่งต่าง ๆ ที่จำเป็นต่อขั้นตอนการ deploy ระบบงานด้วย
เราจะทำการปรับปรุงขั้นตอนการ deploy อย่างไร ? เพื่อส่งมอบสิ่งที่คุณพัฒนาไปยังผู้ใช้งาน ให้ง่ายกว่า ให้เร็วกว่า ให้ปลอดภัยกว่า

โดยทั้ง 7 ข้อคือการเปลี่ยนแปลงก้าวเล็ก ๆ

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

Viewing all articles
Browse latest Browse all 1997

Trending Articles