Learn DevOps ตอนที่ 1 : จุดเริ่มต้นของการเปลี่ยนแปลง

Pariwat Saknimitwong
3 min readJan 19, 2017

--

→ Learn DevOps ตอนที่ 1 : จุดเริ่มต้นของการเปลี่ยนแปลง
Learn DevOps ตอนที่ 2 : DevOps คืออะไร ?
Learn DevOps ตอนที่ 3: หลักการของ Flow
Learn DevOps ตอนที่ 4: หลักการของ Feedback
Learn DevOps ตอนที่ 5: หลักการของการทดลองและเรียนรู้อย่างต่อเนื่อง

ในยุคปัจจุบันที่เกือบทุกบริษัทใช้ softwareเป็นเครื่องมือสร้างความได้เปรียบทางการแข่งขันในด้านต่างๆ ไม่ว่าจะเป็นการลดต้นทุนหรือเพิ่มผลกำไร การพัฒนา Software ใหม่ๆรวมถึงการแก้ปัญหาและปรับปรุงเพิ่มความสามารถให้กับ Software จึงเป็นสิ่งที่สำคัญอย่างมาก การนำรูปแบบปฏิบัติที่เรียกว่า DevOps มาปรับใช้กับบริษัทจะช่วยให้บริษัทยกระดับความสามารถในการพัฒนา Software ให้เร็วขึ้น มีคุณภาพมากขึ้น ในขณะที่ต้นทุนที่ต่ำลง บริษัทที่ไม่สามารถนำ DevOps มาปรับใช้ ก็มีแนวโน้มที่จะค่อยๆสูญเสียความสามารถในแข่งขัน และพ่ายแพ้ให้คู่แข่งไปในที่สุด

ยกตัวอย่างในวงการอุตสาหกรรมช่วงทศวรรษที่ 1980 ที่โรงงานอุตสาหกรรมเริ่มนำระบบการผลิตแบบลีน (Lean Manufacturing) มาใช้ปรับปรุงกระบวนการผลิต ทำให้เวลาเฉลี่ยในการผลิตจาก 6 สัปดาห์ลดลงเหลือน้อยกว่า 3 สัปดาห์และผลิตสินค้าส่งลูกค้าทันเวลาเพิ่มขึ้นจาก 70% เป็น 95% สำหรับโรงงานที่ไม่นำหลักการผลิตแบบลีน มาใช้นั้น ก็ค่อยๆเสียส่วนแบ่งการตลาดและต้องปิดกิจการไปในที่สุด เพราะมีต้นทุนการผลิตที่มากกว่าในการผลิตสินค้าปริมาณเท่ากัน และความน่าเชื่อถือน้อยกว่าเนื่องจากมีโอกาสผลิตสินค้าไม่ทันเวลาสูง

ก่อนที่จะไปรู้จักกับ DevOps แบบลงรายละเอียดนั้น บทความตอนนี้จะเล่าถึงประวัติความเป็นมาและแนวคิดอันเป็นรากฐานสำคัญของ DevOps ตั้งแต่ยุคปฏิวัติอุตสาหกรรมครั้งที่ 2 จนถึงยุคปัจจุบัน โดยพื้นฐานของ DevOps นั้นได้รับแรงบันดาลใจมาจาก 2 ทฤษฎีสำคัญที่ใช้ปฏิวัติกระบวนการผลิตในวงการอุตสาหกรรม นั่นก็คือระบบการผลิตแบบลีนซึ่งเน้นในเรื่องของการกำจัดความสูญเปล่าที่ไม่ได้เพิ่มคุณค่าให้กับลูกค้า และทฤษฎีข้อจำกัด (Theory of Constraint) ซึ่งเน้นในเรื่องของการเพิ่มผลผลิต

จุดเริ่มต้นของระบบการผลิตแบบลีนและทฤษฎีข้อจำกัด

อุตสาหกรรมการผลิตรถยนต์สมัยก่อนนั้นจะมีลักษณะเป็นเป็นงานฝีมือ คุณภาพของรถยนต์แต่ละคันขึ้นอยู่กับทักษะความเชี่ยวชาญของพนักงานเป็นหลัก จนกระทั่งเมื่อ ค.ศ. 1913 Henry Ford ผู้ก่อตั้งบริษัทฟอร์ด มอเตอร์ ได้ริเริ่มนำระบบสายพานลำเลียงมาใช้กับการผลิตรถยนต์และเน้นผลิตออกมาเป็นปริมาณมากๆเพื่อลดต้นทุนการผลิต โดยเรียกระบบการผลิตแบบนี้ว่า Mass production ส่งผลให้เวลาผลิตรถยนต์ 1 คันลดลงจาก 12 ชั่วโมง เหลือเพียงแค่ 90 นาที และสามารถลดราคาลงจาก 850$ เหลือไม่ถึง 300$ เท่านั้น รถยนต์รุ่น Model T นี้ประสบความสำเร็จเป็นอย่างสูงและถูกขายไปมากกว่า 15 ล้านคัน

