ãªã¯ã«ãŒãã®å€§èŠæš¡ã»é·æéçšãããã¯ããæ¯ããã¢ãŒããã¯ãã£ã»SREããŒã ã®åãçµã¿ââRECRUIT TECH MEETUP #2
ãã¿ãŠã³ã¯ãŒã¯ãããããããããããããããŒã°ã«ã¡ãããããããããŒãã¥ãŒãã£ãŒããªã©ããªã¯ã«ãŒããéå¶ããå€§èŠæš¡ãã€ãé·æã§ãµãŒãã¹ãæäŸãã€ã¥ãããããã¯ãã¯å€ãããããªã¯ã«ãŒãå ã«ãããããã¯ãããµãŒãã¹å ±éã®èª²é¡ã«åãçµãRECRUIT TECH MEETUP #2ã§ã¯ãã¿ãŠã³ã¯ãŒã¯ãšãããããããŒã°ã«ã¡ã«ãããã¢ãŒããã¯ãã£ãSREããŒã ã®åãçµã¿ã玹ä»ãããã¢ãŒã«ã€ãåç»
â ç»å£è ãããã£ãŒã«

æ ªåŒäŒç€Ÿãªã¯ã«ãŒãããããã¯ãçµ±æ¬æ¬éš
HRã¢ãŒããã¯ãã°ã«ãŒãã西æ ç¥æš¹æ°
2019幎ãªã¯ã«ãŒãå
¥ç€Ÿã å
¥ç€ŸåŸã¯ã¿ãŠã³ã¯ãŒã¯ã®ã¢ãŒããã¯ãã£æ¹åãªã©ã«åŸäºããçŸåšã¯ã¿ãŠã³ã¯ãŒã¯ãå§ããšããã¢ã«ãã€ãã»ããŒãç³»ã¡ãã£ã¢ã®ã·ã¹ãã ã¢ãŒããã¯ããšããŠæŽ»åã

æ ªåŒäŒç€Ÿãªã¯ã«ãŒãããããã¯ãçµ±æ¬æ¬éš
ãããã¯ãã£ããã£ãšã³ãžãã¢ãªã³ã°ã°ã«ãŒããææº é£å€®æ°
2015幎ãªã¯ã«ãŒãã«æ°åå
¥ç€Ÿãã瀟å
åããã°åéåºç€ã®æ§ç¯ã»éçšã«åŸäºã2019幎ãããããããããŒã°ã«ã¡ã®SREããŒã ãªãŒããŒãšããŠãã€ã³ãã©ã®æ§ç¯ãéçšæ¹åã®æšé²ãæ
åœã
ãã¿ãŠã³ã¯ãŒã¯ã®äºäŸãã¢ãŒããã¯ããèããã·ã¹ãã æ¹åãç¶ç¶ããå¿åŸ
ãŸãã¯è¥¿æç¥æš¹æ°ãç»å£ãããªã¯ã«ãŒãã°ã«ãŒããæäŸãããµãŒãã¹ããèªèº«ãæå±ããã°ã«ãŒãã«ã€ããŠç޹ä»ããã
ãSUUMOããããããããŒãšãã£ã販ä¿é åããªã¯ãããã¿ãŠã³ã¯ãŒã¯ãªã©ã®äººæé åããªã¯ã«ãŒãã°ã«ãŒãã§ã¯ç§ãã¡ã®ç掻ã«éŠŽæã¿æ·±ãã2ã€ã®å€§ããªé åã§ãµãŒãã¹ãæäŸããŠããŸããïŒè¥¿ææ°ïŒ

