ãããããã«ïŒ èšäºã®ç¿»èš³ãã玹ä»ããŸã
ãã®èŠåºããèŠãŠèçãå°ãéããã»ã©ã§ã¯ãªãå Žåã¯ã次ã®æ®µèœã«ã¹ããããããã次ã®èšäºã«ç¹åããããŒãžã«ã¢ã¯ã»ã¹ããŠãã ããã
ç§ãã¡ã¯èª°ã§ãã
ç§ãã¡ã¯ã³ãŒããæžãããšãšããŒããŠã§ã¢ãæ±ãããšã倧奜ã㪠4 人ã®ãã³ã®ã³ã®ããŒã ã§ãã äœæã«ã¯ãç±³åœå ã® 7000 ã€ã®ç°ãªãããŒã¿ ã»ã³ã¿ãŒã«åæ£ããããLinux ãå®è¡ãã 3 å°ãè¶ ããç©çãµãŒããŒã®å°å ¥ãä¿å®ãéçšãæ åœããŠããŸãã
ãŸããçŸå Žãã 10 km é¢ããå°äžæµ·ã®ããŒãããè»ã§ããã®å Žæã«ããå¿«é©ãªèªç€Ÿãªãã£ã¹ãããã®äœæ¥ãè¡ãæ©äŒããããŸããã
ã¹ã±ãŒã«ã®åé¡
åææè³ãæ¯èŒçäœããããã¹ã¿ãŒãã¢ãããã€ã³ãã©ã¹ãã©ã¯ãã£ãã¯ã©ãŠãã§ãã¹ãããããšããå§ããã®ã¯çã«ããªã£ãŠããŸãããç§ãã¡ Outbrain ã¯ç¬èªã®ãµãŒããŒã䜿çšããããšã«ããŸããã ããã¯ãã¯ã©ãŠãã€ã³ãã©ã¹ãã©ã¯ãã£ã®ã³ã¹ãããäžå®ã¬ãã«ãŸã§éçºããåŸãããŒã¿ã»ã³ã¿ãŒã«ããèªç€Ÿã®æ©åšãéçšããã³ã¹ããã¯ããã«äžåãããã§ãã ããã«ããµãŒããŒã¯æé«ã¬ãã«ã®å¶åŸ¡æ©èœãšãã©ãã«ã·ã¥ãŒãã£ã³ã°æ©èœãæäŸããŸãã
ç§ãã¡ãçºå±ããã«ã€ããŠãåé¡ã¯åžžã«èº«è¿ã«ãããŸãã ãããã圌ãã¯ãããŠãéå£ã§ãã£ãŠæ¥ãŸãã ãµãŒããŒã®ã©ã€ããµã€ã¯ã«ç®¡çã§ã¯ããµãŒããŒã®æ°ãæ¥éã«å¢å ããç¶æ³ã§ãé©åã«æ©èœã§ããããã«ãç¶ç¶çãªèªå·±æ¹åãå¿ èŠã§ãã ããŒã¿ã»ã³ã¿ãŒå ã®ãµãŒã㌠ã°ã«ãŒãã管çãããœãããŠã§ã¢æ¹åŒã¯ãããã«æ±ãã«ãããªããŸãã QoS æšæºãæºãããªããé害ãæ€åºããã©ãã«ã·ã¥ãŒãã£ã³ã°ã軜æžããã«ã¯ãéåžžã«å€æ§ãªããŒããŠã§ã¢ãããŸããŸãªã¯ãŒã¯ããŒããã¢ããã°ã¬ãŒãæéããã®ä»èª°ãå¿é ããããªãäºæãããŸãåŠçããå¿ èŠããããŸãã
ãã¡ã€ã³ããã¹ã¿ãŒãã
ãããã®åé¡ã®å€ãã解決ããããã«ãOutbrain ã®ãµãŒããŒã®ã©ã€ããµã€ã¯ã«ãäž»èŠã³ã³ããŒãã³ãã«åå²ãããããããã¡ã€ã³ãšåŒã³ãŸããã ããšãã°ãXNUMX ã€ã®ãã¡ã€ã³ã¯æ©åšèŠä»¶ãã«ããŒããå¥ã®ãã¡ã€ã³ã¯åšåº«ã©ã€ã ãµã€ã¯ã«ã«é¢é£ããç©æµãã«ããŒããXNUMX çªç®ã®ãã¡ã€ã³ã¯çŸå Žæ åœè ãšã®ã³ãã¥ãã±ãŒã·ã§ã³ãã«ããŒããŸãã ããŒããŠã§ã¢ã®å¯èŠ³æž¬æ§ã«é¢ããŠã¯ãã XNUMX ã€ãããŸããããã¹ãŠã®ç¹ã«ã€ããŠã¯èª¬æããŸããã ç§ãã¡ã®ç®æšã¯ãã³ãŒãã䜿çšããŠãã¡ã€ã³ãæœè±¡åã§ããããã«ãã¡ã€ã³ãç 究ããŠå®çŸ©ããããšã§ããã å®çšçãªæœè±¡åãéçºããããšãããã¯æåããã»ã¹ã«è»¢éãããå±éããã¹ããæ¹è¯ãè¡ãããŸãã æåŸã«ããã¡ã€ã³ã¯ API ãä»ããŠä»ã®ãã¡ã€ã³ãšçµ±åããããã«æ§æãããå±éå¯èœããã¹ãå¯èœã芳å¯å¯èœãªç·åçã§åçãé²åãç¶ããããŒããŠã§ã¢ ã©ã€ããµã€ã¯ã« ã·ã¹ãã ã圢æããŸãã ä»ã®ãã¹ãŠã®çç£ã·ã¹ãã ãšåæ§ã§ãã
ãã®ã¢ãããŒããæ¡çšããããšã§ãããŒã«ãšèªååãäœæããããšã§ãå€ãã®åé¡ãæ£ãã解決ã§ããããã«ãªããŸããã
ãã¡ã€ã³ãå¿ èŠ
é»åã¡ãŒã«ãšã¹ãã¬ããã·ãŒãã¯åæã®éèŠãæºããæå¹ãªæ¹æ³ã§ããããç¹ã«ãµãŒããŒã®æ°ãšåä¿¡ãªã¯ãšã¹ãã®éãäžå®ã®ã¬ãã«ã«éãããšãæåãããœãªã¥ãŒã·ã§ã³ãšã¯èšããŸããã§ããã æ¥éãªæ¡å€§ã«çŽé¢ããŠåä¿¡ãªã¯ãšã¹ããããé©åã«æŽçããåªå é äœãä»ããã«ã¯ã以äžãæäŸã§ãããã±ãã ã·ã¹ãã ã䜿çšããå¿ èŠããããŸããã
- é¢é£ãããã£ãŒã«ãã®ã¿ã®ãã¥ãŒãã«ã¹ã¿ãã€ãºããæ©èœ (ã·ã³ãã«)
- ãªãŒãã³ API (æ¡åŒµå¯èœ)
- ç§ãã¡ã®ããŒã ã«ã¯ç¥ãããŠããŸãïŒç解ããŠããŸãïŒ
- æ¢åã®ã¯ãŒã¯ãããŒãšã®çµ±åïŒçµ±åïŒ
ç§ãã¡ã¯ Jira ã䜿çšããŠã¹ããªã³ããšå éšã¿ã¹ã¯ã管çããŠãããããã¯ã©ã€ã¢ã³ãããã±ãããéä¿¡ããŠçµæã远跡ã§ããããã«ããå¥ã®ãããžã§ã¯ããäœæããããšã«ããŸããã åä¿¡ãªã¯ãšã¹ããšå éšã¿ã¹ã¯ã®ç®¡çã« Jira ã䜿çšããããšã§ããã¹ãŠã®ããã»ã¹ãå šäœçã«ç¢ºèªã§ããåäžã®ã«ã³ãã³ ããŒããäœæã§ããããã«ãªããŸããã ç§ãã¡ã®å éšã®ãã¯ã©ã€ã¢ã³ããã¯ãè¿œå ã¿ã¹ã¯ (ããŒã«ã®æ¹åããã°ã®ä¿®æ£ãªã©) ã®ããã»ã©éèŠã§ã¯ãªã詳现ã«ã¯èžã¿èŸŒãŸããæ©åšã®ãªã¯ãšã¹ãã®ã¿ãèªèããŠããŸããã
Jira ã®ã«ã³ãã³ ããŒã
ããŸãã«ããã¥ãŒãšåªå é äœã誰ã«ã§ãèŠããããã«ãªã£ãããšã§ãç¹å®ã®ãªã¯ãšã¹ããããã¥ãŒã®ã©ããã«ããã®ãããã®ãªã¯ãšã¹ãã®åã«äœããã£ãã®ããç解ã§ããããã«ãªããŸããã ããã«ãããææè ã¯åœç€Ÿã«é£çµ¡ããããšãªããèªåã®ãªã¯ãšã¹ãã®åªå é äœãå€æŽã§ããããã«ãªããŸããã ãã©ãã°ããã°ããã§çµããã§ãã ãŸããJira ã§çæãããã¡ããªã¯ã¹ã«åºã¥ããŠããªã¯ãšã¹ã ã¿ã€ãã«å¿ã㊠SLA ãç£èŠããè©äŸ¡ããããšãã§ããŸããã
æ©åšã©ã€ããµã€ã¯ã«é å
åãµãŒã㌠ã©ãã¯ã§äœ¿çšãããããŒããŠã§ã¢ã®ç®¡çã®è€éããæ³åããŠã¿ãŠãã ããã ããã«æªãããšã«ãå€ãã®ããŒããŠã§ã¢ (RAMãROM) ãå庫ãããµãŒã㌠ã«ãŒã ã«ç§»åããããŸãå庫ã«æ»ãããå¯èœæ§ãããããšã§ãã ãŸããæ éããããååŽãããŠäº€æããã亀æ/ä¿®çã®ããã«ãµãã©ã€ã€ãŒã«è¿éãããããšããããŸãã ããããã¹ãŠããæ©åšã®ç©ççãªã¡ã³ããã³ã¹ã«æºããã³ãã±ãŒã·ã§ã³ ãµãŒãã¹ã®åŸæ¥å¡ã«äŒããå¿ èŠããããŸãã ãããã®åé¡ã解決ããããã«ãç§ãã¡ã¯ãããããŒãšåŒã°ããå éšããŒã«ãäœæããŸããã 圌ã®ä»»åã¯æ¬¡ã®ãšããã§ãã
- çŸå Žæ åœè ãšã®ã³ãã¥ãã±ãŒã·ã§ã³ã®ç®¡çããã¹ãŠã®æ å ±ã®éçŽã
- æ©åšã¡ã³ããã³ã¹ ãžã§ããå®äºããŠæ€èšŒããããã³ã«ããå庫ãããŒã¿ãæŽæ°ããŸãã
次ã«ããŠã§ã¢ããŠã¹ã¯ Grafana ã䜿çšããŠèŠèŠåããããã¹ãŠã®ã¡ããªã¯ã¹ãããããããããã«äœ¿çšãããŸãã ãããã£ãŠãç§ãã¡ã¯å庫ã®èŠèŠåãšãã®ä»ã®çç£ããŒãºã«åãããŒã«ã䜿çšããŸãã
ã°ã©ãã¡ãã®å庫èšåå¶åŸ¡ããã«
ä¿èšŒæéäžã®ãµãŒã㌠ããã€ã¹ã®å Žåã¯ãDispatcher ãšåŒã°ããå¥ã®ããŒã«ã䜿çšããŸãã 圌ïŒ
- ã·ã¹ãã ãã°ãåéããŸãã
- ãã³ããŒãèŠæ±ãã圢åŒã§ã¬ããŒããçæããŸãã
- API çµç±ã§ãã³ããŒããã®ãªã¯ãšã¹ããäœæããŸãã
- é²è¡ç¶æ³ãããã«è¿œè·¡ããããã«ãã¢ããªã±ãŒã·ã§ã³èå¥åãåä¿¡ããŠââä¿åããŸãã
åœç€Ÿã®è«æ±ãåçããããš (éåžžã¯å¶æ¥æéå )ãã¹ãã¢ããŒãã¯é©åãªããŒã¿ã»ã³ã¿ãŒã«éãããã¹ã¿ãããåãåããŸãã
Jenkins ã³ã³ãœãŒã«ã®åºå
ã³ãã¥ãã±ãŒã·ã§ã³ãã¡ã€ã³
å¢ãç¶ãããã£ãã·ãã£ãå¿ èŠãšããåœç€Ÿã®ããžãã¹ã®æ¥éãªæé·ã«å¯Ÿå¿ããããã«ãå°å ã®ããŒã¿ã»ã³ã¿ãŒã®æè¡å°é家ãšã®é£æºæ¹æ³ãé©å¿ãããå¿ èŠããããŸããã åœåã¹ã±ãŒã«ã¢ãããæ°ãããµãŒããŒã®è³Œå ¥ãæå³ããŠãããšããŠãã(Kubernetes ãžã®ç§»è¡ã«åºã¥ã) çµ±åãããžã§ã¯ãã®åŸã¯ããŸã£ããç°ãªããã®ã«ãªããŸããã ãã©ãã¯ã®è¿œå ãããããµãŒããŒã®åå©çšããžã®é²åã
æ°ããã¢ãããŒãã䜿çšããã«ã¯ãããŒã¿ã»ã³ã¿ãŒæ åœè ãšããå¿«é©ã«å¯Ÿè©±ã§ããæ°ããããŒã«ãå¿ èŠã§ããã ãããã®ããŒã«ã¯æ¬¡ã®ç®çã§å¿ èŠã§ããã
- ã·ã³ãã«ã;
- èªåŸæ§ã
- å¹ç;
- ä¿¡é Œæ§ã
ç§ãã¡ã¯ãã§ãŒã³ããèªåãã¡ãæé€ããæè¡è ããµãŒããŒæ©åšãçŽæ¥æäœã§ããããã«äœæ¥ãæ§é åããå¿ èŠããããŸããã ç§ãã¡ã®ä»å ¥ãªãã«ããŸãäœæ¥éãåŽåæéãèšåã®å¯çšæ§ãªã©ã«é¢ããããããã¹ãŠã®åé¡ãå®æçã«æèµ·ããããšãªãã
ãããå®çŸããããã«ããã¹ãŠã®ããŒã¿ã»ã³ã¿ãŒã« iPad ãèšçœ®ããŸããã ãµãŒããŒã«æ¥ç¶ãããšã次ã®ããšãèµ·ãããŸãã
- ããã€ã¹ã¯ããã®ãµãŒããŒãå®éã«äœããã®äœæ¥ãå¿ èŠãšããããšã確èªããŸãã
- ãµãŒããŒäžã§å®è¡ãããŠããã¢ããªã±ãŒã·ã§ã³ã¯ (å¿ èŠã«å¿ããŠ) éããããŸãã
- å¿ èŠãªæé ã説æããäžé£ã®äœæ¥æé ã Slack ãã£ãã«ã«æçš¿ãããŸãã
- äœæ¥ãå®äºãããšãããã€ã¹ã¯ãµãŒããŒã®æçµç¶æ ãæ£ãããã©ããããã§ãã¯ããŸãã
- å¿ èŠã«å¿ããŠã¢ããªã±ãŒã·ã§ã³ãåèµ·åããŸãã
ããã«ãæè¡è ãæ¯æŽããããã® Slack ããããçšæããŸããã å¹ åºãæ©èœã®ããã㧠(ç§ãã¡ã¯åžžã«æ©èœãæ¡åŒµããŠããŸãã)ããããã¯åœŒãã®ä»äºã容æã«ããç§ãã¡ã®ç掻ããã£ãšæ¥œã«ããŠãããŸããã ãã®ããã«ããŠããµãŒããŒã®åå©çšãšä¿å®ã®ããã»ã¹ã®ã»ãšãã©ãæé©åããã¯ãŒã¯ãããŒããèªåãã¡ãæé€ããŸããã
åœç€Ÿã®ããŒã¿ã»ã³ã¿ãŒã® XNUMX ã€ã«ãã iPad
ããŒããŠã§ã¢ãã¡ã€ã³
ããŒã¿ã»ã³ã¿ãŒ ã€ã³ãã©ã¹ãã©ã¯ãã£ã確å®ã«æ¡åŒµããã«ã¯ã次ã®ãããªåã³ã³ããŒãã³ããé©åã«å¯èŠåããå¿ èŠããããŸãã
- ããŒããŠã§ã¢é害ã®æ€åº
- ãµãŒããŒã®ç¶æ (ã¢ã¯ãã£ãããã¹ãããŸã³ããªã©)
- æ¶è²»é»å
- ãã¡ãŒã ãŠã§ã¢ã®ããŒãžã§ã³
- ãã®ããžãã¹å šäœã®åæ
åœç€Ÿã®ãœãªã¥ãŒã·ã§ã³ã«ãããæ©åšããã€ãã©ãã§ãã©ã®ããã«è³Œå ¥ãããããå®éã«å¿ èŠã«ãªãåã«æ±ºå®ã§ããããã«ãªããŸãã ãŸããããŸããŸãªæ©åšã®è² è·ã¬ãã«ãå€æããããšã§ããªãœãŒã¹ã®å²ãåœãŠãæ¹åããããšãã§ããŸããã ç¹ã«ãšãã«ã®ãŒæ¶è²»ã ç§ãã¡ã¯ããµãŒããŒãã©ãã¯ã«èšçœ®ããŠé»æºã«æ¥ç¶ããåããããµãŒããŒã®ã©ã€ããµã€ã¯ã«å šäœãéããŠããããŠæçµçã«å»æ£ããããŸã§ããµãŒããŒã®é 眮ã«ã€ããŠæ å ±ã«åºã¥ãã決å®ãäžãããšãã§ããããã«ãªããŸããã
Grafana ã®ãšãã«ã®ãŒ ããã·ã¥ããŒã
ãããŠãæ°åã³ãããŠã€ã«ã¹ææçãåºââçŸããŸãã...
ç§ãã¡ã®ããŒã ã¯ãã¡ãã£ã¢äŒæ¥ããããªãã·ã£ãŒããªã³ã©ã€ã³ã§èšªåè ãèå³ã®ããé¢é£ã³ã³ãã³ãã補åããµãŒãã¹ãèŠã€ããããããã«ãããã¯ãããžãŒãéçºããŠããŸãã åœç€Ÿã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã¯ããšããµã€ãã£ã³ã°ãªãã¥ãŒã¹ããªãªãŒã¹ããããšãã«çæããããã©ãã£ãã¯ãåŠçããããã«èšèšãããŠããŸãã
æ°åã³ãããŠã€ã«ã¹ææçããããã¡ãã£ã¢ã®éäžçãªå ±éãšäº€ééã®å¢å ã«ãããç§ãã¡ã¯ãããã®ãã¬ãã·ã£ãŒã«å¯ŸåŠããæ¹æ³ãæ©æ¥ã«åŠã¶å¿ èŠããããŸããã ããã«ãããããã¹ãŠã¯ããµãã©ã€ãã§ãŒã³ã寞æãããã¹ã¿ããã®ã»ãšãã©ãåšå® ããŠããäžççå±æ©ã®æäžã«è¡ãããªããã°ãªããŸããã§ããã
ãããããã§ã«è¿°ã¹ãããã«ãç§ãã¡ã®ã¢ãã«ã¯ãã§ã«æ¬¡ã®ããšãåæãšããŠããŸãã
- ããŒã¿ã»ã³ã¿ãŒå ã®æ©åšã®ã»ãšãã©ã¯ãç©ççã«ã¢ã¯ã»ã¹ã§ããŸããã
- ç§ãã¡ã¯ã»ãšãã©ãã¹ãŠã®ç©ççãªäœæ¥ããªã¢ãŒãã§è¡ããŸãã
- äœæ¥ã¯éåæãã€èªåŸçã«å€§èŠæš¡ã«å®è¡ãããŸãã
- æ°ããæ©åšãè³Œå ¥ããã®ã§ã¯ãªãããéšåããæ§ç¯ãããæ¹æ³ã䜿çšããŠæ©åšã®éèŠã«å¿ããŸãã
- åœç€Ÿã«ã¯ãæ¥åžžçãªä¿®çãè¡ãã ãã§ãªããæ°ãããã®ãäœæã§ããå庫ããããŸãã
ãããã£ãŠãå€ãã®äŒæ¥ãããŒã¿ã»ã³ã¿ãŒãžã®ç©ççãªã¢ã¯ã»ã¹ã劚ããäžççãªèŠå¶ã¯ãåœç€Ÿã«ã¯ã»ãšãã©åœ±é¿ãäžãããã¹ãã¢ããŒãããµãŒããŒã«é¢ããŠã¯ãã¯ããæ©åšã®å®å®ãã皌åã確ä¿ããããåªããŸããã ãã ããããã¯ãäžéšã®ããŒããŠã§ã¢ãå©çšã§ããªãããšãçªç¶å€æããå Žåã«èµ·ããåŸãã€ã³ã·ãã³ããé²ãç®çã§è¡ãããŸããã çŸåšã®éèŠã«å¿ããããšãç®æšãšããã«ã確å®ã«äºåãåãŸãããã«ããŸããã
èŠçŽãããšãããŒã¿ã»ã³ã¿ãŒæ¥çã«ãããç§ãã¡ã®ã¢ãããŒãã¯ãåªããã³ãŒãèšèšã®ååãããŒã¿ã»ã³ã¿ãŒã®ç©ç管çã«é©çšã§ããããšã蚌æããŠãããšèšãããã®ã§ãã ãããŠããããããªãã¯ãããé¢çœããšæãã§ãããã