レガシー化したアプリケーションをAWSを使って3ヶ月で刷新した話

7c5eb8693ec2f2aa4ca83434128ad8d3?s=47 shinta-inoue
February 23, 2019

 レガシー化したアプリケーションをAWSを使って3ヶ月で刷新した話

2年間外注で開発・運用されてきた建設業界マッチングプラットフォーム「SUSTINA」を内製化して3ヶ月で作り替えた話です。JAWS DAYS 2019のX-Tech枠での発表資料。

SUSTINA:https://sustina.me
ユニオンテック株式会社:https://www.union-tec.jp/

7c5eb8693ec2f2aa4ca83434128ad8d3?s=128

shinta-inoue

February 23, 2019
Tweet

Transcript

  1. ().*&$%,/!  ''&$%,+#+#*-#" ().*&$%,/!  ''&$%,+#+#*-#" ().*&$%,/!  ''&$%,+#+#*-#" JAWS

    DAYS 2019 [X-Tech] C8;F016?B:F;AD5 AWS5233E 4 01 @>7D=<9  CTO  
  2. 7JKPLHFGN/Q/4235/A=:>=/@97/7>10/<@81/6II/?HFGNM/?EMELOED1 R $! 2  2014/04 ‹yŒ‚‡Œsz|‘‹yŒ‚xˆ‹r ’  2018/04

    3hv{„re\c‰„w€y  2018/09 CTO 'h aZUmzŽ|gUYch†u}q^belb cWj\_T f +i;BOBdh…yvƒ-S?EBCNdh†Ž‚vƒ -Tt†Šk& .i[poj]T *i-`YdfX"# nlq(%,)\fVm ~ˆ{T shinta.inoue1
  3. !"'#% (        %$

    $#& ) DCM241350*/9.7-+.+,6 7https://jp.techcrunch.com/2019/02/18/union-tec-dcm-billion/
  4.        What is ?

  5.  ¡¦¢žœ¤ˆ§ˆ‹ŒŽˆ™•“–•ˆ˜’ˆ–Š‰ˆ”˜‘ŠˆŸŸˆ—žœ¤£ˆ—›£›¢¥›šŠ © d"€ÝãÜÊæâ ¨ lf4y é '- ] Yusuke

    Okawa 1979/ª,YSÁÆ BFSHOKUNINeZ lR 18L¿½²¾mJU¾„Àwª2/¾Ç¸º»ÍãÑh ½¶»J« 2000/¾P`¶»àØËä TE~\ÈJªmµ .JÈÑÒæÖ«2004/J<'ÈK¾Q\¬àØËäÔÓ ÍH3\­¾!&C« TårqåA.È+z·Å¬UT SPACE­J½¶»[`¶¸¿ ¹ª1rJU¿;°ÅsƒÈpM¶»O8¶»¯³ ¬SUSTINA­È2016/¾`¹µ« 2018/ª1rJU¾±´ÅÛÐÙÑÑÌâ¿ÈX=¶ª\ #NBFSHOKUNINeZÈr`« ¨ l\y é ‚ j7 Youngji Han 1979/ª'|SÁÆ G'('(.(bZ_^1a(*> H3\áÍâæÖßæâÕÊäÎÑ Executive Manager 2005/ªH3\áÍâæÖ¾\¶ªSUUMOJ¼"Jå9 V`IÈd»ª$¿@oJzWÈn?d‡« 2011/ }ª\¿ÎãæÚâ+z¾´ª75¿:uÜÉ ä×r`ç:u30+\ª2Jr`3\è¿¿¹ª†…0c ÏæÛÑåQuandoo GmbH¿tç271èÈ)k« F\¿®ÅÞâáä¾v ¶ªQuandoo GmbH\ç6J ? 380è¾±¯»Managing Director½¶»Q%¼d"T« 2017/6D¾xh5ª/{¿i Èd»ª2018/1DÃÄà ØËäÔÓ;T« h ÎãæÚâ d"g
  6. )*/+'%&-0"!!(( '%&-, $,$+.$# 1 B>CE  7:52 69  

    74DF?;E=<EA@F83 6
  7. ,<=B>:89@$C$)'(*$51/21$4.,$,2&%$04-&$+;;$3:89@?$37?7>A76& D  7 3JNP ENQY[\L SbW^QabUNV]WdP !MHKFOI Platforms 2016.5

    2018.3 (betaaadX) 2000.5 1,000N  7,300 T_RXc#" Nc  GB to B `[ZbUPF C to N `[ZbUPF
  8. ALL IN ONE FOR THE SPACE 2 , . ,

    . 2 9 191 10
  9.       

  10.        10 $BUFHPSZɿ0''*$& %BUF

    1MBDF&CJTV 5PLZP %FTJHOɿ 6OJPOUFD $POTUSVDUJPO6OJPOUFD ! SHIFT $BUFHPSZɿ0''*$& %BUF1MBDF,BNJZBDIP 5PLZP %FTJHOɿ 6OJPOUFD$POTUSVDUJPO6OJPOUFD ! Trenders
  11.  %!#&   #""!$ '

  12. 12 51 c("2# 0 10 20 30 40 50 60

    70 . 6 o   0 9   4 " +  ( '   ;  = & % < : / B2C EC < $ 8  h p j p       g n k i f j m l  5 7 "   ;  =  <    1("c2# q /r ^ 4")d a2*,c("2# FVW\XTRSZ>]>CABD>OKILK>NHF>FL@?>JNG@>EUU>MTRSZY>MQYQX[QP@ ----------- Note: b_`e!-3
  13. >NOTPLJKR6U6;9:<6GCADC6F@>6>D876BF?86=MM6ELJKRQ6EIQIPSIH8 X Vh4(W] %h^fZ[ 13 ----------- Note: Ministry of Land,

    Infrastructure, Transport and Tourism: Z/ 3)0[kl  &#qor 50$h' 90%h&#qor]Y*2h+n-c_m`e g ],Ye.bd\m 70%h']!h]f\Ye.bd\m pstouhjllg1am Vh4(V]5 &# n-c_m hg ], ]"ibd\f\
  14. *:;@<867>"A"'%&("3/-0/"2,*"*0$#".2+$")99"1867>="15=5<?54$ D JGKFHP L!I 14     

    VZT_  !C R[]Q_LMO OKNP ^W`UL atoCb  !B HKNPE \YX_SL  atoBb 
  15.        $%"!#

  16. !1273/-.58*&$'&)#!!'%)" 00(/-.54(,4,36,+ ; 2BEP^VQDHI< >K?<   F E K

    @J 16 PMU⇔  KBC= BtoB YSR]O X[STWN^Z 9  EAGE X[STWN^Z (To B) EAGE LX\X[STWN^Z : _`EAGE X[STWN^Z (To C)
  17.       

  18. ().*&$%,/!  ''&$%,+#+#*-#" 0 SUSTINA@ 1;87>3  7,300 201610==?6 

    4962=:5<>
  19.       

  20. $ "%  "!! # 20 & 2018.3(β558.9'-+2)5*6/+43107,

  21. ().*&$%,/!  ''&$%,+#+#*-#" 134: 21 <CF>J?DGI=GBE;289 30 AJ@; 4:76;3H 635

  22. &',($"#*-%%$"#*)!)!(+!   CH=:@ 22  <8A⇔ 6230 BtoBD?>I; CF?@B9JE

    .  4154 CF?@B9JE (To B) 4154 7CGCF?@B9JE / KL4154 CF?@B9JE (To C)
  23. !"'#% (        %$

    $#& 2016)+*13-1/.,0 23
  24. " #       ! &$'%…

    24  .28 • 4 0 • 0 91
  25. -=>C?;9:A%D%*()+%62032%5/-%-3'&%15.'%,<<%4;9:A@%48@8?B87'  25 1. #RW QE PF !INSRE[`\ 2. 

    1000GMW P KXNZ_]^ ※ GEQEON"PTRH$RRLPHUSYV!INJQG
  26.  %!#&   #""!$ ),.-+*'( 26

  27.  %!#&   #""!$ /:7 27 1.:7),36.:0489-825+ ('*

  28. &',($"#*-%%$"#*)!)!(+!  6 125201/.3 28 1.   2. 4

    
  29. &',($"#*-%%$"#*)!)!(+!  6 125201/.3 29 1.   2. 4

    
  30.        $"%#!& 30

  31. " #       ! 7-96+=

    31 React + Redux2SPA5,1$Next.js2SSR2)<:'5,1$ PHP72API/1$&&-5AWS2?B@A0*<(% 4>4;k8s3(/18.&…
  32. ().*&$%,/!  ''&$%,+#+#*-#" E:GD8L 32 React + Redux@SPAC9?0Next.js@SSR@6KI3C9?0 PHP7@API=?022:CAWS@OYVW>7K41 BMBJk8sA4=?F<2…

    5 4>0 ;KHD57 H J4BQZUZPYSTNXYR +
  33. !"'#% (        %$

    $#& 1<9 33 30<9+.580<26:;/:47- *), 
  34. +,1-)'(/2$ ! #!#**")'(/."&.&-0&%  79 bH[]&CIc 34 n PHP=TZGKU7<49FW n

    ZGI^:5= ?AWS F =3YNXO_NRK @?=4E n Z_`UJ`VABlade, jQuery, Sass=M`[^? n 6;DCTZGKUOP`QaV> L`SW  n I`Z\FL`SW73ECS= T[_I8E9B?
  35. %56;73129<" !#.*(+*-'%%+)-&$44,31298,0807:0/ CE dUb`ae 35 + n Wb[]KTAWSJDR n >=HBSJ

    L >I=? FAKY_c\L_VUZ n EC2PQO@ d  e n HJ>@= n KMG n LN dXc^YKGe
  36. 0162.,-47)%#&%("  &$(!//'.,-43'+3+25+*  := Y<DZ 36 Amazon SES Amazon

    S3 Amazon EC2 Amazon ElastiCache Amazon CloudFront n EC2E D AQXODNLVURI;=FC  n  CBDMXSNGMLPA :?8 LaravelDTJKWI ;H>9@ 
  37. '78=9534;>$"#%0,*-,/)''-! +/(!&66.534;:.2:29<21! O 37 1KXa]^ODc ※BI3PCodeBuildKO__bZ]`bNAQFHD?  JenkinsVGUELN…RS c ※

    S PY`Y`VCMDT]W[\GU SOV FJAQFH@
  38. &',($"#*-%%$"#*)!)!(+!  6 125201/.3 38 1.   2. 4

    
  39. !"'#% (        %$

    $#& 1<9 39 30<9+.580<26:;/:47- *), 
  40. 34950./7:)%#&%("  &$(!22'0./76'-6-58-, O 40 jsd\aO jsd\aOyjsd\aORAGBzPiterd\wjsd\aNSJKDWH; =WK@VbifZ[Yku`[\fQOP;ku`[\fXDTNTFVICL ?V>M@A;bifZ[YOku`[\flh`ovfNEVL?V< www

    O P;cxnO^mpg]x_qv^afX DFV< *0104-,0+SU 
  41. "#($ & )       !!

     &% %$' 1,+/ 41 *-0 .
  42. +,1-)'(/2$ ! #!#**")'(/."&.&-0&% 54 42  - 6@C9F:AE3 - 7E?B

    DB - =F;    - @D<8>3 -  3 Senior Engineer Engineer CTO
  43. $ "%  "!! # '& 43

  44. *+0,(&'.1# " "))!(&'.-!%-%,/%$ 201811 ;: @7220191 30 :GGJBK 44 n

    HBDIBCAF5 4> EG :  n <968?=3:
  45. (89>:645< ? %#$& 1-+.- 0*( (."! ,0)" '77 /645<; /3;3:=32"

    VPW 45 1.  • EY\J_^RB • AWSRQTegbcdahfSI[ 2. T • _[ • _[ •  _[ ※ XL]` UG\KFOUAZVI`@KMJGP_HNDCHVHJ@
  46. )*/+'%&-0"!!(( '%&-, $,$+.$# 46 ERHKBU GTLTSBNPSMQRJSDRMO@6 51: 9 ?A 481=5

    =6;FMCI9<9 8>82731U https://www.wantedly.com/projects/284862
  47. !"       JAWS DAYS 2019

    '#-&+%'($,)*.