äžèšã«æãããµãŒãã¹ã®å€ãã10幎以äžéçšãããŠãããæä»£ã®æµããšå ±ã«çŽåªäœããWebãã¢ããªãžãšãµãŒãã¹ã®ããã¡ãå€ããŠããŠããã®ãç¹åŸŽã ãããªãŒããŒããŒã®æ±äººæ å ±èªãšããŠãã¿ãŠã³ã¯ãŒã¯ãçºåãããã®ã¯1998幎ã10幎ã©ããã25幎è¿ãç¶ããµãŒãã¹ã§ãããçŸåšã¯Webãå±éããŠããã
ã¿ãŠã³ã¯ãŒã¯ Webã®æ²èŒæ±äººæ°ã¯æ°åäžä»¶ãšèšå€§ã ãæéãã©ãã£ãã¯æ°ã¯çŽæ°åã¢ã¯ã»ã¹ã1ç§éã§ã¯æ°çŸã¢ã¯ã»ã¹ã«ãããã¶ãããããã©ãã«ãçºçããŠæ°ç§æ¢ãŸã£ãã ãã§ãå€ãã®å©çšè ã«è¿·æããããŠããŸãããšãè¥¿ææ°ã¯æè¡è ãšããŠã®çæãšè²¬ä»»æãèªãã
å©çšè æ°ãèšå€§ã§ããããããµãŒãã¹ãæ¯ããã·ã¹ãã èŠæš¡ãåœç¶ãªããèšå€§ãªãã®ãšãªãããã®ã·ã¹ãã ãæ¯ããŠããã®ããè¥¿ææ°ãæå±ããã¢ãŒããã¯ãã°ã«ãŒãã ã
ãæã ã®åœ¹å²ãäžèšã§èª¬æãããšãããžãã¹èŠæš¡ã®å€§ããªã·ã¹ãã ã«ããããæè¡é£åºŠã®é«ã課é¡ã«åãçµãã§ããã°ã«ãŒããšèšããŸããïŒè¥¿ææ°ïŒ
è¥¿ææ°ã¯ããã«ãã¿ãŠã³ã¯ãŒã¯ã«ãããæè¡èª²é¡ã解決ããäºäŸã«ã€ããŠè©³ãã玹ä»ããŠãã£ãã
ã¿ãŠã³ã¯ãŒã¯ã®ã·ã¹ãã ã»éçºç°å¢ã«ãããŠã¯ã倧ããåããŠä»¥äžã®èª²é¡ããã£ãã
ã»CIãµãŒããŒ(Jenkins)ãç©çãã·ã³äžã«ãããåäœãäžå®å®ã®ããæåã§åå®è¡ããŠãã
ã»èªåãã¹ããšæåãã¹ããåæã«è¡ããªã
ã»ãã¹ãç°å¢ã2ã€ãããªãã倧忡件ãšäžŠè¡ããŠå®æœãããªã©ã調æŽã³ã¹ããããã
ãCIãµãŒããŒããªã³ãã¬ã«ããã°åäœã¯å®å®ããã ãããåœåã¯ãã®ãããªè§£æ±ºæ¹æ³ãèããŠããŸããããããããããããªãCIãµãŒããŒãç©çãã·ã³äžã«èšçœ®ããã®ããèªåãã¹ãå°å ¥æã«ãããèæ¯ããæ¹ããŠæ·±å ãããããšã«ããŸãããïŒè¥¿ææ°ïŒ
ãããšãCIå°çšç°å¢ã®è¿œå ã«ã¯åææ§ç¯ã調æŽãã©ã³ãã³ã°ã³ã¹ããªã©ãå¿ èŠã§ãåœæã¯CIå°å ¥ã®ããã ãã«ãããŸã§ã§ããªãã£ããšããèæ¯ãèŠããŠãããããã«ããç©çãã·ã³äžã§CIãµãŒããŒãæ§ç¯ããçµæãèªåãã¡ã®éŠãç· ããŠããã
èŠç¹ãå€ãããšCIå°å ¥ã«ãã£ãŠéçšã楜ã«ããã€ãããå¥ã®åé¡ãåŒãèµ·ãããŠãããšããããšã«ãªãããã®ç¶æ³ã«å¯ŸããŠéçºç°å¢ã®æ ¹æ¬æ¹åã®ããã«ãéçºè ãèªç±ã«æ±ããåºç€ã®æ§ç¯ãå¿ èŠãšèããã

ããã¯è¥¿ææ°ãã»ãã·ã§ã³äžã«äœåºŠãç¹°ãè¿ã匷調ããã¡ãã»ãŒãžã§ããããåã«æ°ããæè¡ãå°å ¥ããããšãç®çã§ã¯ãªããã¢ãŒããã¯ãã°ã«ãŒãã®åœ¹å²ã¯ã課é¡è§£æ±ºãã¡ã€ã³ã§ããããã®ããã«ã¯ãéçºè ã®æå³ãæ·±å ãããããšãéèŠã ã
ãã®ãããªèãããã¿ãŠã³ã¯ãŒã¯ã®å Žåã¯ã¯ã©ãŠãã«çç®ããæ°ããªã·ã¹ãã ã«å·æ°ããããšãç®æããã
ãããã²ãšã€éèŠãªããšã¯çŸç¶ãææ¡ããã©ã®ã¹ã³ãŒãã«æ³šåãã¹ãããã€ãŸããã¹ã³ãŒããçµãããšã§ããïŒè¥¿ææ°ïŒ