สายการผลิตรถยนต์ Ford รุ่น Model T

ต่อมาในช่วงทศวรรษ 1940 อิจิ โทโยดะแลไทอิจิ โอโนะ ผู้บริหารของบริษัทโตโยต้าได้พยายามนำแนวคิดของฟอร์ดไปใช้ แต่พบว่าระบบ Mass production ของฟอร์ดไม่เหมาะกับโตโยต้า เพราะว่าตลาดของญี่ปุ่นนั้นมีขนาดเล็กเมื่อเทียบกับสหรัฐอเมริกาทำให้โตโยต้าไม่สามารถผลิตให้ได้ปริมาณมากๆในระดับที่คุ้มทุน อีกทั้งสงครามโลกครั้งที่ 2 ทำให้เศรษฐกิจญี่ปุ่นตกต่ำ ผู้บริโภคมีเงินน้อยมาก

ดังนั้นทั้งสองคนจึงร่วมกับทีมงานของบริษัทโตโยต้า พัฒนาระบบการผลิตของตนเองขึ้นมาโดยยืมแนวคิดหลายอย่างมาจากสหรัฐอเมริกา ทั้งจากบทเรียนต่างๆของ Henry Ford แนวคิดเรื่อง PDCA (Plan-Do-Check-Act) ของ William Edward Deming รวมถึงแรงบันดาลใจจากซูเปอร์มาร์เก็ตที่จะมีการเติมทดแทนสินค้าบนชั้นวางของเมื่อสินค้าถูกซื้อไปในจำนวนเท่ากับที่ว่างในชั้นวางของพอดี

โตโยต้านำแนวคิดต่างๆเหล่านี้มาปรับใช้โดยเริ่มจากค้นหาและแก้ปัญหาที่เกิดขึ้นในระดับปฏิบัติการ การนำข้อเสนอแนะการปรับปรุงงานที่ได้จากพนักงานมาทดลองปฏิบัติ หลังจากผ่านการดำเนินการเช่นนี้อย่างต่อเนื่องเป็นทศวรรษจึงได้ออกมาเป็นระบบการผลิตแบบโตโยต้า (Toyota Production System) หรือที่รู้จักในชื่อของ ระบบการผลิตแบบทันเวลาพอดี (Just in Time Production System)

หนังสือ The Machine That Changed The World และ The Goal: A Process of Ongoing Improvement

แนวคิดของระบบการผลิตแบบโตโยต้าเป็นแรงบันดาลใจให้นักคิดในยุคนั้นสร้างแนวคิดของตนเองขึ้นมาเขียนเป็นหนังสือเผยแพร่ให้กับคนทั่วไป ในปี ค.ศ. 1984 Dr.Eliyahu M. Goldratt เขียนนิยายชื่อว่า The Goal: A Process of Ongoing Improvement เล่าถึงผู้จัดการโรงงานตัวเอกของเรื่องที่ต้องแก้ปัญหาเรื่องผลิตสินค้าไม่ ทันเวลาและต้นทุนสูงภายใน 90 วัน ไม่อย่างนั้นโรงงานจะต้องถูกปิด ทฤษฎีข้อจำกัดถูกนำเสนอครั้งแรกจากหนังสือเล่มนี้ โดยตัวเอกของเรื่องจะแก้ปัญหาโดยการนำทฤษฎีข้อจำกัดมาใช้ปรับปรุงกระบวนการ ทำงานภายในโรงงาน ต่อมาในปี ค.ศ. 1990 ระบบการผลิตแบบโตโยต้าเป็นที่รู้จักแพร่หลายทั่วโลกผ่านหนังสือ The Machine That Changed The World โดย James P. Womack เนื้อหาในหนังสือนั้นอธิบายคำถามที่ว่าทำไมญี่ปุ่น ถึงเอาชนะสหรัฐอเมริกาได้ในหลายๆอุตสาหกรรม จากการศึกษาวิเคราะห์โรงงานประกอบรถยนต์ของญี่ปุ่น สหรัฐอเมริกา และยุโรป แล้วสรุปออกมาเป็นสิ่งที่เขาเรียกว่าระบบการผลิตแบบลีน

ทฤษฎีข้อจำกัด (Theory of Constraint)

