Slide 1

Slide 1 text

Spinnakerを利用した 自動カナリー分析 8FCΤϯδχΞษڧձ :PJDIJSP4IJNJ[V!CVEPVHVNJ

Slide 2

Slide 2 text

自己紹介 ‣ ਗ਼ਫཅҰ࿠!CVEPVHVNJ ‣ GSFFF,, ‣ #BDLFOE%FTLUPQ"QQFOHJOFFS ‣ (P3VCZPO3BJMT/&5 ‣ ϒϩάIUUQCVEPVHVNJHJUIVCJP

Slide 3

Slide 3 text

今日のゴール ‣ ͳͥΧφϦʔϦϦʔεͷ෼ੳΛࣗಈԽ͍ͨ͠ͷ͔஌ͬͯ΋Β͏ ‣ 4QJOOBLFSͱ,BZFOUBΛ࢖ͬͯԿ͕Ͱ͖Δͷ͔஌ͬͯ΋Β͏

Slide 4

Slide 4 text

アジェンダ ‣ ΧφϦʔϦϦʔεͱ͸ ‣ ͳͥΧφϦʔϦϦʔεͷ෼ੳΛࣗಈԽ͍ͨ͠ͷ͔ʁ ‣ 4QJOOBLFSͱ,BZFOUB ‣ ·ͱΊ

Slide 5

Slide 5 text

継続的デリバリー ‣ $POUJOVPVTEFMJWFSZ $% JTBTPGUXBSFFOHJOFFSJOHBQQSPBDIJO XIJDIUFBNTQSPEVDFTPGUXBSFJOTIPSUDZDMFT FOTVSJOHUIBUUIF TPGUXBSFDBOCFSFMJBCMZSFMFBTFEBUBOZUJNF ‣ IUUQTFOXJLJQFEJBPSHXJLJ$POUJOVPVT@EFMJWFSZ ‣ ϓϩμΫτΛ୹ظؒʹ͍ͭͰ΋ຊ൪؀ڥʹϦϦʔεͰ͖Δ͜ͱ

Slide 6

Slide 6 text

カナリーリリース ‣ ϓϩμΫτ΍αʔϏεͷ৽ػೳΛҰ෦ϢʔβʔͷΈ͕ར༻Ͱ͖ΔΑ ͏ʹϦϦʔε͠ɺ৽ػೳʹ໰୊͕ͳ͍͜ͱΛ֬ೝ͠ͳ͕Βஈ֊తʹ શମʹ޲͚ͯల։͍ͯ͘͠σϓϩΠख๏ͷ͜ͱɻ ‣ IUUQTNBLJUBOJOFUTIJNBVNBDBOBSZSFMFBTF next version Production

Slide 7

Slide 7 text

What’s next operation? ‣ ΧφϦʔϦϦʔεͷ݁ՌʹԠͨ࣍͡ͷखॱ͸ʁ ‣ ϩʔϧΞ΢τͯ͠શͯͷσϓϩΠϝϯτΛ৽όʔδϣϯʹ͢Δ ‣ ৽όʔδϣϯΛ࡟আͯ͠ݱߦόʔδϣϯͰϩʔϧόοΫ͢Δ ‣ ྑ͠ѱ͠͸Ͳ͏΍ͬͯ෼ੳ͢ΔʁͲ͏൑அ͢Δʁ ‣ ͕͜͜खಈͩͱ$%ͷࣗಈԽ్͕੾ΕΔ

Slide 8

Slide 8 text

SpinnakerとKayentaで この問題を解決する

Slide 9

Slide 9 text

Spinnaker ‣ IUUQTXXXTQJOOBLFSJP ‣ ܧଓతσϦόϦʔπʔϧɻLVCFSOFUFTରԠɻSFECMBDLEFQMPZ DIBPTNPOLFZͳͲ΋Մೳ ‣ 4QJOOBLFS͸ʮϤοτͷࡾ֯ൕʯͱ͍͏ҙຯ ‣ /FUqJY੡(PPHMF΋ڞಉ։ൃɻ೥ʹ044Խ ‣ $POUSJCVUPSʹ͸.JDSPTPGU΍0SBDMF΋ɻ ‣ ϚϧνΫϥ΢υରԠ ‣ "84 ($1 "[VSF ,VCFOFUFT ‣ 4QSJOHCPPUϑϨʔϜϫʔΫ +BWB(SPPWZ

Slide 10

Slide 10 text

Spinnakerを利用した継続的デリバリー 4UBHF/PUJpDBUJPO5SJHHFSΛ૊Έ߹Θͤͯ σϓϩΠύΠϓϥΠϯΛఆٛ͢Δ͜ͱ͕Ͱ͖Δ

Slide 11

Slide 11 text

Kayenta ‣ 4QJOOBLFSͰ࢖͑ΔαϒϞδϡʔϧ ‣ "VUPNBUFE$BOBSZ"OBMZTJTBU/FUqJYXJUI,BZFOUB ‣ 4QJOOBLFSͱ,BZFOUBΛ͘Έ͋ΘͤΔ͜ͱͰΧφϦʔϦϦʔεͷࣗಈ෼ੳ͕Մೳ ‣ 4UBDLESJWFS$MPVEXBUDI%BUBEPHͷϝτϦΫεΛࣗಈతʹ෼ੳ ‣ ࣄલఆٛͨ͠ධՁ߲໨ͷ݁ՌͰϩʔϧΞ΢τϩʔϧόοΫΛܾఆ

Slide 12

Slide 12 text

Kayenta σϓϩΠύΠϓϥΠϯʹࣗಈΧφϦʔϦϦʔε෼ੳεςʔδΛઃஔ 4UBDLESJWFSͷϝτϦΫεঢ়ଶ͔Β৽όʔδϣϯΛࣗಈ෼ੳ͢Δ

Slide 13

Slide 13 text

自動カナリー分析の流れ

Slide 14

Slide 14 text

ࠓճ͸($1Ͱ4UBDLESJWFSΛར༻ͨ͠ߏ੒ next version Production 1. Deploy 2. Monitoring 3. Scoring 分析構成

Slide 15

Slide 15 text

1.メトリクス定義を事前に設定 4UBDLESJWFSͰධՁ߲໨ʹ͍ͨ͠ϝτϦΫεΛఆ͓ٛͯ͘͠ $16ෛՙͳͲ͸LTͷඪ४ϩά͔ΒऔಘՄೳ

Slide 16

Slide 16 text

2.分析設定を定義 4QJOOBLFS্ͰΧφϦʔϦϦʔεͷධՁ߲໨Λఆٛ͢Δɻ ෳ਺߲໨Λ෼ੳର৅ʹͨ͠Γ֤߲໨ͷ΢ΣΠτ΋ઃఆՄೳ

Slide 17

Slide 17 text

3.Piplineで分析用のデプロイを定義 ج४ͱͳΔݱߦWFSͱɺΧφϦʔϦϦʔε͢Δ৽WFSͷσϓϩΠΛఆٛ͢Δ

Slide 18

Slide 18 text

4.本番ロードバランサ配下に配置 ج४ͱͳΔݱߦWFSͱɺ৽WFSͷσϓϩΠΛຊ൪ϩʔυόϥϯα഑Լʹ഑ஔ͢Δ

Slide 19

Slide 19 text

5.自動デプロイを実行 ৽WFS͕ݱߦWFSΑΓධՁ݁Ռ͕ѱ͔ͬͨ৔߹ϩʔϧόοΫ͢Δ 1JQFMJOF͕ࣦഊ͢Δ ධՁ͕Α͔ͬͨΒͦͷ··࣍ͷ4UBHF͕࣮ߦ͞ΕɺϩʔϧΞ΢τ͢Δ

Slide 20

Slide 20 text

Demo

Slide 21

Slide 21 text

今日のゴール ‣ ͳͥΧφϦʔϦϦʔεͷ෼ੳΛࣗಈԽ͍ͨ͠ͷ͔஌ͬͯ΋Β͏ ‣ 4QJOOBLFSͱ,BZFOUBΛ࢖ͬͯԿ͕Ͱ͖Δͷ͔஌ͬͯ΋Β͏

Slide 22

Slide 22 text

まとめ ‣ ܧଓతσϦόϦʔͰ͸ΧφϦϦϦʔεޙͷϩʔϧΞ΢τ ϩʔϧόο Ϋʣ΋ࣗಈԽ͍ͨ͠ ‣ 4QJOOBLFS,BZFOUBͰϝτϦΫεΛجʹࣗಈԽ ‣ σϓϩΠΛ҆શɾਝ଎ʹ͢Δ͜ͱͰ։ൃऀ͸։ൃʹूதͰ͖Δ