æ¬äºäŸã®äž»ãªç®çã¯ãèªåãã¹ãã§ã¯éçºäžã®ãœãŒã¹ã³ãŒãã®ãã°ã¬ãŒãïŒdegradeïŒç¢ºèªã§ãã£ããäžæ¹ãæåãã¹ãã§ã¯UIãç»é¢åŽã®éçºãäž»ã ã£ããããã§åè ã§ã¯éçºã³ãŒãã®åäœç¢ºèªããåŸè ã§ã¯Webã¢ããªã±ãŒã·ã§ã³ãåãç°å¢ã«éãã眮ãããšã«ãããéã«ãã€ã³ãã©éšåã®åçŸããããã®åäœç¢ºèªãªã©ã¯ã¹ã³ãŒã察象å€ãšããã
ç®æãã¹ãã·ã¹ãã ãã€ã¡ãŒãžã§ããåŸã¯ãæ€èšŒãè¡ã£ããå ·äœçã«ã¯ããããŸã§ã®ãªã³ãã¬ç°å¢ããã¯ã©ãŠãã«ç§»è¡ããŠåããã©ãããã¿ãŠã³ã¯ãŒã¯Webãåããããã«ã¯ã以äžã®ã¹ã©ã€ãã®ããã«å€§ãã4ã€ã®èŠçŽ ãå¿ èŠã§ãããããããæ€èšŒãé²ããŠãã£ãã
ããŸãã¯ãã³ã³ããåãé²ããŸãããApacheãTomcatã¯ããã«äœæã§ããŸããããããŒã¿ããŒã¹ã«ããèŠåŽããŸããããã çµæãšããŠ4èŠçŽ ãšããããŒã«ã«ãã·ã³ã§Docker Composeã§èµ·åããåäœã確èªã§ããŸãããïŒè¥¿ææ°ïŒ

ç¶ããŠã¯ãç°å¢ã®è€è£œãå¯èœãã«ã€ããŠãæ€èšŒããããã¡ãã¯ãKubernetesã§å®çŸãã¹ã©ã€ãã©ããããµããã¡ã€ã³ã§å©çšç°å¢ãåãæ¿ããæ§æãšããã
ãŸãå®çŸãããã€ã¡ãŒãžãããããããã«æ²¿ã£ãæ€èšŒãé²ããŠããããšãéèŠã ãšè¥¿ææ°ã¯åŒ·èª¿ããããã®çµæãå®çŸå¯èœãšããæ€èšŒã®ææãåŸãã

ç¶ããŠã¯ã¯ã©ãŠãäžã§ã®åäœæ€èšŒã ãGCPã«ã¯ãKubernetesãæ§ç¯ãããããŒãžããµãŒãã¹ãšããŠGKEïŒGoogle Kubernetes EngineïŒãçšæãããŠãããããåã·ã¹ãã ãå°å ¥ããã°åé¡ãªãããšã¯æçœã§ãã£ãããããè¥¿ææ°ã¯ãããã§ãããäžæ©èžã¿èŸŒãã§èããã
ãGCPãå©çšããã«ã¯åŒç€Ÿã®ã«ãŒã«ãšããŠãå©çšè ãããããã¢ã«ãŠã³ããååŸããå¿ èŠããããŸãããã€ãŸããåœåã®æ¡ã ãšéçºè å šå¡ã«ã¢ã«ãŠã³ããçºè¡ããå¿ èŠããããæéãã³ã¹ãããããã ãããšãããã§ãçºæ³ãå€ããŸãããïŒè¥¿ææ°ïŒ

