入社半年での開発ストーリー - 千人規模の顔認証受付サービスを 1ヶ月で作った話 - / Dev Summit 2019

入社半年での開発ストーリー - 千人規模の顔認証受付サービスを 1ヶ月で作った話 - / Dev Summit 2019

2018年4月にAWSに新卒入社した5人が、10月に開催された社内イベント向けに顔認証受付サービスを作るまでのストーリー。少人数のチームがAmazon流Working Backwardsを着眼点としたPR/FAQを書いて短期決戦のプロジェクトに立ち上がるまでのいきさつ、1回限りの本番運用を成功させるため各チームと連携しながら短期間でどのように開発を進めたか、セキュリティ・コンプライアンスに準拠するための苦労とアーキテクチャ、などについて話します。

https://event.shoeisha.jp/devsumi/20190214/session/1948/

5c772b62f1974e9da3a88fbb4ef02696?s=128

Yoshitaka Haribara

February 14, 2019
Tweet

Transcript

  1. 1.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved.    -   1  -           !  2019.02.14 [14-C-5] 14:10 – 14:55
  2. 2.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. (&5% “” SA %/3=;=" • 20184 )80< *+7 -=6/ (AWS) Japan $ • # !'  (5$3& ) Name: Like: 2      4:9 ,.+13  25/ 
  3. 3.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Introduction    3
  4. 4.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved.   4 Tech-U !$#"  %  
  5. 5.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved.  $ … 5  !$'("&   % (!#
  6. 6.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 6" 6 +*.(,.5%  # 6 1 '&)- $! Starbucks !?
  7. 7.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved.   7 Photo by MILKOVÍ on Unsplash
  8. 8.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. 8 Amazon GO
  9. 9.
  10. 10.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved.    AWS DeepLens  10 AWS IoT Greengrass Lambda function    
  11. 11.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Capstone:   11 Photo by Jeremy Bishop on Unsplash
  12. 12.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Capstone Project Simple Location Finder 12
  13. 13.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 0%.$1, • 2 pager )/32?8DBG>4 & • PR/FAQ () - • 5H8=9<C+* • . - '&7A6;(- #:H@;4( • 7A6;, • AEH5?F;,+'&-(!*",2  2:H@;! #) ! 13
  14. 14.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Simple Location Finder (Architecture) 14 SAs DeviceService bucket with objects Lambda function Amazon Rekognition RecognitionService Amazon API Gateway DataService Frontend Amazon DynamoDB Office/17F/West Amazon DynamoDB Data lake Web Hosting Vue.js Amazon Cognito SAs Office/17F/North SAs Office/17F/East
  15. 15.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved.   ! • 5 $%! ($"#7) 15  4.86  4.86  4.43
  16. 16.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 912 … • 10 '/ Amazon/AWS 39;7( • 39;7'!/' Wow! % #$*-/,&2  " • (8:6457 .)!<%10+."% 16
  17. 17.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Face Recognition Gate 10  17
  18. 18.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Invent and Simplify 18    !"       Invent and Simplify
  19. 19.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. " % 19 ).1-! 12  +*/0,( (+*/0,( AWS  ) 5&%3 #' $
  20. 20.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved.   • PR/FAQ • Press Release +  • $%" #!!%   •  (Amazon GuardDuty Press release) • " •  •  20
  21. 21.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. PR/FAQ ('$) Press Release (PR) • 10F!S]_Z:FVa\W3%9`# EC8M • 1+*D2!*F (() PO>?2'%+* •  /G!*F C&5M FAQ • ,7AB4M6b • 5F Tech-U ^_[a • YaXG<NM6b • 1 G<NH>Q • S]_ZFYaXF 4Gb • *-"F?IF.)/@:=2LFYaXG AWS RUT_Z;D 0 • FCC8M6b • !*EKMJ 21
  22. 22.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Design      22
  23. 23.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon Rekognition - Deep Learning 6$( API 9C=: - SearchFacesByImage API +!*(-(2. FaceID 6'4 6 " - #%&( /  / RTT + 500 ms 1, (: -34) )*(.+! Rekognition -508>B<+@7A;8?.%  23 Amazon Rekognition
  24. 24.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Rekognition "*!$ 24 #&&+)*!   (1(*) "#)+) Rekognition "*  $  '#-,.+ %
  25. 25.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved.  ! - ''API '  - %" " - "& ($((  ) - USB #% - %  25
  26. 27.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved.    27    WAIT STOP Camera 50 cm 180 cm  2 !
  27. 28.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. !$7 - Rekognition 1 500 ms - #;7+ 1 (2) .9 99% 73 A>*% (= 91) D - 1: Face Model 7GMFIK6>128 C@:-(( 7 v3 37D=46 ) - 2: $+&?B2)//< 5)EKHJ373-( L6>12"5%8 ,:-( 28 0 ' WAIT STOP
  28. 29.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. "!# • UI/UX  •   •   •    29
  29. 30.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Our Architecture Secure, Scalable Serverless AI Application 30
  30. 31.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Display AWS Cloud 31 Overall Architecture Edge Device NG OK   User Name   Lambda function Amazon DynamoDB Amazon Rekognition Amazon CloudWatch AWS CloudTrail  +  S3 Bucket S3 Bucket API  Archive AWS Cloud USB  Temporary security credential FaceID
  31. 32.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Display AWS Cloud 32 Overall Architecture () Edge Device NG OK   User Name   Amazon CloudWatch AWS CloudTrail S3 Bucket API  Archive AWS Cloud USB  Temporary security credential FaceID Lambda function Amazon DynamoDB Amazon Rekognition  +  S3 Bucket
  32. 33.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon CloudWatch AWS CloudTrail AWS Cloud 33 Overall Architecture () S3 Bucket API  Archive AWS Cloud Lambda function S3 Bucket Display Edge Device NG OK   User Name   USB  Temporary security credential FaceID Amazon DynamoDB Amazon Rekognition
  33. 34.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. USB    Display AWS Cloud 34 Overall Architecture () Edge Device NG OK User Name   Lambda function Amazon DynamoDB Amazon Rekognition S3 Bucket FaceID Amazon CloudWatch AWS CloudTrail S3 Bucket API  Archive AWS Cloud Temporary security credential
  34. 35.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 35 Overall Architecture () Archive AWS Cloud
  35. 36.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Display AWS Cloud 36 Overall Architecture Edge Device NG OK   User Name   Lambda function Amazon DynamoDB Amazon Rekognition Amazon CloudWatch AWS CloudTrail S3 Bucket S3 Bucket API  Archive AWS Cloud USB  Temporary security credential FaceID  + 
  36. 37.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Demo Demo Video 37
  37. 39.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Guideline Security and Compliance 39
  38. 40.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved.  AWS   Develop  • IAM   • Dev power user ( ) • IAM  • Client role () • Admin role ( ) • Rekognition •  + 5 • CodeCommit  Production  • IAM  • Client role • Admin role • Rekognition •  40 Staging  • IAM  • Client role • Admin role • Rekognition •  + 5
  39. 41.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. .+450)#  41  "( *3)-2/167,&# IP  (VPN ) #% $" # !' 2 API      
  40. 42.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 9@)1 • S3, DynamoDB AL^T^LKS • TTL J83/':=* < 0 • $-!@ %],+!@"A8>4 • Rekognition image B@ "A(Q^O=8;!4GI>4 (2018.10.17  ) • L^UNP^X (Rekognition .#P^X) ?&, • Z^MY\@DJ! • Q^O6Z^MY\?@DIH • Rekognition API @[NW\N/J • L^T^[N?FH24! • Z^MY\6CHF5>AKV\R69E9E.7I>4 42
  41. 43.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. !# • ( •  !$*. (  • #& ,) "' %* %' -%+ 43 إೝূήʔτͰ͸ ࡱӨΛߦ͍·͢ • ࡱӨ͞ΕΔ͜ͱΛ๬·ͳ͍ํ͸ όοδήʔτʹ͓ฒͼ͍ͩ͘͞ • ࡱӨ͞Εͨը૾͸ɺإೝূͷ໨తʹͷΈ ࢖༻͞Ε·͢ • ࡱӨ͞Εͨը૾͸ɺήʔτ௨աޙ଎΍͔ ʹ࡟আ͞Ε·͢ إೝূ ήʔτ όοδ ήʔτ όοδ ήʔτ όοδΛ͝४උͷ্ ྻʹ͓ฒͼ͍ͩ͘͞
  42. 44.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Results    44
  43. 45.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Rekognition '$) - ! (+  - # ~ 500 ms - $ Wi-Fi ~ 700 ms -  120 px & * "%) 45 (Order=2)
  44. 46.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. =G@&'( - : 2" /  - : 3.38 " /  - BG<(6 - %$514/21657-4# : - A?@FG< ( E<:>@( ) -  6 (E@D9 ) - *6 (!) - C;A43 46 C;A .8 ,+40 ) (Face Model v3)
  45. 47.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved.  47    $20  Rekognition ($15), KMS ($2), CloudTrail ($2), etc…
  46. 48.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved.   48 5 4.53
  47. 50.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. '$( 50 Working Backwards  /150/. -#& AWS .$ /150/. !"+ #3864#- &427)  % *,$& 
  48. 51.