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

The Team-Changing Magic of Architecture

8e8410eb785755ae2cb485f85dbab6e8?s=47 hiroga
June 13, 2019

The Team-Changing Magic of Architecture

保険APIのアーキテクチャを片づけたらチームがときめき出した話です。

8e8410eb785755ae2cb485f85dbab6e8?s=128

hiroga

June 13, 2019
Tweet

Transcript

  1. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates.

    All rights reserved. νʔϜ͕ͱ͖Ί͘ΞʔΩςΫνϟͷຐ๏ อݥ"1*ͷϚΠΫϩαʔϏεΛย͚ͮͨ࿩ খּݪ׮໌ ΤϯδχΞ גࣜձࣾKVTU*O$BTF
  2. جຊ৘ใ ઃཱ೥݄ ࢿຊۚԯԁ ैۀһ਺໊ ࣄۀ಺༰ গֹ୹ظอݥۀ ؔ౦ࡒ຿ہ௕ ʢগֹ୹ظอݥۀʣ ୈ߸

  3. 3 .JTTJPO ʮอݥͰࣾձΛ"DUJWFʹʯ

  4. None
  5. None
  6. ͱ͖Ί͔ͳ͍ ϚΠΫϩαʔϏε

  7. 7 保険APIの課題 行方不明のロジック 動かせないテスト 怖いデプロイ

  8. 8 อݥ"1*ͷ՝୊ 13Λग़ͤΔΑ͏ʹͳΔ·Ͱϲ݄

  9. 9 อݥ"1*ͷ՝୊ อݥ঎඼߸ͷϦϦʔε͕ϲ݄஗Ԇ 13Λग़ͤΔΑ͏ʹͳΔ·Ͱϲ݄

  10. 10 ย͚ͮޙͷΞʔΩςΫνϟ AWS Cloud Private subnet ECS Cluster AWS Lambda

    Mobile client Amazon API Gateway NLB Amazon Cognito VPC VPC Link Amazon RDS AWS Cloud Map Microservice #1 ECS Cluster NLB Microservice #2 Private Lambda Authorizer Authentication / Authorization Microservice #3 Authlete ※外部サービス
  11. 11 ย͚ͮޙͷΞʔΩςΫνϟ AWS Cloud Private subnet ECS Cluster AWS Lambda

    Mobile client Amazon API Gateway NLB Amazon Cognito VPC VPC Link Amazon RDS AWS Cloud Map Microservice #1 ECS Cluster NLB Microservice #2 Private Lambda Authorizer Authentication / Authorization Microservice #3 Authlete ※外部サービス ย͚ͮͷϙΠϯτ  ςετΛॻ͖ͨ͘ͳΔ  σϓϩΠ͕ͨ͘͠ͳΔ
  12. ย͚ͮͷࢀߟʹͨ͠ͷ͸ɺ͜Μ·Γ͞ΜʜͰ͸ͳ͘

  13. 13 All teams will henceforth expose their data and functionality

    through service interfaces… …Anyone who doesn't do this will be fired. 出典: Stevey's Google Platforms Rant https://web.archive.org/web/20180305144440/https://plus.google.com/112678702228711889851/posts/eVeouesvaVX Jeff Bezos (2002?)
  14. 14 શͯͷνʔϜ͸αʔϏεΠϯλʔϑΣʔεΛ௨ͯ͡ શͯͷσʔλͱػೳΛެ։͢Δ͜ͱɻ ʢதུʣͦ͏͠ͳ͍ऀ͸ղޏ͞ΕΔɻ 出典: Stevey's Google Platforms Rant https://web.archive.org/web/20180305144440/https://plus.google.com/112678702228711889851/posts/eVeouesvaVX

    Jeff Bezos (2002?)
  15. 15 ͜Ε·Ͱ ܖ໿؅ཧ &$4$MVTUFS &$4λεΫɾ-BNCEBͷ௚઀ݺͼग़͠ ؀ڥ͝ͱʹҧ͏ΤϯυϙΠϯτ อݥྉܭࢉ &$4$MVTUFS "84 -BNCEB

    νϟοτ
  16. 16 ย͚ͮޙ AWS Cloud Private subnet ECS Cluster AWS Lambda

    Mobile client Amazon API Gateway NLB Amazon Cognito VPC VPC Link AWS Cloud Map Microservice #1 ECS Cluster NLB Microservice #2 Private Lambda Authorizer Authentication / Authorization Microservice #3 Authlete ※外部サービス
  17. 17 ย͚ͮޙ ܖ໿؅ཧ &$4$MVTUFS ϩʔΧϧͱಉ͘͡)551௨৴ Ͳͷ؀ڥͰ΋ಉ͡ΤϯυϙΠϯτ อݥྉܭࢉ &$4$MVTUFS "84 -BNCEB

    νϟοτ "84$MPVE.BQ
  18. 18 ͜Ε·Ͱ &$4$MVTUFS ςετͷͨͼʹೝূ ΞϓϦέʔγϣϯͰೝূɾೝՄ 5FTU$MJFOU ػೳςετ αΠϯΠϯ αΠϯΞ΢τ

  19. 19 ย͚ͮޙ AWS Cloud Private subnet ECS Cluster AWS Lambda

    Mobile client Amazon API Gateway NLB Amazon Cognito VPC VPC Link Amazon RDS AWS Cloud Map Microservice #1 ECS Cluster NLB Microservice #2 Private Lambda Authorizer Authentication / Authorization Microservice #3 Authlete ※外部サービス
  20. 20 ย͚ͮޙ &$4$MVTUFS ೝূͳ͠Ͱ͙͢ςετ ΞϓϦέʔγϣϯͰೝূɾೝՄෆཁ 5FTU$MJFOU ػೳςετ

  21. 21 ςετ͕ॻ͖ͨ͘ͳΔ ˞ͳ͓"84-BNCEBͷ৔߹͸4".-PDBMΛར༻ͯ͠ݕূ͍ͯ͠·͢ɻ ɾϩʔΧϧͰ΋ಉ͡Α͏ʹಈ͘ ɾαΠϯΠϯͳ͠Ͱ͙͢ςετ

  22. 22 ςετ͕ॻ͖ͨ͘ͳΔ ˞ͳ͓"84-BNCEBͷ৔߹͸4".-PDBMΛར༻ͯ͠ݕূ͍ͯ͠·͢ɻ ɾΞϓϦέʔγϣϯΤϯδχΞ൒೥ؒͰ໊Λ࠾༻ 13ͷNFSHF·Ͱͷฏۉ೔਺͕໿೔ˠ೔ ɾϩʔΧϧͰ΋ಉ͡Α͏ʹಈ͘ ɾαΠϯΠϯͳ͠Ͱ͙͢ςετ

  23. 23 "84 $MPVE'PSNBUJPO ͜Ε·Ͱ #JU#VDLFU 13 NFSHF QVMM SVO Կ͕σϓϩΠ͞Ε͍ͯΔͷ͔ෆ໌

    σϓϩΠ͕ख࡞ۀ
  24. 24 "84 $MPVE'PSNBUJPO ย͚ͮޙ $JSDMF$* #JU#VDLFU 13 NFSHF JOUFHSBUJPO SVO

    NBTUFSϒϥϯν ࠷৽ͷελοΫ $MPVE'PSNBUJPOͷ஌ࣝෆཁͰσϓϩΠ
  25. 25 σϓϩΠ͕ͨ͘͠ͳΔ ɾ$*ͷͨΊʹελοΫΛ੔ཧ ɾNFSHFͨ͠ΒࣗಈͰσϓϩΠ

  26. 26 σϓϩΠ͕ͨ͘͠ͳΔ σϓϩΠճ਺͕ฏۉճ೔ʹʂ ʢdͷฏۉ஋ʣ ɾ$*ͷͨΊʹελοΫΛ੔ཧ ɾNFSHFͨ͠ΒࣗಈͰσϓϩΠ

  27. 27 ΞʔΩςΫνϟͷຐ๏ νʔϜ͕ͱ͖Ί͘

  28. 28 ΞʔΩςΫνϟͷຐ๏ ɾϝϯόʔ͕൒೥Ͱഒ ɾ13ΛNFSHF͢Δ·ͰͷظؒΛ೔୹ॖ ɾσϓϩΠͷճ਺͕ճ೔

  29. 29 ΞʔΩςΫνϟͷຐ๏ ϲ݄ͷػೳͷϦϦʔε਺͕໿ഒ ໿ຊˠຊ݄ ɾϝϯόʔ͕൒೥Ͱഒ ɾ13ΛNFSHF͢Δ·ͰͷظؒΛ೔୹ॖ ɾσϓϩΠͷճ਺͕ճ೔ ͔͠΋৽ػೳͷׂ͸৽ϝϯόʔ͕࣮૷

  30. 30 ·ͱΊ ΞʔΩςΫνϟΛย͚ͮ

  31. 31 ·ͱΊ ςετ͕ॻ͖ͨ͘ͳΔˍσϓϩΠ͕ͨ͘͠ͳΔ ΞʔΩςΫνϟΛย͚ͮ

  32. 32 ·ͱΊ ςετ͕ॻ͖ͨ͘ͳΔˍσϓϩΠ͕ͨ͘͠ͳΔ νʔϜ͕ͱ͖Ί͘ ΞʔΩςΫνϟΛย͚ͮ

  33. 33 WE ARE HIRING!!! ɾ޿ใ ɾϦʔυσβΠφʔ ɾϑϩϯτΤϯυΤϯδχΞ ɾSRE ɾBisDevʴ๏ਓӦۀ

  34. 34 Thank you! Licenses: ・developer icon: created by Creative Stall

    from Noun Project ・Photo of network cable: www.brianchristner.io