端çã«èª¬æããã°ãã¹ã³ãŒããçµã£ããšèšããã ããããšããã®ããéçºè ããããŸã§ã®ãªã³ãã¬ã§çç®ããŠããã®ã¯ãã¿ãŒããã«ã§ã®ãã°ç¢ºèªãDBã¢ã¯ã»ã¹ãšãã£ãåäœç¢ºèªã§ããã忥åã§ããã°KubernetesWebUIããã·ã¥ããŒãã§å¯èœã§ãã£ãããã ã
ããšã¯æ€èšŒçµæãå®éã«æ§ç¯ããéçšãéå§ããã ãã§ããããã¹ãã®èªååã§ã¯ãä»ã®ãµãŒãã¹ã§æåäºäŸã®ãã£ãConcourse CIãæ¡çšããå®çŸã¯éè¿ã§ãã£ããè¥¿ææ°ã¯åã³ããããªãæ·±å ããè¡ãã
ãããããèªååãç°¡åã«æããŠãããã®ãªã®ããšããããŸã§ã®çµéšããæããŠããŸãããå ·äœçã«ã¯æéã®çµéãšå ±ã«ãèªååãæ¢ãŸã£ãããéçšçŸå Žãæ··ä¹±ãããããåé¡ãèµ·ããå¯èœæ§ããããŸããããããåé¡ãèµ·ããªãããã«ãéçšãèžãŸããåæã®å·¥å€«ã倧äºã ãšèããŠããŸããïŒè¥¿ææ°ïŒ
âèªååã¹ãããã«ãããŠå®æœãã4ç¹
1ïŒãããã鲿¢ïŒçŸå Žéçºã¡ã³ããŒããæ©æã®FBãããã
2ïŒå¯éçã«é²ããïŒææªæšãŠãŠããããšå²ãåã£ãŠåãçµã
3ïŒå±äººåã®è»œæžïŒç¹å®ã®äººã ãã¯å
šãŠãææ¡ããç¶æ³ãé¿ãã
4ïŒéçšã®é³è
å鲿¢ïŒç®çãèæ¯ãææžåããŠæ®ã

èªååæ§ç¯ã§ãããœãããŠãšã¢éçºãšåãæèã§åãçµãã ãé·ãæéãã©ãã«ãªãéçšã§ãããèšèšããã£ãããšãããã®ãæ§ç¯ããããšãæèããèªååã宿œãã·ã¹ãã ã¯åé¡ãªãå·æ°ãããã

广æ€èšŒãŸã§èŠå±ããããšã倧äºã ããšè¥¿ææ°ã¯èªããå®éãä»åå·æ°ããã·ã¹ãã ã§ã¯å¯æ¬¡å¹æãå«ããã¹ã©ã€ãã«èšèŒãããå€ãã®å¹æãåŸãããããããŠãæ¹ããŠãããŸã§ã®æµããšæèãã€ã¡ãŒãžåããã¹ã©ã€ããèŠããªãããæ¬¡ã®ããã«èªããã»ãã·ã§ã³ãç· ããã
ã課é¡è§£æ±ºã®æèã§åãçµãã§ããã®ãããªã¯ã«ãŒãã°ã«ãŒãã®ç¹åŸŽã§ãããã·ã¹ãã æ¹åã«ããããã€ã³ãã ãšèããŠããŸããïŒè¥¿ææ°ïŒ

ããããããããŒã°ã«ã¡ã®äºäŸãRedisã®ã¡ã¢ãªãŒæº¢ããšæŠã£ã話
ç¶ããŠç»å£ããææºé£å€®æ°ã¯ããŸããªã¯ã«ãŒãã®é£²é£åºäºçŽãµã€ãããããããããŒã°ã«ã¡ãã®ã·ã¹ãã æ§æã«ã€ããŠçްãã説æããŠãã£ãã
ãããããããŒã°ã«ã¡ã®ã·ã¹ãã ã¯ã«ã¹ã¿ããŒã»ã¯ã©ã€ã¢ã³ãïŒé£²é£åºïŒãšã倧ãã2ã€ã®é åã«åãããŠãããOracleDBã¯å ±éã§äœ¿çšããŠãããApacheãTomcatãšãã£ãWebãµãŒãã¯ã¿ãŠã³ã¯ãŒã¯ãšåæ§ã§ãæ€çŽ¢ãšã³ãžã³ã¯Elastichsearchã§æ§æãããã

