มีคำถามบางอย่างเกี่ยวกับfeature flag toggles
เช่น:
คำถาม :
- อะไรคือ "สลับการตั้งค่าสถานะคุณลักษณะ" (ในบริบทของ DevOps)
- ทำไมถึงใช้
มีคำถามบางอย่างเกี่ยวกับfeature flag toggles
เช่น:
คำถาม :
คำตอบ:
โดยไม่ต้องทำซ้ำเนื้อหาของhttps://martinfowler.com/articles/feature-toggles.htmlเนื่องจากเป็นคำอธิบายเชิงลึกที่น่าทึ่งเกี่ยวกับการสลับการตั้งค่าสถานะของคุณลักษณะ ฉันจะมุ่งเน้นไปที่แง่มุมของ DevOps
ตามรายงานState of DevOps ปี 2014จัดทำโดย PuppetLabs มีสี่ตัวชี้วัดหลักในการวัดประสิทธิภาพของไอที:
สิ่งเหล่านี้ยังส่งผลต่อประสิทธิภาพโดยรวมขององค์กร ดังนั้นหมายความว่าหากไอทีของคุณทำได้ดีมากในการวัดเหล่านี้กำไรของคุณจะเพิ่มขึ้นอีก $$$
การจัดส่งอย่างต่อเนื่องถูกเปิดใช้งานโดยตัวชี้วัดเหล่านี้และได้รับการอธิบายในเชิงลึกในหนังสือการจัดส่งอย่างต่อเนื่อง: การเผยแพร่ซอฟต์แวร์ที่เชื่อถือได้ผ่าน Build, Test และ Deployment Automationโดย Jez Humble
ในบริบทของการจัดส่งสินค้าอย่างต่อเนื่องมีความแตกต่างที่สำคัญที่แตกต่างจากการปรับใช้อย่างต่อเนื่อง และนั่นคือการตัดสินใจว่าจะเปิดตัวฟีเจอร์ (สำหรับลูกค้า) เมื่อใด
การเก็บรักษาการเปลี่ยนแปลงขนาดเล็กกว่าและการปรับใช้ (การคัดลอกรหัส) คุณสมบัติอ่อนหัดกับระบบการผลิตที่มีธงคุณลักษณะสลับออกจะช่วยให้การลดระยะเวลารอคอยสำหรับการเปลี่ยนแปลง
เมื่อคุณสมบัติเสร็จสิ้นในที่สุดการปล่อยจะเป็นการตัดสินใจที่เหลือให้กับธุรกิจ อาจต้องมีการเปิดตัวฟีเจอร์ใหม่ที่สอดคล้องกับการตลาดบางส่วนหรือการวางจำหน่ายในส่วนอื่นของธุรกิจเช่นฟีเจอร์ในแอพมือถือ
คุณสมบัติสามารถนำออกใช้โดยใช้การทดลอง A / B เพียงส่วนหนึ่งของฐานลูกค้าหรือเฉพาะบุคคลหรือแม้กระทั่งโดยตรงไปยังความพร้อมใช้งานทั่วไป (GA) แม้ว่าการปล่อย GA จะกระทำได้บ่อยครั้งหลังจากมีความมั่นใจเพียงพอที่คุณสมบัติดังกล่าวจะทำงานตามที่คาดไว้ อาจมีคนโต้แย้งว่าสิ่งนี้มีผลกระทบต่อความถี่ในการปล่อยให้สูงขึ้น
การแยกตัวของการปล่อยและการปรับใช้นี้แทบจะเป็นไปไม่ได้เลยหากไม่มีการสลับการตั้งค่าสถานะ
ตามธรรมชาติเมื่อไม่จำเป็นต้องปรับใช้เพื่อสลับคุณลักษณะปิดดังนั้นเวลาในการเรียกคืนบริการจะลดลงอย่างมาก
และด้วยการใช้แฟล็กฟีเจอร์ที่ปล่อยฟีเจอร์ให้กับชิ้นส่วนเล็ก ๆ ของฐานลูกค้าการวัดอัตราการเปลี่ยนแปลงที่ล้มเหลวก็สามารถปรับปรุงได้อย่างมีนัยสำคัญเช่นกัน
ดังนั้นกลไกง่าย ๆ ที่เรียกว่าสลับการตั้งค่าสถานะจะช่วยให้ประสิทธิภาพด้านไอทีดีขึ้นมากและจะช่วยปรับปรุงประสิทธิภาพการทำงานขององค์กรโดยรวม
ตัวอย่างที่ดีของวิธีการนี้จะทำใน บริษัท จริงสามารถพบได้ที่Flickr (บนของโพสต์สาธารณะที่เก่าแก่ที่สุดในเรื่อง) และEtsy แต่คนอื่น ๆ ได้นำมาใช้ในการปฏิบัติงานและพูดคุยเกี่ยวกับมันในระยะเวลาสำหรับตัวอย่างที่มีชื่อเสียงวัฒนธรรมวิศวกรรมที่วิดีโอ Spotify
Etsy กำลังแสดงเครื่องมือภายในเพื่อจัดการการตั้งค่าสถานะคุณลักษณะที่เรียกว่า Catapult ในการนำเสนอหลายรายการที่พบในเว็บ และตรัสรู้ปล่อยเครื่องมือโอเพนซอร์สที่เรียกว่าวาซาบิที่ช่วยจัดการการตั้งค่าสถานะคุณลักษณะ
Ken Mugrageโพสต์ความคิดเห็นที่น่าสนใจด้านล่างคำถามของฉันพร้อมลิงก์ไปยังคำอธิบายที่ให้ความกระจ่างเกี่ยวกับ " Feature toggles " โดยมีบทสรุปดังนี้:
สลับคุณสมบัติเป็นเทคนิคที่มีประสิทธิภาพช่วยให้ทีมสามารถปรับเปลี่ยนพฤติกรรมของระบบโดยไม่ต้องเปลี่ยนรหัส พวกเขาอยู่ในหมวดหมู่การใช้งานที่หลากหลายและเป็นสิ่งสำคัญที่จะต้องคำนึงถึงการจัดหมวดหมู่นั้นเมื่อใช้งานและจัดการสวิตช์ สลับการแนะนำความซับซ้อน เราสามารถรักษาความซับซ้อนนั้นได้โดยใช้วิธีการสลับการใช้งานแบบสลับและเครื่องมือที่เหมาะสมเพื่อจัดการการตั้งค่าสลับของเรา แต่เราควรตั้งเป้าหมายที่จะ จำกัด จำนวนการสลับในระบบของเรา
ไม่เพียง แต่จะสรุปความช่วยเหลือดังกล่าวข้างต้นที่จะเข้าใจสิ่งนี้เป็นเรื่องเกี่ยว แต่ก็ยังมีบางตัวอย่างที่อธิบายว่าทำไมพวกเขาใช้ และหลังจากแยกย่อยออกไปอีกเล็กน้อยดูเหมือนว่า "Feature Toggle" และ "Feature Flag Toggle" นั้นเป็นคำพ้องความหมายของกันและกัน
แต่การแก้ปัญหา (คำตอบ) กับปัญหา (คำถาม) เปลี่ยนปัญหา ... ใครคนหนึ่งอาจถามคำถามที่เกี่ยวข้องเช่น: