Upgrade to Pro — share decks privately, control downloads, hide ads and more …

安全なリリースに向けた技術的アプローチ

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

 安全なリリースに向けた技術的アプローチ

大規模な新機能のリリース時に利用した段階的リリースの実装パターンの紹介をします。

Avatar for ShoheiMitani

ShoheiMitani

July 18, 2019
Tweet

More Decks by ShoheiMitani

Other Decks in Programming

Transcript

  1. Re:valua t ion https://fril.jp/ L ead & Delight User F

    irst Ownership Fail Smart ҆શͳϦϦʔεʹ޲͚ٕͨज़తΞϓϩʔν
  2.   "HFOEB w ҆શͳϦϦʔεͬͯʁʁ w ࠷ۙϦϦʔεͨ͠ػೳͷ࿩ w ةݥͳϦϦʔεΛ๷͙ͨΊʹ w

    'FBUVSF5PHHMFT w 'FBUVSF5PHHMFT͕ղܾͯ͘͠ΕΔ͜ͱ w 'FBUVSF5PHHMFTΛར༻ͯ͠Α͔ͬͨͱࢥ͏ͱ͜Ζ w 'FBUVSF5PHHMFTͷσϝϦοτ w ·ͱΊ
  3.   ࠷ۙϦϦʔεͨ͠ػೳͷ࿩ w ܾࡁʹ৽͍͠ࢧ෷͍ΦϓγϣϯΛ௥Ճ w ෆਖ਼ରࡦ౳ͷपลػೳ΋௥Ճ w ։ൃظؒɺ໿೥ؒ w

    ࠷ऴతʹे਺໊΄ͲͷΤϯδχΞ͕։ൃʹࢀՃ w dճఔ౓ϦϦʔε w ෼ʹ਺ेສԁͷ͓͕ۚྲྀ௨͢ΔαʔϏε
  4.   ϥΫϚͷ'MBHͷछྨ w Ϣʔβʔ*%ͷ຤ඌܻϕʔεͰஈ֊ެ։ d  w ϥϯμϜͳ֬཰Ͱͷެ։ w

    ࢦఆͨ͠Ϣʔβʔ*%ϝʔϧΞυϨεͰͷެ։ ্هΛ؅ཧը໘͔Βࢦఆ͠ɺ೚ҙͷൣғͰػೳͷެ։Մೳ 'FBUVSF5PHHMFT
  5.   'FBUVSF5PHHMFT6TFDBTF <% if Fril::FeatureToggles.v2_variation(‘sample_key’, @current_user, false) %> <div

    class="setting-box"> <p class=“new_function__text">৽ػೳΛ͝ར༻͍͚ͨͩ·͢ɻ</p> <p class="small-text"> <%= link_to '࣍΁ਐΉ', hoge_path, class: 'btn btn-primary btn-confirmation' %> </p> </div> <% end %> def pay_something amount_check use_balance use_point use_coupon if Fril::FeatureToggles.v2_variation(‘sample_key’, buyer, false) purchase end ྫ ը໘ʹ৽͍͠จݴɾϘοΫεΛ௥Ճ ྫ طଘͷॲཧʹ৽͍͠ॲཧΛ௥Ճ
  6.   w ։ൃதͷػೳΛNBTUFSʹNFSHFͰ͖Δ w ϦϦʔε࣌ʹେྔͷࠩ෼ΛNFSHF͢Δඞཁ͕ͳ͘ͳΔ w ଞͷνʔϜͷΤϯδχΞ͕ػೳΛ஌Γɺཧղ͢Δ͜ͱ͕Մೳ w %&745(Ͱৗʹಈ࡞֬ೝ͕Մೳ

    w ຊ൪؀ڥͰطଘػೳ͕ಈ࡞͢Δ͜ͱ͕୲อ w ։ൃ؀ڥͰ৽نػೳ͕ಈ࡞͢Δ͜ͱ͕୲อ w ෆ۩߹ΛૣظʹൃݟՄೳ w ஈ֊తެ։ʹΑͬͯ෦ͷϢʔβʔʹ͔͠Өڹ͕ग़ͳ͍ w ؅ཧը໘͔ΒػೳΛ0''ʹͰ͖Δ w ಈ࡞͕୲อ͞Ε͍ͯΔػೳʹ௚͙ʹ໭͢͜ͱ͕Մೳ 'FBUVSF5PHHMFT͕ղܾͯ͘͠ΕΔ͜ͱ
  7.   'FBUVSF5PHHMFTͷσϝϦοτ w ίʔυ͕Ԛ͘ͳΓ͕ͪ w ద౓ͳϦϑΝΫλϦϯά͕ඞཁ w ΰϛ͕࢒Γଓ͚Δ w

    ϦϦʔε͕Λ௒͑ͨΒίʔυΛফ͢श׳͕ඞཁ w ςετ߲໨͕૿͑Δ w ϦάϨογϣϯςετ͕࠷΋ॏཁ
  8.   ·ͱΊ ҆શʹϦϦʔε͢ΔͨΊʹɺ'FBUVSF5PHHMFT͸༗ޮͳखஈ w ສ͕Ұͷ3PMMCBDLखॱ͕ϑϨʔϜϫʔΫͱ͠ ͯ૊Έࠐ·Ε͍ͯΔ w े෼ͳಈ࡞֬ೝΛ͢ΔػձΛ࡞ΕΔ w

    ϦϦʔεखॱʹϦεΫϔοδ͕૊Έࠐ·Εͯ ͍Δ͜ͱ͕಺֎ͷؔ܎ऀʹઆ໌Մೳ w ͦΕʹΑΓɺ։ൃνʔϜ͕ਫ਼ਆతʹ҆ఆ͠ɺ ػೳͷ։ൃมߋΛڪΕͳ͘ͳΔ