åã·ã¹ãã ã§ã¯ãã»ãã·ã§ã³ã§ãµãŒãã®æ¯ãåããè¡ãªã£ãŠãããããTomcatã®åèµ·åæã«ãšã©ãŒãçºçããåé¡ããã£ãããã®ãããªã¢ã¯ã»ã¹æãè§£æ¶ããå ±çšããŠããDBããè² è·ã®é«ãåŠçãåãé¢ãããšã§ããµã€ãå šäœã®ä¿¡é Œæ§ãäžãããããRedisã®å°å ¥ãæ€èšããã
ã ããã»ãã·ã§ã³ç®¡ççšããŒã¿ã¹ãã¢ã«Redisãå°å ¥ãããšããããªãªãŒã¹åŸã«ã¡ã¢ãªæº¢ããçºçããŠããŸã£ããšããã
ã¡ãªã¿ã«Redisãšã¯ãRemote dictionary serverãããŒã¿ãã¡ã€ã³ã¡ã¢ãªäžã®é åã«æ ŒçŽããããèšèšãããã€ã³ã¡ã¢ãªããŒã¿ããŒã¹ïŒIMDBïŒã§ãããå€éšããŒããã£ã¹ã¯ãšãã£ãåŸæ¥åã®ã¹ãã¬ãŒãžäžã«æ§ç¯ãããDBã«æ¯ã¹ãããŒã¿ã®èªã¿æžããå§åçã«æ©ããšããç¹åŸŽãæã€ã

Redisã®ã·ã¹ãã æ§æã¯äžèšã¹ã©ã€ãã®ããã«ãåé·æ§ãæ ä¿ãããã3å°çšæããã¹ã¿ãŒããŒãé害æã«ãã§ã€ã«ãªãŒããŒã§ããããã«sentinelã䜿çšããããŒããã©ã³ãµãŒã®åãå ãèªåã§åãæ¿ããããã«å 補ã®healthcheckerãå®è£ ãããããããå°å ¥ãã1ã«æãçµããã«åé¡ãçããã
ã24æ¥ç®ã®ããšã§ãããã¡ã¢ãªãäžéã®16GBã«å°éãã¡ã¢ãªäžéãåŒãäžããããšã§å¯Ÿå¿ããŸããããã»ãã·ã§ã³ãæå¹æéåã®ããŒã¿ãç Žæ£ãããŠããå¯èœæ§ããããŸãããïŒææºæ°ïŒ

ã¡ã¢ãªã®å¢å éã調ã¹ããšã1æ¥0.67GBå¢ããŠããããšãããã£ããã»ãã·ã§ã³ã®æå¹æéã¯1ã«æãªã®ã§ã0.67Ã30æ¥ã§20.1Gãããå®å šæ§ãæ ä¿ããããã«ãäžéã3å²å¢ãã®27GBã«ã¢ããããã
ãµãŒããŒã¡ã¢ãªã®ã¹ããã¯ãåæã«å¿ èŠãªå®¹éã確ä¿ããããã«ã32GBããåã®64GBã«ã¹ã±ãŒã«ã¢ãããããã ãããã§ã€ã«ãªãŒããŒãçºçããŠãslaveã«åæãããªããã€ãŸããåé·æ§ãæ ä¿ãããªããšããæ°ããªåé¡ãçºçããã

ææºæ°ã¯åæã§ããªãã£ãçç±ã«ã€ããŠããã¹ã¿ãŒããŒãã®ã¡ã¢ãªã確ä¿ã§ããããã³ããã¡ã€ã«ãåºåã§ããŠããªãã£ãããšã ãšèª¬æããããŠãåæã«å¿ èŠãªã¡ã¢ãªã確ä¿ããããã«ãã¹ã¯ããé åãæ¡åŒµãããšã®å¯Ÿå¿çãè¬ããã
å ããŠãã¡ã¢ãªã®äœ¿çšéãå è¿°ã®ãšããããå¢å ããŠããããšãèæ ®ããäžéãããã«33GBã«ãŸã§åŒãäžããããšããããåã³ã¡ã¢ãªæº¢ããèµ·ããŠããŸãã
ãæ¹ããŠRedisã®å ¬åŒããã¥ã¡ã³ãããã§ãã¯ããã¡ã¢ãªãã©ããŸã§åŒãäžããããã®ãã確èªããŸããããããšãOSã®ããªãŒã¡ã¢ãªã®8ïœ9å²ã«èšå®ãã¹ããšã®è§£éãåŸãã®ã§ãOSã®ããªãŒã¡ã¢ãª17GBãRedisã確ä¿ããŠããã¡ã¢ãª33GBã®åèšã®9å²ã45GBã«åŒãäžããããšãšããŸãããïŒææºæ°ïŒ
ãŸããslaveãžã®åæãRedisãšåãã¡ã¢ãªéãå¿ èŠã«ãªããããã¹ã¯ããé åãåæ§ã«æ¡åŒµããããããšãã¡ã¢ãªã®äžéåŒãäžãã¯åé¡ãªã宿œã§ãã3å°ã®Redisãåæããåé·åã·ã¹ãã ã埩æ§ããããšããããåã³ã¡ã¢ãªæº¢ããçããããã®ãŸãŸãµãŒãåŽã§ã¡ã¢ãªãå¢ãã察å¿ããŠãåãæããªããšãå¥ã®æ¹æ³ãæ€èšãå§ããã
çç®ããã®ã¯ãããŒã¿ã®çš®é¡ã ãRedisã«æ ŒçŽããŠããããŒã¿ã¯ã以äžã¹ã©ã€ãã®ããã«memoryã»tokenã»permanentdbã»infoã§ããã