ทฤษฎีข้อจำกัดกล่าวว่ากระบวนการทำงานต่างๆเช่นกระบวนการผลิตในอุตสาหกรรม เครื่องจักรหรือหน่วยงานที่ช้าที่สุดจะเป็นตัวกำหนดอัตราเร็วของทั้งกระบวน การซึ่งเราจะเรียกหน่วยงานนั้นว่าเป็นข้อจำกัด (Constraints) หรือคอขวด (Bottle Neck) ยกตัวอย่างง่ายๆจากขวดน้ำ อัตราการไหลของน้ำจะขึ้นอยู่กับส่วนที่แคบที่สุดของขวดซึ่งก็คือคอขวดนั่นเอง โดยทุกๆกระบวนการจะมีคอขวดอยู่อย่างน้อย 1 จุดเสมอ การปรับปรุงอัตราเร็วของกระบวนการจะเกิดขึ้นได้ก็ต่อเมื่อคอขวดถูกปรับปรุง การเพิ่มอัตราเร็วในส่วนอื่นที่ไม่ใช่คอขวดของกระบวนการจะไม่มีผลต่ออัตราเร็วของทั้งระบบ ยกตัวอย่างเช่น สมมติว่าการผลิตสินค้าต้องผ่านกระบวนการ 3 อย่างตามลำดับ และใช้เวลาผลิตได้ปริมาณชิ้นต่อชั่วโมงดังรูป

จะเห็นว่าอัตราเร็วของทั้งกระบวนการขึ้นอยู่กับจุดที่ช้าที่สุดคือกระบวนการที่ 2 ก็คือสามารถผลิตได้ 20 ชิ้นต่อชั่วโมง ถ้าเราอยากที่จะเพิ่มอัตราเร็วของกระบวนการ จะเกิดอะไรขึ้นถ้าเรามองปัญหาและพยายามแก้ไขเป็นจุดๆ แทนที่จะมองทั้งภาพรวมของทั้งกระบวนการ เช่นเพิ่มอัตราเร็วของกระบวนการที่ 1 เป็น 100 ชิ้นต่อชั่วโมง ผลก็คือมีสิ่งค้าคงคลังที่ยังผลิตไม่สมบูรณ์มารอที่จะเข้ากระบวนการที่ 2 มากขึ้น หรือเพิ่มอัตราเร็วของกระบวนการที่ 3 เป็น 70 ชิ้นต่อชั่วโมงผลก็คือกระบวนการที่ 3 จะว่างงานมากขึ้นเพราะต้องรอผลผลิตจากกระบวนการที่ 2 จากตัวอย่างจะพบว่าการเพิ่มอัตราเร็วของกระบวนการที่ไม่ใช่คอขวด ไม่ได้ช่วยให้ผลผลิตของทั้งกระบวนการดีขึ้นทฤษฎีข้อจำกัดจึงกำหนดแนวทางปรับปรุงกระบวนการไว้ 5 ขั้นตอนดังนี้

  1. Identify the Constraint คือการระบุกระบวนการที่เป็นคอขวด โดยวิธีการหาคอขวดแบบง่ายที่สุดก็คือหากระบวนการที่มีงานไปค้างอยู่มากที่สุดนั่นเอง
  2. Exploit the Constraint คือการหาหนทางที่จะเพิ่มประสิทธิภาพของคอขวดให้ได้ประโยชน์สูงสุด โดยใช้ทรัพยากรที่มีอยู่
  3. Subordinate & Synchronize to the Constraint คือการปรับกระบวนการทั้งหมดในระบบ เพื่อสนับสนุนจุดคอขวดให้มีประสิทธิภาพสูงที่สุด
  4. Elevate the Performance of the Constraint คือการใช้วิธีใดก็ได้เพื่อกำจัดคอขวดออกไปเช่นการลงทุนกับคนหรือเครื่องมือ ขั้นตอนนี้จะถูกใช้ก็ต่อเมื่อใช้ขั้นตอนที่ 2 และ 3 ไม่สำเร็จ
  5. Repeat the Process หลังจากปรับปรุงคอขวดเรียบร้อยแล้ว ให้กลับไปทำขั้นตอนที่ 1 ใหม่เพื่อหาคอขวดจุดใหม่

ระบบการผลิตแบบลีน (Lean Manufacturing)

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

  1. Specify Value คือการระบุคุณค่าของสินค้าหรือบริการในมุมมองของลูกค้าว่าลูกค้ามองคุณค่าของสินค้านี้อย่างไร ก็ให้นำเอาคุณค่านั้นมาเป็นคุณค่าของสินค้าขององค์กร
  2. Identify The Value Stream คือการแสดงกระบวนการผลิตตั้งแต่เป็นวัตถุดิบจนกลายเป็นสินค้าส่งถึงมือลูกค้า เพื่อนำมาวางแผนการกำจัดความสูญเปล่าในทุกๆขั้นตอนการผลิต
  3. Flow คือการสร้างการไหลของกิจกรรมที่สร้างคุณค่าให้สินค้าหรือกระบวนการผลิตให้เกิดขึ้นได้อย่างรวดเร็ว สม่ำเสมอและต่อเนื่อง โดยไม่มีการหยุดพักหรือย้อนกลับมา
  4. Pull เป็นการผลิตสินค้าที่ลูกค้าต้องการในเวลาที่ต้องการ โดยไม่มีการสต๊อกสินค้าให้สิ้นเปลืองค่าเก็บรักษา
  5. Perfection คือความสมบูรณ์แบบที่เกิดจากการสร้างคุณค่าและการกำจัดความสูญเปล่าอย่างต่อเนื่อง

จากอุตสาหกรรมสู่โลกแห่งเทคโนโลยี

แนวคิดในวงการอุตสาหกรรมเหล่านี้มีอิทธิพลเป็นอย่างมากกับวงการเทคโนโลยีในปี ค.ศ. 2001 แนวคิดระบบการผลิตแบบลีนเป็นรากฐานสำคัญให้กับคำแถลงอุดมการณ์ แห่งอไจล์ (Agile Manifesto) ซึ่งมีเนื้อหาดังนี้

  • Individuals and interactions over processes and tools
    คนและการมีปฏิสัมพันธ์กันมากกว่าการทำตามขั้นตอนและเครื่องมือ
  • Working software over comprehensive documentation
    ซอฟต์แวร์ที่นำไปใช้งานได้จริงมากกว่าเอกสารที่ครบถ้วนสมบูรณ์
  • Customer collaboration over contract negotiation
    ร่วมมือทำงานกับลูกค้ามากกว่าการต่อรองให้เป็นไปตามสัญญา
  • Responding to change over following a plan
    การตอบรับกับการเปลี่ยนแปลงมากกว่าการทำตามแผนที่วางไว้

แนวคิดนี้นี้ถูกนำไปปรับใช้กลายเป็นวิธีการพัฒนา Software แบบ Agile ในรูปแบบต่างๆเช่น Scrum, Kanban ซึ่งเป็นที่นิยมอย่างมาก และมีการจัด Agile Conference ทุกๆปีเพื่อเผยแพร่และแลกเปลี่ยนความรู้ระหว่างคนที่ต้องการนำ Agile ไปใช้ในองค์กรของตนเอง โดยในงาน Agile Conference ปี ค.ศ. 2006 Jez Humble และ David Farley ได้นำเสนอแนวคิด Continuous Delivery ที่กล่าวถึงวิธีการปฏิบัติเพื่อให้ Code ที่แก้ไขพร้อมที่จะ Deploy ได้ตลอดเวลา ซึ่งเป็นหนึ่งในหลักปฏิบัติของ DevOps ทำให้การพัฒนา Software เป็นไปอย่างรวดเร็วขึ้น

ในปี ค.ศ. 2009 ที่ Velocity Conference John Allspaw และ Paul Hammond ได้นำเสนอเรื่อง 10 Deploys per Day: Dev and Ops Cooperation at Flickr ซึ่งกล่าวถึงวิธีการสร้างเป้าหมายร่วมกันระหว่างแผนก Development และแผนก Operation และวิธีการที่ทำให้การ Deployment เป็นเรื่องทั่วไปที่ทำกันในชีวิตประจำวัน การนำเสนอเรื่องนี้เป็นแรงบันดาลใจให้ Patrick Debois จัดงาน DevOpsDay ขึ้นมาในปีเดียวกัน คำว่า DevOps ที่ย่อมาจาก Development และ Operations จึงถูกสร้างขึ้นตั้งแต่นั้นเป็นต้นมา

ปัจจุบัน DevOps เป็นแนวคิดที่มีประสิทธิภาพและแพร่หลายออกไปทั่วโลก จากผลสำรวจองค์กรกว่า 1,000 แห่งจากรายงาน RightScale 2016 State of the Cloud Report: DevOps Trends พบว่าในปี 2016 มีองค์กรนำ DevOps ไปปรับใช้แล้วถึง 74% ซึ่งเพิ่มขึ้นจากปีที่แล้วถึง 8% และจำนวนการ Search คำว่า DevOps ใน google ก็ยังเพิ่มขึ้นเรื่อยๆด้วย

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

--

--