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

サーバーレスシステムのチーム開発

tomoki10
July 03, 2020

 サーバーレスシステムのチーム開発

AWSでのサーバーレスシステムの利点やチームでの開発方法について紹介しています。

前半は改めてサーバーレスとはどんな利点があったのか振り返っています。オンプレからクラウドになる中でどこが便利になったのか、さらにサーバーレスはどんな問題を解決できるのか記載しています。

後半では、サーバーレスシステムを開発するチームに所属して、今まで行ってきた開発方式や実際に使っているツールなどを紹介しました。

■解説動画
https://www.youtube.com/watch?v=zWIjG997s98&t=65s

tomoki10

July 03, 2020
Tweet

More Decks by tomoki10

Other Decks in Technology

Transcript

  1. • ͱͯ΋γϯϓϧWebαʔϏεͷྫ ैདྷͱͷൺֱ ΦϯϓϨ WEBαʔό w Ωϟογϡαʔό͸ʁ w $%/͸ʁ w

    υϝΠϯ͸ʁ w %#αʔό͸  w ϩʔυόϥϯαʔ͸ʁ ຊ֨తͳӡ༻Λߟ͑ΔͳΒʜ
  2. ɹɹ AWS Cloud ैདྷͷγεςϜߏ੒ ैདྷͱͷൺֱ "84  Amazon CloudFront Elastic

    Load Balancing Amazon EC2 Amazon RDS Amazon Simple Storage Service Amazon Route 53
  3. ैདྷͱͷൺֱ "84  ैདྷͷγεςϜ Amazon CloudFront Elastic Load Balancing Amazon

    EC2 Amazon RDS Amazon Simple Storage Service Amazon Route 53 ɹɹ AWS Cloud w αʔόʔͷ؅ཧ͕ඞཁ ੬ऑੑରԠ 04ͷߋ৽ w ଴ػ࣌ؒͷඅ༻͕͔͔Δ
  4. αʔόʔϨεͳઃܭ  αʔόʔϨεγεςϜ 4JOHMF1BHF"QQMJDBUJPO Amazon CloudFront Amazon Simple Storage Service

    Amazon Route 53 Amazon API Gateway AWS Lambda Amazon DynamoDB ɹɹ AWS Cloud
  5. αʔόʔϨεͳઃܭ  αʔόʔϨεγεςϜ 4JOHMF1BHF"QQMJDBUJPO Amazon CloudFront Amazon Simple Storage Service

    Amazon Route 53 Amazon API Gateway AWS Lambda Amazon DynamoDB w αʔόʔͷ؅ཧ͕ෆཁ 04؅ཧෆཁ αʔόʔͷ ੬ऑੑରԠෆཁ w ࢖༻ͨ͠෼͚ͩ՝ۚ ɹɹ AWS Cloud
  6. αʔόʔϨεͱ͸Կ͔  $/$'4FSWFSMFTT8IJUFQBQFSW ʮ8IBUJTTFSWFSMFTTDPNQVUJOH ʯΑΓ ௒ҙ༁  wαʔόʔϨείϯϐϡʔςΟϯάͱ͸ɺαʔόʔ؅ཧΛඞཁͱ͠ͳ͍ΞϓϦ έʔγϣϯΛߏங࣮ͯ͠ߦ͢Δͱ͍͏֓೦ɻΠϕϯτʹԠ࣮ͯ͡ߦɺεέʔϦϯ άɺ՝͕ۚߦΘΕΔɻ

    wαʔό͕ແ͘ͳΔΘ͚Ͱ΋ӡ༻ΤϯδχΞ͕͍Βͳ͍Θ͚Ͱ΋ͳ͍ɻαʔόʔ ͷ؅ཧʹ͔͔Δ࣌ؒͱϦιʔεΛϓϥοτϑΥʔϜଆʹ࣋ͨͤΔͱ͍͏ߟ͑ํɻ w։ൃऀ͸ΑΓϏδωεϩδοΫʹूதͰ͖Δ wӡ༻ΤϯδχΞ͸ΑΓॏཁͳλεΫʹूதͰ͖Δ IUUQTHJUIVCDPNDODGXHTFSWFSMFTTUSFFNBTUFSXIJUFQBQFSTTFSWFSMFTTPWFSWJFX
  7. αʔόʔϨεͱ͸Կ͔  $/$'4FSWFSMFTT8IJUFQBQFSW ʮ8IBUJTTFSWFSMFTTDPNQVUJOH ʯΑΓ ௒ҙ༁  wαʔόʔϨείϯϐϡʔςΟϯάͱ͸ɺαʔόʔ؅ཧΛඞཁͱ͠ͳ͍ΞϓϦ έʔγϣϯΛߏங࣮ͯ͠ߦ͢Δͱ͍͏֓೦ɻΠϕϯτʹԠ࣮ͯ͡ߦɺεέʔϦϯ άɺ՝͕ۚߦΘΕΔɻ

    wαʔό͕ແ͘ͳΔΘ͚Ͱ΋ӡ༻ΤϯδχΞ͕͍Βͳ͍Θ͚Ͱ΋ͳ͍ɻαʔόʔ ͷ؅ཧʹ͔͔Δ࣌ؒͱϦιʔεΛϓϥοτϑΥʔϜଆʹ࣋ͨͤΔͱ͍͏ߟ͑ํɻ w։ൃऀ͸ΑΓϏδωεϩδοΫʹूதͰ͖Δ wӡ༻ΤϯδχΞ͸ΑΓॏཁͳλεΫʹूதͰ͖Δ IUUQTHJUIVCDPNDODGXHTFSWFSMFTTUSFFNBTUFSXIJUFQBQFSTTFSWFSMFTTPWFSWJFX
  8. ݸਓతʹࢥ͏αʔόʔϨεͷར఺  w ΠϕϯτۦಈͳγεςϜઃܭ Amazon S3 AWS Lambda Amazon DynamoDB

    AWS Lambda Amazon S3 ը૾ΞοϓϩʔυΛ ى఺ʹॲཧΛ࣮ߦ DBͷσʔλ௥ՃΛ ى఺ʹॲཧΛ࣮ߦ
  9. ීஈͷۀ຿  ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ w Πϯϑϥɾۀ຿ઃܭ "84ͷΠϯϑϥߏ੒ͷઃܭͱ

    %#ɾ"1*ͳͲͷۀ຿ઃܭΛ·ͱΊ࣮ͯࢪ w ࣮૷ ઃܭͨ͠಺༰ʹԊͬͯϓϩάϥϜͷ࣮૷ Ϣχοτςετɺ&&ςετΛ࣮૷
  10. ։ൃ؀ڥߏங  ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ 5ZQF4DSJQUͰ։ൃ w ZBSOͰύοέʔδ؅ཧ

    w XFCQBDLͰτϥϯεύΠϧόϯυϧ؅ཧ https://dev.classmethod.jp/articles/deploying-lambda-with-webpack-typescript-cdk/
  11. ։ൃ؀ڥ४උ  w֤छϓϥάΠϯͰίʔυࣗಈ੔ܗ΍ ։ൃޮ཰ͷ޲্ ✦ &4-JOU ✦ 1SFUUJFS ✦ (JU)JTUPSZ

    ✦ (JU-FOT ✦ -JWF4IBSF 5ZQF4DSJQU74$PEFͰ։ൃ ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ
  12.  ։ൃͷྲྀΕ(࣮૷) AWS Lambda Amazon API Gateway Amazon DynamoDB -BNCEB

    )BOEMFSɿΠϕϯτ+40/ͷύʔε %PNBJOɿυϝΠϯͷ࣮૷ *OGSBɿ%#΁ͷΞΫηε ྫ͑͹ɺσʔλऔಘ͢Δ"1*ͷ৔߹ ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ
  13.  ։ൃͷྲྀΕ(࣮૷) wϢχοτςετ w&&ςετ AWS Lambda Amazon API Gateway Amazon

    DynamoDB AWS Lambda Amazon API Gateway Amazon DynamoDB ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ
  14.  ։ൃͷྲྀΕ(࣮૷) w&&ςετ &&ςετ͸ϞοΫͰͳ͘؀ڥ͝ͱͷ "84ΞΧ΢ϯτͰ"84αʔϏεؚΊͯߏஙɾ࣮ߦ ɹɹ AWS Cloud ɹɹ AWS

    Cloud ɹɹ AWS Cloud ։ൃ༻؀ڥ εςʔδϯά ؀ڥ ຊ൪؀ڥ ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ
  15.  ։ൃͷྲྀΕ(࣮૷) ɹɹ AWS Cloud ɹɹ AWS Cloud ɹɹ AWS

    Cloud ։ൃ༻؀ڥ εςʔδϯά ؀ڥ ຊ൪؀ڥ AWS CDK ಉҰઃఆͰσϓϩΠ ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