ææºæ°ã¯Redisã®ããŒã¿ãè§£æãããœãããŠã§ã¢ãredis-rdb-toolsãã䜿ããããŒã¿ãå¯èŠåããããããšã倧ãã2ã€ã®æ°ã¥ããåŸãã
1ã€ç®ã¯ãinfoããŒã¿ã®å²åãé«ãããšïŒ92.52ïŒ ïŒã2ã€ç®ã¯ãã¡ã¢ãªäœ¿çšéïŒ45GBïŒã«å¯Ÿãããã³ãããŒã¿ã®ãµã€ãºïŒ18.17GBïŒã倧ããä¹é¢ããŠããç¹ã ãææºæ°ã¯ç¹ã«åŸè ã«æ³šç®ãæå¹æéåãã®ããŒãåé€ãããŠããªãããã«ãããŒã¿éãå¢ãç¶ããŠããã®ã§ã¯ãªãããšãã仮説ãç«ãŠãRedisã®æå¹æéåãããŒã®åé€ã¢ã«ãŽãªãºã ã確èªããã

ã¢ã«ãŽãªãºã ã¯ãpassive wayãšactive wayãšããã2ã€ã®æ¹æ³ã§åé€ãè¡ã£ãŠãããpassive wayã¯èšèã®ãšãããéçºè ãæãåããããšã§ããŒãåé€ãäžæ¹ãactive wayã¯ãã¡ããã¹ã©ã€ãã«æžãããã«ãŒã«ã§åŠçãå®è¡ããŠããããšãåãã£ããåã¢ã«ãŽãªãºã ãèŠãŠãææºæ°ã¯æ¬¡ã®ãããªä»®èª¬ãç«ãŠãã
æå¹æéã®é·ãinfoããŒããµã³ããªã³ã°ãããŠããŠæ¶ããã®ããªãããšå€æããŠããã®ã§ã¯ãªãããã€ãŸããæå¹æéã®çãmemoryãtokenãšæå¹æéã®é·ãinfoããŒããã²ãšã€ã®DBã«æ··åšããŠããããšãåé¡ã§ã¯ãªãããšèããã®ã§ããã

ããœãŒã¹ã³ãŒãã確èªãããšãä»®èª¬ã¯æ£ããããšã確èªã§ããŸããããŸããRedisã®äžã«ãããŒã¿ããŒã¹ãããããã®ããŒã¿ããŒã¹ããšã«åé€ã¢ã«ãŽãªãºã ãå®è¡ãããŠããããšãåãããŸããããã®çµæãRedisã®ããŒã¿ããŒã¹ãæå¹æéã«å¿ããŠåé¢ããã°ãããšã®çµè«ãåŸãŸãããïŒææºæ°ïŒ

