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

技術基盤/SREの視点で取り組む、サービスの成長を継続し、加速させるためのPHPアプリケーション改善

 技術基盤/SREの視点で取り組む、サービスの成長を継続し、加速させるためのPHPアプリケーション改善

922f51d458d6ffee8578b9d3ab0a52b6?s=128

Arakaki Yuji

October 12, 2019
Tweet

More Decks by Arakaki Yuji

Other Decks in Programming

Transcript

  1. ©Payke, Inc.All rights reserved. #-(/SRE.' *"0 +,/  PHP 

    $ & ) Payke #-( %1!
  2. ©Payke, Inc.All rights reserved. 2 6)4% • /' 9- (

     ) • Twitter: @arakaji • 0,&3Payke • .7(2" • ! • CODEBASE & Lagoon  !"8* • Java Kueche • JAZUG 15 ($+# :;
  3. ©Payke, Inc.All rights reserved. 3 .YN` N` .Y6 LF.YPayke bZ

    2014D11I26H -_4\G 5T Af )M/B aH>;+7# %  PaykelW$g: / Sd$98lW#! #   OKINAWA OFFICEnJYo 904-0115 P]X2cU^Q1-2-15 TOKYO OFFICE 107-0052 K*jR3e<1-9-13 &.=!4F OSAKA OFFICE 541-0042 ?mE?mC(@3,O2-3-16 THE LINKS KITAHAMA/ Forbes 30 Under 30 Asia 2019 #%% "%ik h0 H[ 2019D2I4H 'V1HJ+ 50+ h0
  4. ©Payke, Inc.All rights reserved. 4 Payke$ Payke 47/. && 

    % /.81 3EHCA G:20)-"%&$ $=D 47/.9 35 '/.*( BF!&&9 400 ')*( AppStore#%% ,?I> 1 + 201752<6;@ 201958<6;@
  5. ©Payke, Inc.All rights reserved. 

  6. ©Payke, Inc.All rights reserved. 6 - • Payke=J:B;6 • 02F1

    • $+.',. PHP".)- & • )%(.:B5@D • & (LC/EK3 /E?O8 .!.* • .#GHA>9 <N7M  4I 
  7. ©Payke, Inc.All rights reserved. Payke  

  8. ©Payke, Inc.All rights reserved. 8 Payke G5<> • 3 

    "  • B$G5 • 0E0E )(B$G5@ • *A%7 • CTO' (E?2,6 F/68= *A6DHC3 • 9:G5 • CTO' (Payke + !.&# -41;
  9. ©Payke, Inc.All rights reserved. 9 Payke G5<> • 3 

    "  • B$G5 • 0E0E )(B$G5@ • *A%7 • CTO' (E?2,6 F/68= *A6DHC3 • 9:G5 • CTO' (Payke + !.&# -41;
  10. ©Payke, Inc.All rights reserved. 1 XdN`/B9^!q • Payke)B5,Wl"Kk  eMn_kU

     •  LT1TH"fg\  !ipP • 70*;ja[V]#&-,O"QR Y,(B=5>1$bF 46%B8A,/;B2A' • PHP6?B9@B&3B+<A#07 • PHP 5.6c • :2.>A'DJZG • etc • eMn_/B9"Io Chip"g\ Sm/B9" E
  11. ©Payke, Inc.All rights reserved. 1  

  12. ©Payke, Inc.All rights reserved.   PHP 

  13. ©Payke, Inc.All rights reserved. /6:27:&9PHP.:(48#*0BP • 2018@9DCHPHP.:(485.6 • @F5.6M)%35+$:#*0,:-ER> ;!

     • <ANOLQK"O PHP.:(48#*0BS IG •  ?J /6:27:&FuelPHP.:(481.7M • 1.7MPHP7M'1:- 7"=1.8#*0, :-BP
  14. ©Payke, Inc.All rights reserved. +6-A.e  • 5>A7?A$+6-A. → PHP+6-A.j

    • +6-A.WRb BC& @ • 2A(;@hPI#9+*+62A(;@+6 \U `QKX • :1+.,).Hg3)  • &A4)K  !<Ac`Q(,).%A) F) • fVSD8@2A+6-A.OTMJ • &A4)[^iLE'0=",).%A)FV()6>+/'A.) • aN,). • !<A_] +6-A.WRdY GZ
  15. ©Payke, Inc.All rights reserved. 3,   9 • FuelPHP1.81

     → 22+% • PHP 7.21 → 21+% •  () •  $' # •  &6*804 • PHP7.21 -5 ! 7/".#
  16. ©Payke, Inc.All rights reserved. 

  17. ©Payke, Inc.All rights reserved.  (62#4:<NVGZd • Payke&:/:&".PHPc?L=OK` JC =ODY

    )%(4:7;W NV  • MySQLschdules-:28 DY K` JC  (62 T^ • )%(4:7Q39*)schedules [DYK`M+)$ [DY ;W • 5:':!$*)B(62T^B9,$FSP bE >A • 9,$F @] (62DY)1:.1U1@aR • &:0)I_)%(4:7HX\
  18. ©Payke, Inc.All rights reserved.  /*.57ADF  • ! .50()5+4!'#

     /*9?=F / * • 4&CJ?-52I6 • <;GEAPI: 3%5"@H • ! .50 89?=F /*> /*.5!$, AD • AzureQueue StorageB /*.50*01 • https://github.com/Arakaki-Yuji/backjob
  19. ©Payke, Inc.All rights reserved. HC  • Azure Queue Storage*("3)

     1(" %/,K9: 7 J • %/,6E 24 4-1'&= 1GM6E %/, B= 5;I • $4+&AL%/,!.4<F • &#%.401("@N?>D A8
  20. ©Payke, Inc.All rights reserved.    

  21. ©Payke, Inc.All rights reserved. /,'4ka=cjB\e":-(%:8 Qiq • ?DPayke5:&:@R)$39-M /,'4kajB 

    \emIb^_oLh] • jB1+9U /,'4ka jB >[ • /,'4kaYkNYWC #)( Z/,'4kajBV PTgK` ldFGjBYnG!9.6(%:79 $f • ?;Hp  • OXX< /,'4kajB  • AX!09-Gj • 5:&:+!2*:9Gj • SE(%:79$ TgK`Yn J 
  22. ©Payke, Inc.All rights reserved. *$ /TM9NS<GP 5'!51U W • PaykeFKIB

     Azure=J  • PaykeF;VM7 +!' • Application Gateway L725()035>HVO • Payke3(.&(Payke 0-)Azure Web App7 +!' •  D? :8!51'4$*  • Application Gateway" 3!'51E • VME • Azure Web App3!#3!E •  AzureCLI%51 az ,3( 6L RCAP  Q?@
  23. ©Payke, Inc.All rights reserved. (&")D>/?C1:@.'$!.,EH • ;(&")D>/?C1:@4B • 9G63 %$

    4A$!#).*0 • (&")D>/? $!#).*/?9G%$ <F 9G$!#).*%$ 4A(&")D>C1  • $!#).*2= 571~284B-++.$A 
  24. ©Payke, Inc.All rights reserved. %!'B<-=A.8> ," ,)C F • 9Payke/+$(

    ,)"  16 Web API 4? • API3 %!'B<-=7E A.5:D2A. % !'B<7E0,#, ,)"  16 * &+ @  •  ," ,)4; 
  25. ©Payke, Inc.All rights reserved. 3,*6aX=[`BS^%<.+(<9 bd • '7$/ZVW)<1 YCronDWeb API

    F • :+4;+]R+(<9"$. ON >E@ +(<9"$.W+'83.#;27 +(<9"$. • :+4;+]R0<59#;27 +(<9#; +'8 3. K_ CM • )<1IQTL(0<59 or +(<9"$.) -&+.2!#9AJ Web API]R H ?  •  \G • 3,*6aX=[`B • `BPcG#;27%<.+(<9 KU
  26. ©Payke, Inc.All rights reserved. %" 'NC,DM/=G+#!+) E; P • %"

    'NC0 *$(J9.<6I2AO8 • %" 'NC74F6I2ABK?L%" 'NC#(    • %" 'NCM/5 ><@  • 1:H&*#3 %" 'NC -:.<M/  
  27. ©Payke, Inc.All rights reserved.    

  28. ©Payke, Inc.All rights reserved. NFfqg%ly;4A72,%yk" • ^vPpV8.7/%`"NFf}]Y •  #8.7/%J

    u  • NFf} K"qg(&,3'9?D-DaTt&*(C4a)w O~nBD5<2:%ly#!qg%|\"E^vo;4A72 ,"s]%X K;4A72,%yi" h!#" • )C.6& U =0C~nmQ,@(5^v%I&D +3,1>Rc#$  • ^vPpjMHr !x _{jMZ"_{WLe %G lyKd"[zb " SF
  29. ©Payke, Inc.All rights reserved. ;FK?HK*JPHP%3<5K6SR • PHP5.61)BE4&@I47I/q#" ! PHP5.6$ Nn

    ! xUpWZt ,K:/mn  ! E/*$] ! • Lawkb `,K:/\Ud"!;'K0 "$_ !(I.8%^h MQ!(I.8%Q n  Lxs • 1)BE4&@I47I/q#"9K.CI<G+D>I+u v$N A2=K-CIyifgZU X}!^h {ozcM9K.CI%3<$! |VU OP ! • mnjyieT$  [Yrl
  30. ©Payke, Inc.All rights reserved. "2+07<LS?> • /)5,4G[PM XA &+17!7H;W J@#"073FT8\C

    KO • FT8\ 7*#]B 17!7ND .7&6 $5ZU9YG[-'5(%=TF^  • FT8\RQ I "2+07:EV
  31. ©Payke, Inc.All rights reserved. %!'YP/QX6 -#-+@; • %!'YP]Z ,$*UH3KI\ FS?OI\><=

    W • (--",),LD . %!'YPX6^BX6  &,J[:ET • /QX6 -#-+AM   • FS?O257N8 10VC    • %!'YPX6R9: ?OG4
  32. ©Payke, Inc.All rights reserved. ".*% CDA;3 7J 2I  •

    F1#%',:=6L? >H  • *$)%8@/7JB< >H   F1#%',L?+(-) &!5E • 9G".*%7J K4  2I 0 E
  33. None