passive wayã§æå¹æéåãããŒãåé€ãããžã§ããå®è¡ãããšåæã«ããããŸã§äœåºŠããã©ãã«ãç¹°ãè¿ãããŠããããšãèæ ®ããã³ã³ããã©ã³ãè¬ãããovercommit_memoryã®æå¹åãã»ãã·ã§ã³ããŒã¿ã®å šç Žæ£ã§ããã
å®éãRedisã®ãã©ãã«å¯Ÿå¿ãè¡ã£ãŠããéã«ãä»åºŠã¯ãµãŒããŒã®ãã¹ãåŽã¡ã¢ãªã95ïŒ ãšããèŠåç¶æ ã«ãªã£ãŠããŸããã¡ã¢ãªäžéãåŒãäžããŠå¯Ÿå¿ãããšãslaveåæãããªãç¶æ ãšãªããããã§ãã¹ã¯ããé åã®æ¡åŒµã§å¯Ÿå¿ããããã¹ã¯ãããæ¡åŒµããŠãåæãããªãäºæ ã«ãŸã§é¥ããã ããæå¹æéåãããŒåé€ãžã§ããšãªãŒããŒã³ãããã¡ã¢ãªã®æå¹åã«ãããslaveåæã¯æ£åžžã«æ»ãã
ãã®åŸãRedisã®DBåé¢ãè¡ããšãæå¹æéåãããŒã®åé€ã¯ä¿é²ãããããã®åæ°ããããŒãç»é²ãããåã³slaveã«åæãããªããªã©ã®ãã©ãã«ãçºçããããæçµçã«ã¯Redisã®ããã»ã¹ãåèµ·åãäžèŠãªããŒãæ¥æ¬¡åé€ãããžã§ããå®è¡ããããšã§ãRedisã®ã¡ã¢ãªäœ¿çšéã¯10GB以äžãšã®å®å®çšŒåã«è³ãã

ããã«ææºæ°ã¯ãRedisã®DBãåé¢ããéã«äºåã«å¹æãæ€èšŒããããšãã³ã³ããã©ã³ãå®è¡ããéã¯å®ãµãŒãã¹ã«ã©ã®ãããªåœ±é¿ãããã®ããäžèŠãªããŒã®æ¥æ¬¡åé€ã«ãããæ³šæç¹ãªã©ãäºåã«çްãããªã¹ã¯ãªã©ãæ€èšŒããŠããããšãäžå¯§ã«ç޹ä»ããã
ãããŠä»åã®åãçµã¿ã次ã®ããã«æ¯ãè¿ããã»ãã·ã§ã³ãç· ããã
ããŠãŒã¶ãŒã«è¿·æãããããšãã£ãäºæ¬¡é害ãçºçãããªãããã倧ããªå¯Ÿçãè¬ããéã¯ãå¿ ãäºåã«ã¬ã€ãã³ã·ãŒããªã¹ã¯ãšãã£ãèŠå ã調ã¹ãããšããŸããå®éã«ãœãŒã¹ã³ãŒãã¬ãã«ã§æåãææ¡ããããšã倧åã ãšæ¹ããŠæããŸãããïŒææºæ°ïŒ
ãQïŒAãåå è ããå¯ãããã質åã«åç
ã»ãã·ã§ã³åŸã¯ãåå è ããã®è³ªåã«ç»å£è ãçãã質çå¿çãè¡ãããããã®ããã€ãã玹ä»ããã
Q.ã¯ã©ãŠãã¯AWSã®å©çšãå€ãäžãGCPãéžæããçç±ã¯ïŒ
西æïŒKubernetesã䜿ããšæ±ºå®ããåŸããããŒãžããµãŒãã¹ã¯ã©ããé©åãªã®ãããããããªã©ã€ãªãŒããåºãŠããæžç±ãKubernetesã§å®è·µããã¯ã©ãŠããã€ãã£ãDevOpsã ãèªã¿èŸŒãã§ããããã調ã¹ãŸãããåœåã¯ECSãEKSãªã©ãAWSãæ€èšããŸããããæçµçã«Kubernetesã®ç¥èŠã«é·ããŠããGCPãéžã³ãŸããã
Q.å®éãEKSãªã©ãšæ¯èŒããŠGKEã¯æ±ããããã
西æïŒEKSã䜿ã£ãããšã¯ãããŸãããå人çã«ã¯GKEã®æ¹ã䜿ãããããšæããŠããŸããäŸãã°ãã®ã³ã°æ©èœã䜿ãã°ãKubernetesäžã§åã³ã³ããã®ã¢ãã¿ãªã³ã°ãæè»œã«èŠãããšãã§ããŸãããã ãåçšãµãŒãã¹ã¯ã©ã¡ãã䜿ã£ãããšããªãã®ã§ãéã£ãæèŠããããšæããŸãã
Q.ã·ã¹ãã æ¹åã§æãæ³šåããŠãããšããã¯ïŒ
西æïŒäºæ¥ã»ãµãŒãã¹ã§èŠãã®ãããããšãããµãŒããŒã»ã€ã³ãã©ã»ããã³ããªã©ãã·ã¹ãã ãšããŠèããã®ããªã©ããããããªè»žããããšã¯æããŸãããããã«ããã¯ãã©ãã«ããã®ããèŠæ¥µãããã®ããã«ããã¯ã«æ³šåãã¹ãã ãšèããŠããŸããäŸãã°ã³ãŒããã¬ã¬ã·ãŒã§ãã£ãŠããã¬ã¬ã·ãŒã³ãŒãã«å¯Ÿå¿ã§ãããšã³ãžãã¢ãããã°ãç¹ã«åé¡ãªãã§ããããéã«ãã¢ãã³ãªã³ãŒãã§ãã£ãŠããã³ãŒããæ±ãå Žåã¯ããããšã³ãã³ã¹ãããããã§ã®ããã«ããã¯ã«ãªãããã¯ãã§ãã
Q.éçºçšDBã®ç®¡çã¯æ¡ä»¶ããšã«DBãç«ãŠãã®ãããããšãå ±éãªã®ã
西æïŒéçºç°å¢ããšã«ããŒã¿ããŒã¹ãç«ãŠãŠããŸããæµããšããŠã¯ãããšããšãªã³ãã¬ã«ããããŒã¿ããŒã¹ãé±ã«äžåºŠãGCPã®CIããŒã«ã«ãã£ãŠã¯ã©ãŠãã«ã¢ããããŒãããã ããããŸã§Dokerã€ã¡ãŒãžãªã®ã§ãããããç°å¢ããšã«imageã䜿ããã³ã³ãããç«ãŠãŠããŸãããŸããããŒã¿ããŒã¹ãåããªãéã¯ãé©å®ã¢ããããŒãã察å¿ããŠããŸãã
Q.ã¢ããªã±ãŒã·ã§ã³åŽã§ã¡ã¢ãªãæããŠããããããªåãçµã¿ã¯ãã£ãã
ææºïŒåœç¶ãããŸããããå¯ã«ã³ãã¥ãã±ãŒã·ã§ã³ãåããç¡é§ãªã¡ã¢ãªã¯äœ¿ããªããªã©ã®å¯Ÿå¿ãããŠããã£ãŠããŸãããã ããããããããŒã°ã«ã¡ã¯10幎以äžç¶ããŠãããµãŒãã¹ã®ãããã³ãŒããè€éã§ããåé¡ãå€ããã€ã³ãã©åŽã§ã®å¯Ÿå¿ãé²ããŸããã
Q.ã·ã¹ãã éçšæ¹åãå«ãããªã¯ã«ãŒãã«ãããæææ±ºå®ã«ã€ããŠ
西æïŒãªã¯ã«ãŒãã¯èªç±åºŠã®é«ã颚åã§ãããæš©éç§»è²ããããŠããŸãããã®ããçŸå Žã§èµ·ããŠããäºè±¡ã課é¡ã¯ãçŸå Žã®ã¡ã³ããŒãçå ããŠåãã解決ããŠããããšãå€ãã§ãã
æ ªåŒäŒç€Ÿãªã¯ã«ãŒã
https://www.recruit.co.jp/
æ ªåŒäŒç€Ÿãªã¯ã«ãŒãã®æ¡çšæ
å ±
https://recruit-saiyo.jp/
ããããã€ãã³ã
é¢é£ããã€ãã³ã

ãªã¯ã«ãŒãã®å€§èŠæš¡Ãé·æéçšãããã¯ããæ¯ããæè¡æšªæçµç¹ïŒ ã¢ãŒãã...
2022幎01æ20æ¥ (æš)ããããã®èšäº

æ¹åãïŒå·æ°ãïŒââSafieã»freeeã»SmartHR 3瀟ã®äºäŸããåŠã¶ãæè¡è² åµããšã®åãåãæ¹

é»éç·ç ã®ãšã³ãžãã¢ãèªããã¢ãŒããã¯ãããšã¯ïŒã¢ãŒããã¯ãã®ä»äºãèãæ¹ãèŠçŽ æè¡ã®åãçµã¿æ¹ã玹ä»










