HighLoad ++ 2016ã«ã³ãã¡ã¬ã³ã¹ã§ãOleg ObleukhovãInnoGamesã§èšç»ããã³å®è£ ãã管çè ã®ä»å ¥ãå¿ èŠãšããªãã¢ãŒããã¯ãã£ã«ã€ããŠè©±ããŸããã
ã¿ãªããããã«ã¡ã¯ã ç§ã«ã€ããŠã»ãã®äžèšã ç§ã®ååã¯ãªã¬ã°ã§ããã以åã¯ã€ã³ããã¯ã¹ã§åããŠããŸãããããµã³ã¯ãããã«ãã«ã¯ã®çŽ æŽãããè¡ã«äœãã§ããŸããã ä»ãç§ã¯ãã€ãã«ç§»ããInnoGamesã§åããŠããŸãã å瀟ã¯ãªã³ã©ã€ã³ã²ãŒã ãéçºããŠããŸãã 1å5,000äžäººã®ãŠãŒã¶ãŒã®ã¢ã«ãŠã³ãã§-ãã¡ãããYandexãããããªãå°ããªäŒç€Ÿã§ãã ãããŠãä»æ¥ã¯ããã®éãç¥ããã«ãè² è·ããŒã¿ãªãã§é«è² è·ã®ãµãŒãã¹ãäœæããæ¹æ³ã«ã€ããŠã話ããŸãã
å§ããåã«ã çããã¯ç§ã®ããšãç¥ã£ãŠããŸããèŽè¡ã«ã€ããŠå°ãç¥ãããã§ãã æ¬çªã§Dockerã䜿çšãã人ã¯æãæããŠãã ããã ãŸããéšå±ã®3åã®1ã¯ãè¯ãã§ãã ãããŠä»ãæãæãã人ãããæ¬çªã§Dockerã䜿çšããããšã«æºè¶³ããŠãã人ãè²ãŠãŸããïŒ å€§å¹ ã«å°ãªãã ãããŠä»ãããã«è€éãªè³ªåã§ãã æ¬çªç°å¢ã§Dockerã䜿çšããããšã«æºè¶³ããŠãã人ã¯ãã·ã¹ãã 管çè ãŸãã¯ãšã³ãžãã¢ã§ãã人ããŸãã¯éçºè ã§ã¯ãªã人ã«æãæããŠãã ããã ïŒã€èŠããŸãã ããã£ã
å®éãä»æ¥ã¯Dockerã«ã€ããŠã¯èª¬æããŸããã ãã ããCRMã«ã€ããŠã¯èª¬æããŸãã ãããäœã§ãããããªããã®ã·ã¹ãã ãå¿ èŠãªã®ãã説æããŸãã
ç»é¢ã§èŠãããšãã§ããããã«ãããã¯æã人æ°ã®ããã²ãŒã ã®1ã€ã§ããForge of Empiresã®ã¹ã¯ãªãŒã³ã·ã§ããã§ãã ããã¯ãããã©ã®ããã«èŠãããã«ã€ããŠã§ãã ãã¬ã€ã€ãŒãForge of Empiresããã¬ã€ãããšããã®ãã¬ã€ã€ãŒã®ã¢ã¯ã·ã§ã³ïŒããšãã°ãã建ç©ã建ãŠãããŸãã¯åã«ãè¿œå ã®ãéãå éšé貚ã®ãæ¯æãããã¯ãªãã¯ãããïŒãã¹ãã¢ã«éä¿¡ãããŸãã ããããã¹ãŠã®ã¢ã¯ã·ã§ã³ãèšé²ãããŸãã ãã°ããã®éãçŽ4,000åã®ãã®ãããªã€ãã³ãïŒãã¹ãŠã®ãŠãŒã¶ãŒã®ãã¹ãŠã®ã¯ãªãã¯ïŒãã¹ãã¬ãŒãžã«èç©ãããŸããïŒããã¯ãã¡ããHadoopã§ãïŒã ããã¯25ãã©ãã€ãã«çžåœãããã£ã¹ã¯ã«ãããã¬ããªã«ãã¡ã¯ã¿ãŒããã®ä»ãã¹ãŠãã«ãŠã³ãããŸããã
ãªããã®ããŒã¿ãå¿ èŠãªã®ã§ããïŒ ãã®ããŒã¿ãããŠãŒã¶ãŒã®è¡åãã¿ãŒã³ãæ§ç¯ã§ããŸãã ä»æ¥ãäœããã®è¡åããšããŠãŒã¶ãŒã«ã©ã®ãããªè¡åãããããçºè¡šãããããä»ã«ã¯äœãããªãç¹å¥ãªãããŒãžã£ãŒã°ã«ãŒãããããŸãã ããã¯ããããããã¢ã¿ã€ã ãã£ã³ããŒã³ãŸãã¯å éšåºåã§ãã
ãããªæãã§ãã ããšãã°ãæ¯æããŠã£ã³ããŠãéãããšãããã«ãäžè¬çã«ãä»ã©ã®ããã«æ¯æããŸãããåœå é貚ããã40ïŒ å€ãããšãããããŒã衚瀺ãããŸãã ãã¡ãããä»ã®è¡åãã¿ãŒã³ããããŸãã ããšãã°ããŠãŒã¶ãŒãããã«ã²ãŒã ãé¢ãããã®ããã«æ¯ãèãå ŽåããŠãŒã¶ãŒã®ã¢ã¯ã»ã¹é »åºŠãå°ãªããªããã²ãŒã å ã®ã¢ã¯ã·ã§ã³ãå°ãªããªããŸãã ãŠãŒã¶ãŒã倱ãããšã¯æªãããšã§ããå€ãã®å ŽåããŠãŒã¶ãŒãæ¥ãã®ã«ååãªè²»çšãããããŸãã ãããã®ãŠãŒã¶ãŒãç¶æããå¿ èŠããããŸãã
ãªããã®ã·ã¹ãã ãå¿ èŠãªã®ã§ããïŒ ãŠãŒã¶ãŒã«ãã¬ã€ãèš±å¯ããå¿ èŠãªãšãã«æ¯æããèš±å¯ããªãã®ã¯ãªãã§ããïŒ
ãŸãããã¡ããããéã®ããã«ã ãã®ãµãŒãã¹ã¯ã1幎ã»ã©åã«æ©èœããŠããŸããã çµ±èšã«ãããšããŠãŒã¶ãŒã«æ¬¡ã®ããã«è¡šç€ºããã ãã§ãåçã2åã«ãªãããããã«ã¯å¢å ããããšã確èªãããŠããŸãããŠãŒã¶ãŒã¯ããåãã§æ¯æããŸãã
2ã€ç®ã®éåžžã«åªããæ©èœã¯ãã²ãŒã ã®ãŠãŒã¶ãŒãé ãããããšã§ãã ã€ãŸãããŠãŒã¶ãŒãã²ãŒã ãé¢ãããããã«æ¯ãèãå Žåã次ã®ããã«äŒããŸãããããããããããããããæ»åšããŠãã ãããç¡æã§ããŒãã¹ãæäŸããŸãã ãã¶ãå²åŒã§ã¯ãªããå®å šã«ç¡æã§ãã ãã¡ãããåãŠãŒã¶ãŒã¯ç§ãã¡ã«ãšã£ãŠéåžžã«éèŠã§ãã
ãŸããéåžžã«ãéåžžã«éèŠãªããããã£ã¯ãæ°ãããã¬ãŒã€ãŒã®é åã§ãã ãŠãŒã¶ãŒãæºè¶³ããŠããå Žåã圌ã¯ãšãŠã幞ãã§ãå²åŒãç¡æã®ãã€ã€ã¢ã³ããåãåãããForge of Empiresããã¬ã€ããŸãã ãšãŠãã¯ãŒã«ã§ãç¡æã®ãã€ã€ã¢ã³ããå ¥æã§ããŸãã ç¹å®ã®ã¢ã¯ã·ã§ã³ãå®è¡ããå¿ èŠãããã®ã¯ãããªãã ãã§ãã
ãã§ã«è¿°ã¹ãããã«ãçŽ1幎åããã®ãµãŒãã¹ã®ã¢ãŒããã¯ãã£ã圢æããã¿ã¹ã¯ãååŸããŸããã ç§ã«ãšã£ãŠã¯ãããã¯ãã©ãã¯ããã¯ã¹ã§ããã 圌ãã¯ç§ã«èšã£ãïŒããªã¬ã°ãç§ãã¡ã«ã¯æã人æ°ã®ããã²ãŒã ã3ã€ãããŸããã ãã£ãšãããŸãããããããã¯æã人æ°ããããŸã-Forge of EmpiresãElvenarãGrepolisã åœæã®ããããã¹ãŠã®ã²ãŒã ã¯ãã§ã«ã€ãã³ããHadoopã«éä¿¡ããŠããŸããã誰ãããã¬ã€ããå Žåã®ã¯ãªãã¯æ°ã¯æ¬¡ã®ãšããã§ãã äžè¬ã«ããããã®ã¯ãªãã¯ã¯ãã¹ãŠHadoopã«åé¡ããã1æ¥ãããçŽ5ååã¯ãªãã¯ãããŸãã ããã¯ããªãã®éã§ãã
ãã®ãããäœããã®ã·ã¹ãã ãäœæããããã圢æãããããã®ã€ãã³ããåŒãåºãã¢ãŒããã¯ãã£ãäœæããäœããã®æ¹æ³ã§ãããããã£ã«ã¿ãªã³ã°ããç£èŠããè£è¶³ããã²ãŒã ã«éä¿¡ããŠãŠãŒã¶ãŒã«å²åŒãäžããå¿ èŠããããŸããã
ãããªæãã§ãã
æãéèŠãªåºæºã®1ã€ã¯ãã§ããã ãæ©ããã®ã¡ãã»ãŒãžããã®å²åŒãæäŸããå¿ èŠããããšããããšã§ãã ããšãã°ããŠãŒã¶ãŒã¯æ¯æããŠã£ã³ããŠãéããŸãããããŸã æããã圌ã¯åã³èããŸãããããŒãç§ã¯è²·ãããã£ããã©ãé«äŸ¡ãªãã®ã ã ãããŠãç§ãã¡ã¯åœŒãå©ããŸãã-å²åŒã çŽ æŽãããã§ããïŒ ããïŒ ãããåºæºã®äžã€ã§ããã
ãã®ã·ã¹ãã ãäœãå¿ èŠããããšèšããããšãããšã³ãžãã¢ãšããŠã©ããªè³ªåããããŸãããïŒ
- ãã®ã·ã¹ãã ã®ã¢ãŒããã¯ãã£ã¯ã©ãããã¹ãã§ããïŒ ã³ãŒãããªãã£ãã®ã§ãäœããããŸããã§ããã éçºè ãšäžç·ã«ãã¹ãŠãè¡ãæ¹æ³ãèããŠããŸããã
- ä¿¡é Œæ§ãããã¹ãã§ããïŒ ã€ãŸããé ä¿¡é床ã¯éåžžã«éèŠã§ãã ããããåææ¥ã®å€ã«ç Žæããå Žåã修埩ããããã«å®è¡ããå¿ èŠããããŸããïŒ ãŸãã¯ãæææ¥ãŸã§ãã¹ãŠæŸçœ®ããŠãéãã«ç ãããšãã§ããŸããïŒ
- ãããŠæãéèŠãªè³ªåïŒãã®ã·ã¹ãã ã¯ã©ã®ãããã®è² è·ããããã¹ãã§ããããïŒ ãåç¥ã®ããã«ã1æ¥5ååã®ã€ãã³ãã絶ãéãªãæµããŠããŸãã ãããããããã®ãã¡ã©ãã ããåããåŠçããã·ã¹ãã ãä»ããŠå®æœããã²ãŒã ã«é ãã¹ãã§ããããïŒ
建ç¯
ç§ãã¡ãæã£ãŠãããµãŒãã¹ã®ã¢ãŒããã¯ãã£ãŒã«ã€ããŠå°ãæãäžããŸãããã
ããŸãç®ç«ããªãå°ããªããŽã¯ãæã人æ°ã®ããã²ãŒã ã®1ã€ã§ããForge of Empiresã§ãã ãã®ã²ãŒã ã¯ãä»ã®ããã€ãã®ã²ãŒã ãšãšãã«ãApache Stormã®5åã€ãã³ããã¹ãŠã管çããŸãã ããªãã®å€ãã¯ãããäœã§ããããç¥ã£ãŠããŸã-ç§ã¯èª¬æããŸããã
CRMã«ã¯ãããããããã³ããšã³ãããããŸããããã³ããšã³ãã§ã¯ãåããããŒãžã£ãŒã次ã®ããã«è©±ããŸãã ç§ãã¡ããšãŠã芪åã ããã§ããã 圌ãã¯ãã®ããã³ããšã³ãã§åäœããŸãã ãã¹ãŠã®ããŒã¿ã¯ããŒã¿ããŒã¹ã«æžã蟌ãŸãããã®ãããªãã³ãã¬ãŒããå²åŒã䜿çšãããšããããŒã¯æ¬¡ã®ããã«ãªããŸãã ãããã¯ãã¹ãŠããŒã¿ããŒã¹ã«ä¿åãããŸãã ã€ãŸããäœããã®ããŒã¿ããŒã¹ãå¿ èŠã§ãã
ãã£ã«ã¿ãŒã§é€å€ãããããŒã¿ã¯ãKafkaã®Apache Stormããç§ãã¡ã®åŽã§ããã·ã¹ãã ã«å±ããŸãã ãã¡ãããããã¯äŸå€ãªãHadoopã«é£ãã§ãããŸãã 圌ããèšãããã«ã ãã®ããããã®ããŒã¿ã䜿çšã§ããŸãã
次ã«ããµãŒãã¹ã®åŽé¢ã«ãããããã³ã³ã·ã¥ãŒãããããŸããããã¯ãKafkaãããã®ããŒã¿ãèªã¿åããäœããã®æ¹æ³ã§ãã£ã«ã¿ãªã³ã°ããè£å®ããäœããã®æ¹æ³ã§äžè¬åããåäœã調ã¹ããã¥ãŒå ã®ãã¹ãŠãè©°ã蟌ã¿ãŸãã ããã¯ãã¹ãŠä¿¡é Œæ§ã®ããã«è¡ãããŸãã 次ã«ãããŒã¿ããŒã¹ããã§ãã¯ããã€ãã³ããè£è¶³ããããã«ãããŒãè¿œå ããããããäœããåé€ããããããã¹ãŠã²ãŒã ã«éä¿¡ãããããã¥ãŒãµãŒãããŸãã
ãã®åçã§ãäœãèŠããŸããïŒ
- ãã€ã¯ããµãŒãã¹ã䜿çšããŸãã å®éã«ã¯ãå€ãã®å°ããªã³ã³ããŒãã³ãããããŸãã ãããã¯ãã¹ãŠããã«è¡šãããŠããããã§ã¯ãããŸããããããã¯å
šäœåã§ãããããæ確ã§ãã
- è² è·ã¯é 次å¢å ããŠããŸãã ä»æ¥ããããŒãžã£ãŒã¯æ°åãè¯ããããããããã¹ãŠã®ãŠãŒã¶ãŒã«å²åŒãäžããŸããããïŒ çŸåšãæ°çŸäžäººãæ°åäžäººã®ãŠãŒã¶ãŒããªã³ã©ã€ã³ã§ãã¬ã€ããŠãããã¹ãŠã®äººã«å²åŒãæäŸããŸããïŒãåœç¶ãApache StormããKafkaãžã®ããŒã¿ã®æµããå¢å ããKafkaããã·ã¹ãã ã®åŽã«ç§»åããŸããã·ã¹ãã ã®ãã¹ãŠã®ã³ã³ããŒãã³ãã§ãè² è·ã倧å¹
ã«å¢å ããŸãã
5åã®ã€ãã³ããã¹ãŠãç§ãã¡ã«å±ããšããã¹ãŠãéåžžã«éãããŒããããŸãã ãããŒãžã£ãŒã¯æ©å«ãæªãããä»æ¥ã¯èª°ã«ãå€åŒããããããããŸãããã¿ããªã³ã£ããããŸãããã è² è·ã¯ãŸã£ãããªãããµãŒããŒã¯äœãããŸããã
- ã³ã³ããŒãã³ãã¯é«ä¿¡é Œæ§ã§ãªããã°ãªããŸããã ããšãã°ãKafkaã®æ¶è²»è
ãçå€äžã«æ
éãããšããã¹ãŠãåæ¢ããKafkaããªãŒããŒãããŒãã倧éã®ããŒã¿ã倱ãããŸãã äžè¬ã«ãããã¯éåžžã«æ²ããããšã§ãããããããç§éã¯ç§éèªèº«ã®æã§ããããã¹ãŠå埩ããªããã°ãªããŸããã
- ããŠãå®éã«ã³ã³ããŒãã³ãã®æ°ã¯äœã§ããïŒ ãã質åã§ãã ãªããªããã©ã®ã³ã³ããŒãã³ãã«ã©ã®æç¹ã§ããå€ãã®è² è·ããããããæ確ã§ã¯ãªãããã§ãã
ããŒã«ã§ã¢ã€ãã¢ãåŸãã®ã¯ã100å°ã®ä»®æ³ãã·ã³ãèµ·åããåžžã«çšŒåããç¶ããŠã¿ãŸãããïŒ çåœã®å Žåã ãã§ãè² è·ãæ¥ãã°-ç§éã¯ãããããã¹ãŠé£²ã¿èŸŒã¿ãŸããããã§ãªããã°-圌ãã¯ç«ã¡ãäœãããŸããã 誰ãããã®ãããªèããæã£ãŠããŸããïŒ å®éã«ã¯è¯ãã¢ã€ãã¢ã ããã§ã ããã«åº§ã£ãŠããäžäººã®å¥åº·ãªäººãããŸãã
ãã§ã«è¿°ã¹ãããã«ãäŒç€Ÿã¯ãã€ãã«ãããŸãã ããã¯ãã·ã¢ã«ã¯ããŸãé¢ä¿ãªããããããŸããããé»æ°ä»£ã¯æ¯æã£ãŠããŸãã ç¬èªã®ããŒã¿ã»ã³ã¿ãŒããããŸãã 枬å®ãè¡ããšã空ã®ä»®æ³ãã·ã³ã¯ããã€ããŒãããŸã£ãããªãããã12ã¯ããã®é»åãæ¶è²»ããããšãããããŸãã åããŠãããããšãã£ãŠã ããã¯1ã€ã®æž¬å®ãã£ãŒãã§ãã ç§ã¯ãã®ãããªæãäœããŸãã-ããã®ããã«ç§ã®èšèãåãåããŸãã
å¿ èŠã§ããïŒ 100å°ã®ä»®æ³ãµãŒããŒãèµ·åãããšããããã¯äœãããªãããŸã£ããäœãããªããšããçç±ã ãã§ãæé¡100ãŠãŒããæ¶è²»ããŸãã ãããšãããã倧ããªã·ã¹ãã ããæã¡ã§ããïŒ 1000å°ã®ãµãŒããŒããã®ããã«ãªããŸãã
ããŒã¿ã»ã³ã¿ãŒã®ç©ºæ°ãæž©ããã ãã§ãã ãªããããå¿ èŠãªã®ã§ããããïŒ
ããã§äœãã§ããŸããïŒ ãã®ç¶æ³ããæãåºãæ¹æ³ã¯ïŒ ããïŒ èªåã¹ã±ãŒãªã³ã°ã䜿çšããŸãïŒ ã©ãããŠïŒ
ã·ã¹ãã ãäœãããªãå ŽåïŒããšãã°ããããŒãžã£ãŒãä»æ¥æ害ã§ããã誰ã«ãå²åŒãäžããªãããšã決å®ããå ŽåïŒãå¿ èŠæå°éã®é«å¯çšæ§ã®ã¿ããµããŒãããŸãã å°ãªããšã2ã€ã®ã³ã³ããŒãã³ãããªãªãŒã¹ããŸããã
å€ãã®äŒæ¥ããããè¡ã£ãŠããŸãã ç§ã¯ãããªã©ã®ããã«Amazonãœãªã¥ãŒã·ã§ã³ããããšããäºå®ã«ã€ããŠã¯è©±ããŠããªãã Facebookã§ãã§ããŸãã 圌ãã¯æè¿ãããšãã°ãããŒããã©ã€ããç©ççã«ã·ã£ããããŠã³ããæ¹æ³ã«é¢ããèšäºãå ¬éããŸããã å€ãã®äŒæ¥ã¯ããµãŒããŒãç¡é§ã«ããªãããã«ããã®æ¹æ³ã§é»åãŸãã¯ãªãœãŒã¹ãç¯çŽããããšããŠããŸãã
å¿ èŠã«å¿ããŠãè² è·ãçºçããå Žåãåãã³ã³ããŒãã³ãã®è¿œå ã®ã€ã³ã¹ã¿ã³ã¹ãããã€ãèµ·åããªãã®ã¯ãªãã§ããïŒ Kafkaããã€ãã³ãã³ã³ã·ã¥ãŒããŒãèµ·åããã ãã§ããã¹ãŠãããŸããããŸãã ãããŠããããååã§ãªãå ŽåïŒããããã®ã³ã³ããŒãã³ããèµ·åããŸããããååãªä»®æ³ãã·ã³ããããŸãããïŒ ä»®æ³ãã·ã³ãè¿œå ããŸããããåé¡ã¯äœã§ãã-ãããããã»ã©é£ãããããŸããã
ãŸããããããŒãã¹ãšããŠã ã·ã¹ãã 管çè ãšãšã³ãžãã¢ã¯ç§ãç解ããŸã-ã·ã¹ãã ã¯ããèªäœãçããŸãã äœããã®çç±ã§ããããã®çš®ã®ãã¹ãŠã®æåãæ»ãã å Žåãã·ã¹ãã ã¯ãããã®æåãéå§ããŸãã å¿ èŠã«å¿ããŠããµãŒããŒãèµ·åããŸãã ããã¯ããªããç ãã¬å€ãããããªãã®åŠ»ãšã®quarãå€ã®ä»äºããçãããããããªãä»ã®åé¡ããæãã§ãããã
èµ·æº
èªåã¹ã±ãŒãªã³ã°ãã©ã®ããã«æ©èœããããç解ããã«ã¯ãèµ·æºã«ç®ãåãããã®æç¹ã§äœããã£ãããç解ããå¿ èŠããããŸãã
3ã€ã®ããŒã¿ã»ã³ã¿ãŒããããŸããïŒçŸåšããããŸãïŒã æ°åã®ä»®æ³ãã·ã³ãšæ°çŸã®ãã€ããŒãã€ã¶ãŒãã·ã³ããããŸãã äž»ã«ä»®æ³ãã·ã³ã«äœ¿çšããŸãã äž»ã«ã©ã€ããã€ã°ã¬ãŒã·ã§ã³ãåå ã§ãXenããKVMãžã®ç§»è¡ãå®äºããŸããã
ç§ãã¡ã¯ããªãçŸä»£çãªäŒç€Ÿã§ãã ããŸããŸãªã¯ã©ãŠããœãªã¥ãŒã·ã§ã³ããã¹ãããŠããŸãã ä»åŸã¯ãç¬èªã®ããŒã¿ã»ã³ã¿ãŒã䜿çšãããããã¯ããã«é«äŸ¡ã§ãããšèšããŸãã èªåã¹ã±ãŒãªã³ã°ãæ©èœããªããªããAmazonã§1000å°ã®ä»®æ³ãã·ã³ãèµ·åããå Žåãå£ããŠããŸããCRMã®å²åŒã¯åœ¹ã«ç«ã¡ãŸããã
Dockerã䜿çšããŸãããå®çšŒåç°å¢ã§ã䜿çšããŸãã ããããç§ã¯æãæããŸããã§ãã;圌ã«ãšãŠãæºè¶³ããŠããŸããã ã»ãšãã©ã®å Žåã圌ã¯ç§ãã¡ã«é©ãããã©ã€ããã€ã°ã¬ãŒã·ã§ã³ããããŸããã ãªãå¿ èŠãªã®ããåŸã§èª¬æããŸãã
åœæããã§ã«ç¬èªã®ã¯ã©ãŠããœãªã¥ãŒã·ã§ã³ããããŸããã å®éãç¹å¥ãªãã®ã¯äœããããŸãããPythonã§æžãããWebã€ã³ã¿ãŒãã§ãŒã¹ã ãã§ããããã«ã€ããŠèª¬æããŸãã
GraphiteãPuppetãNagiosãªã©ãããªãåå§çãªãªãŒãã³ãœãŒã¹ãœãªã¥ãŒã·ã§ã³ã䜿çšããŠããŸãã ãããããã€ã©ã€ãã1ã€ãããŸããPythonã§æžãããååã¯ãBrassMonkeyãšããååã®ã·ã¹ãã 管çè ã§ãã
ãããã£ãŠããã¹ãŠã®ãµãŒãã¹ã®è² è·ãäœããã®åœ¢ã§ãã©ã³ã¹ãããå¿ èŠããããŸãã ããããã®ã³ã³ããŒãã³ãããããããã«1äžåã®æ°ããã³ã³ããŒãã³ãã衚瀺ãããå¯èœæ§ãããããšãèŠããŠããŸãã ãããŠããããã®è² è·ãç©æ¥µçã«ãã©ã³ã¹ãããå¿ èŠããããŸãã æ°ãããã®ãéžæããå Žåãããã«ãã©ã³ã¹ãåããŸãã
ã芧ã®ãšãããè€æ°ã®ãã¹ãããããåãã¹ãã«ã¯äžå®æ°ã®ãã€ã¯ããµãŒãã¹ãå®è¡ãããŠããããããã®åãã€ã¯ããµãŒãã¹ã«ã¯ã«ãŒãããã¯ã€ã³ã¿ãŒãã§ã€ã¹ã«ãããªãã¯IPã¢ãã¬ã¹ããããŸãã
FreeBSDãšãã±ãããã£ã«ã¿ãŒã§è² è·åæ£ãå®è¡ããŸãã ãã¡ã€ã¢ãŠã©ãŒã«ã¯ãæ¯èŒçèšãã°ãè² è·ãåæ£ã§ããŸãã ãšãŠãç°¡åã«æ©èœããŸãã ããŒããŠã§ã¢ããŒããã©ã³ãµãŒããããåãIPã§ä»®æ³ããŒããã©ã³ãµãŒãæã¡äžããŸããã è² è·ã¯ã€ã³ã¿ãŒãããããçºçããããã¯ãã¹ãŠå®å šã«ãµãŒããŒãã³ã³ããŒãã³ãã«éä¿¡ãããŸãã
ãããããµãŒãã¹NããµãŒãã¹1ã«æ¥ç¶ãããå Žåã¯ã©ããªããŸããïŒ
ã¹ã©ã€ãã¯æ¬¡ã®ãšããã§ããLinuxã¯ããã©ã«ãã§ãæçãã¹ãã€ãŸãããŒã«ã«ãããã¯ãŒã¯ã¹ã¿ãã¯ãçŽæ¥äœ¿çšããããšãæšå¥šããŸãã ãµãŒãã¹1ãåæ¢ãããšã©ããªããŸããïŒ ãã¡ããããã®æ¥ç¶ã¯ãã¹ãŠåæãããŸãã ãµãŒãã¹Nã¯ããã«ã€ããŠæ±ºããŠç¥ãããšã¯ãããŸããã äœãæ©èœããããã°ã«ç»ããŸã§ããã®çç±ãç解ã§ããŸããã
ãã®åé¡ã解決ããããã«ãå°ããªããã¯ãäœæããŸããã éåžžããã®IPã«é¢é£ãããã¹ãŠã®ãã©ãã£ãã¯ã¯åžžã«éä¿¡ãããŸãã ããã«ããå°ãé ããªããŸããããµãŒããŒã¯åãã©ãã¯å ã«ãããŸãã ã»ãšãã©ã®å Žåãä»®æ³ãã·ã³ã¯åããã€ããŒãã€ã¶ãŒã§å®è¡ãããŸãã ããã¯ããã»ã©é£ãããªããæããªãã
ãããè¡ãã®ã¯éåžžã«ç°¡åã§ãéæ³ã¯å¿ èŠãããŸããã Linuxã§ã¯ãããã©ã«ãã§ãã¹ãã«IPãè¿œå ãããšãããŒã«ã«ã«ãŒãã£ã³ã°ããŒãã«ã«ã«ãŒããè¿œå ããŸãããåžžã«ãã®IPã«ããŒã«ã«ã«ãã©ãã£ãã¯ãéä¿¡ããŸãã ãã®ã«ãŒããåé€ããããŒãã«ãè¿œå ããŠãããããŠãåžžã«å€éšã€ã³ã¿ãŒãã§ã€ã¹ãçµç±ããŸãããšèšãã ãã§ãã ããã ãã§ãã ãã©ãã£ãã¯ãéä¿¡ããã®ã«å¿ èŠãªã®ã¯ããã ãã§ãã åžžã«ãã«ã¹ãã§ãã¯ãè¡ãããµãŒãã¹ã®ç¶æ ãåžžã«ææ¡ããŠãããäœãåé¡ãçºçããå Žåã¯ãå¥ã®ãã¹ãã«ç°¡åã«ãªãã©ã³ã¹ã§ããŸãã åé¡ãããŸããã
CRMã§ãã®è² è·åæ£ã䜿çšããå€ãã®ãã¹ããããããã€ã¯ããµãŒãã¹ãå®è¡ããŠããŸãã ã芧ã®ãšãããåãã¹ãã«ã¯ãå¯èœãªãã¹ãŠã®ãã€ã¯ããµãŒãã¹ã®å®å šãªã»ãããå¿ èŠã§ã¯ãããŸããã ãããã¯å®å šã«ç°ãªãå ŽåããããŸãã ãããŠããããã®åã«ããŒããã©ã³ãµãŒããããŸãã ãããã¯ãã¹ãŠå®å šã«ãã©ã³ã¹ãåããŠããŸãã
LBããŒã«ãã¢ã»ã³ãã«ãããããŒããã©ã³ãµãŒããã€ã¯ããµãŒãã¹Nããªããã¹ãHã§ã¢ã»ã³ãã«ããããšã©ããªããŸããïŒ è² è·ã¯ãããã«çŸãããŸã§ãã©ã³ã¹ãåããŸããã ãã¹ãŠãéåžžã«ã·ã³ãã«ã§ç°¡åã§ãã ãŸããçŽæ¥æ¥ç¶ãããå Žåã¯ãäžèšã§ã¯èª¬æããŠããŸããããæ¥ç¶ãããããŒããã©ã³ãµãŒãä»ããŠæ¥ç¶ããŸãã
ããŒããã©ã³ãµãŒã¯ã»ãŒã©ãã§ãçµã¿ç«ãŠãããŠããŸãã ãã§ã«è©±ããããŒã¿ããŒã¹ããããŸãã ãã®å ŽåãMariaDBã䜿çšããŸããå®å šã«åæããGaleraã¯ã©ã¹ã¿ãŒããããŸãã ã·ã¹ãã 管çè ãšååããããšã¯éåžžã«äŸ¿å©ã§ãã 倧ããªè² è·ã¯ãããŸãããåäœãããŠãã ããã è² è·ã¯ãŸã£ããåãæ¹æ³ã§ãã©ã³ã¹ãåãããŸãã ããšãã°ãããå€ãã®è² è·ãå¿ èŠãªå Žåã¯ããã€ã§ããã¹ããã¹ããŒããŠè¿œå ãçŽãããšãã§ããŸãã
ã³ã³ããŒãã³ãã¯ãããŒããã©ã³ãµãŒãä»ããŠçŽæ¥æ¥ç¶ãããŸãã ããªããèŠããŸãã«ãã®ãã¥ãŒã®ããã«çµã¿ç«ãŠãã®ãšãŸã£ããåãã·ã¹ãã ã RabbitMQã䜿çšããŸãã
èªåã¹ã±ãŒãªã³ã°
ç§ãã¡ã¯ãã§ã«æºåãæŽã£ãŠãããCRMã¢ãŒããã¯ãã£ã«é¢ãããã¹ãŠãå®å šã«ç解ããŠããŸãããªãŒãã¹ã±ãŒãªã³ã°ã«ã€ããŠã話ããŸãããã
ãã€ããŒãã€ã¶ãŒãããããããã®å€ããããããããã®å€ããããããã§ä»®æ³ãã·ã³ãå®è¡ããŠããŸãã åä»®æ³ãã¹ãã§ãå€ãã®ãã€ã¯ããµãŒãã¹ãéå§ããŸããã ã©ãããããããããã»ããµãšã¡ã¢ãªã®äœ¿çšéã«é¢ããããŒã¿ãéä¿¡ããå¿ èŠããããŸãã
Graphiteã«çºéããŸãã ãã ããGraphiteã¯ä¿¡é Œæ§ã«æ¬ ããå Žåãããããããšãã©ãåèµ·åããããäœãæªãããšãããå¿ èŠããããŸãã ä¿¡é Œæ§ã®é«ãåäœãå®çŸããã«ã¯èªåã¹ã±ãŒãªã³ã°ãå¿ èŠãªã®ã§ãåžžã«Graphiteã«å°éããããã®ã¡ããªãã¯ãå¿ èŠã§ããããããªããšãã·ã¹ãã ãçã£ãŠããŸããŸãã åæ ŒããŸããã
ãããè¡ãã«ã¯ãç¹å¥ãªGrafsyã¯ã©ã€ã¢ã³ããå¿ èŠã§ããGitHubã§èŠã€ããããšãã§ããŸãã ãã®Grafsyã¯ããã¹ãŠã®ã¡ããªãã¯ã確å®ã«Graphiteã«éä¿¡ããŸãã
ã°ã©ãã¡ã€ãã«ã€ããŠè©±ããŸãã ãã®éšå±ã®ä»ã®äººãã¡ãšåãããã«ãç§ãã¡ã¯Grafanaã䜿çšããŠããŸããGraphiteã䜿çšãã人ã¯ããŸããã Graphiteã®äœ¿çšã«é¢ããèå³æ·±ã詳现ã次ã«ç€ºããŸãã
æ¥ã®å£ãšããŠäœ¿çšããŸãã ããã«ã¯ãåœç€Ÿã®ãã¹ãŠã®ã·ã¹ãã 管çè ãããŸãã ç£èŠã·ã¹ãã ã§äººãæ±ããŠããåé¡ã®æ°ã瀺ããŸãã ããã¯å®éã«ãããã«æŽé ããã®ã«åœ¹ç«ã¡ãŸãã ããã«ãã®ããŒã¿ãéä¿¡ããã ãã§ã誰ãããããèŠãããšãã§ããŸãã äœãã®å ŽåïŒãããããããä¿®æ£ããŠãã ããïŒã
Graphiteãšèšãã°ããã¹ãã¯2ã€ãããããŸãããããã¹ãã¯ããªã倧ããã§ãã çŽ400ã®ã¬ãã€ãã®RAMãæèŒãããŠããŸãã ãŠã£ã¹ããŒã䜿çšããŸãã ãªããããããŸããïŒ ããã¯ããªãå€ããã¡ã€ã«ããŒã¿ããŒã¹ã§ããããšã¯èª°ããç¥ã£ãŠããŸãã ããªã倧ããªè² è·ããããããããã䜿çšããŸãã ããã¯1ç§ããã5äžïŒãŸãã¯ãã以äžïŒã®ã¡ããªãã¯ã§ãããéåžžã«å€ããªããŸãã ClickHouseãŸãã¯Cassandraã«ç§»è¡ããããšããŸãããã圌ããèšãã»ã©ã¯ã©ãŠãã¬ã¹ã§ã¯ãããŸããã WhisperãããçŽ2åé ããªããŸãã
ãã¹ãŠã®ä»®æ³ãã¹ãã§å®è¡ãããŠããGrafsyã¯ã©ã€ã¢ã³ãã䜿çšããŸãã 圌ã¯èªåèªèº«ã«ã¡ããªãã¯ãååŸããŸãã äœããã®çç±ã§Graphiteã䜿çšã§ããªãå Žåããããã®ãã¹ãŠã®ã¡ããªãã¯ãåŸã§åéä¿¡ããŸãã ãã®ã¯ã©ã€ã¢ã³ãã®æ¬è³ªã¯éåžžã«ã·ã³ãã«ã§ãã ããã¯éåžžã«è»œããæåéã2ã¡ã¬ãã€ãã®ã¡ã¢ãªãå¿ èŠãšãããã¹ãŠã®ãµãŒããŒã§åäœããŸãã ããå€ãã®æ©èœããããŸãã GitHubãã芧ãã ãã ã
ãŸããç¹å¥ãªéç¥æ©èœã䜿çšããŸããããã¯ãGrafana Webã€ã³ã¿ãŒãã§ãŒã¹ã§äœããè¡ãããšãçŽæããŠãããããŸã å®è¡ããŠããªãããã§ãã Grafanaã®ã°ã©ãã§äœããå€æŽãããå Žåããã®ããšãéç¥ããããšããã£ãšåã«çŽæããŠããŸããã ããããããã¯ãŸã è¡ãããŠããŸããã ãã£ã¹ã¯å®¹éãå¢ããå Žåãç£èŠã§ç¢ºèªããã ãã§ç¢ºèªã§ããŸãããã°ã©ãã¡ã€ãã§ã¯ç¢ºèªã§ããŸããã ãã®ãããªåçŽãªããŒã¢ã³ãããã«ã¯ã¹ã¯ãªããããããŸãã 圌ã¯GitHubã«ãåå ããŠããŸã ã 圌ã¯ããªããšããªãã®ç£èŠã·ã¹ãã ã«éç¥ããŸãã ããã¯éåžžã«æ®éçã§ãããå€ãã®ç°ãªãç£èŠã·ã¹ãã ã«éç¥ã§ããŸãã
IGCcollectã䜿çšããŠçµ±èšãåéããŸãã ãã®IGã¯InnoGamesãã圢æãããŠããŸãã GitHubã«ããããŸã ã
ãã¹ãŠã®ã¡ããªãã¯ãGraphiteã«å°çãããšãNagiosã«éç¥ãããŸãã ããã»ããµã®æ¶è²»éãå¢ããå Žåã¯ãåãéç¥æ©èœã䜿çšããŠNagiosã«éç¥ããŸãã
Nagiosã«ã€ããŠäžèšã ç§ãã¡ã¯çãIcingaãšThrukãWebã€ã³ã¿ãŒãã§ãŒã¹ãšããŠäœ¿çšããŠããŸãã Nagiosã¯å€ãã®èå³æ·±ãã¿ã¹ã¯ã«ã䜿çšãããŸããããšãã°ãå®éã«ã¯IPã¢ãã¬ã¹ãæããªãåœã®ãã¹ããªã©ã§ããäœããããåãªããããŒã®ãã«ã§ãã ãããã¯Nagiosã«ãããããã¯ã¢ããã®æ€èšŒãªã©ãããã€ãã®ãã§ãã¯ãè¡ããŸãã ããã¯ã¢ãããäœæããã ãã§ãªããå¥ã®å Žæã§åå¥ã«è§£åãããã¹ãŠãæ£åžžã§ããããšãéç¥ããŸãã ããã¯ãç¹å¥ãªãã¹ãã¿ã€ãã®ãã¢ã°ãªã²ãŒã¿ãŒããšåŒã°ããŸãã å°æ¥çã«ã¯ãèªåã¹ã±ãŒãªã³ã°ã«äœ¿çšããŸãã
Nagiosãéåžžã«å€§ããã1ã€ã®ãã¹ããã1ç§ãããçŽ450ã®ãã§ãã¯ãå®è¡ããŸããç°ãªãããŒã¿ã»ã³ã¿ãŒã«2ã€ã®ãã¹ãããããŸãã
次ã«äœãèµ·ãããŸããïŒ Nagiosãäœããã®æ¹æ³ã§ãããšãã°ãããã³ã³ããŒãã³ãã«ããããã»ããµã®äœ¿çšéãå€ããããšããæ å ±ãåä¿¡ãããšã匷åã§åŒ·åãªBrassMonkeyãç»å ŽããŸãã ç§ãèšã£ãããã«ãããã¯ç§ãã¡ã®ååã§ãã ã·ã¹ãã 管çè ã 圌ã«ã€ããŠå°ã話ããŸãããã ããã¯ã©ã®ããã«èŠãããã§ãã
æ¥åžžçãªã¿ã¹ã¯ã解決ããããã«é·ãé䜿çšãããŠããŸããã ããšãã°ããµãŒããŒãåèµ·åããŸãã çå€äžã«ãäœããã®çç±ã§ä»®æ³ãã·ã³ãããªãŒãºããŸããã BrassMonkeyã¯ãé»è©±ãåãã代ããã«ããã®ä»®æ³ãã·ã³ãèµ·åããŠåèµ·åããã ãã§åé¡ãããŸããã
åãããšããããŒã¢ã³ã®åèµ·åãããçš®ã®æ¥åžžçãªã¿ã¹ã¯ã§ãèµ·ãããŸãã 圌ã®ä»äºã®ã¢ã«ãŽãªãºã ã¯éåžžã«åçŽã§ãã 圌ã¯Nagiosã«è¡ãããèããªããã仲éãå°ãªããšãç§ã®ããã«äœããããŸããïŒãããã§ããã°ãã·ã¹ãã 管çè ã«éç¥ããå®éã«ããã€ãã®ã¢ã¯ã·ã§ã³ãå®è¡ããŸãã ããããåœç¶ã圌ã¯ãã£ãšå€ãã®ããšãè¡ãããšãã§ããŸãïŒèªåã¹ã±ãŒãªã³ã°ïŒ
ããšãã°ãBrassMonkeyãããžãã¹ãéå§ãããšãããã»ããµæéã®æ¶è²»éãããçšåºŠå¢å ããäœããã®ã€ãã³ãã«åå¿ããServeradminã«æ¥ç¶ããŸããããã¯ãå ã»ã©è¿°ã¹ãã¯ã©ãŠããœãªã¥ãŒã·ã§ã³ãšåãã§ãã
å®éããã®Serveradminã¯ã€ã³ãã©ã¹ãã©ã¯ãã£å ã®ãã¹ãŠã管çããŸãã 圌ãã§ããæãéèŠãªããšã¯ãåäžã®ã³ãã³ãã§åé¡ãªãæ°ããä»®æ³ãã·ã³ãäœæããããããšãã°æ¢åã®ä»®æ³ãã·ã³ã«ã³ã³ããŒãã³ããè¿œå ããããšã§ãã å¿ èŠãªã®ã¯ãBrassMonkeyãServeradminã«äœããããããã«èŠæ±ããããšã ãã§ãã
ããããServeradminã®å€èŠ³ã§ãã
ããã«å€ãã®å±æ§ããããŸãããããããèŠãå¿ èŠã¯ãããŸããã 圌ã®äž»ãªä»äºã¯ãåäžã®çå®ã®æºã«ãªãããšã§ãã ãã®äžã«ãããã¹ãŠã®æ å ±ã«ã¯ããã¹ãŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãå«ãŸããŠããŸãã ãã¹ããååšããå Žåããã®ãã¹ãã«ã€ããŠã®ãã¹ãŠãããã«èšè¿°ãããŸãã åžžã«ææ°ã®æ å ±ãå¿ èŠã§ãã
ãã¹ãã®åœ¹å²ãå€æŽããå Žåã¯ãWebã€ã³ã¿ãŒãã§ãŒã¹ãä»ããŠå±æ§å ã®Puppetã¯ã©ã¹ãããã«å€æŽããŸãã ã€ãŸãããããŠãããªãã¯ãã¯ãWebãµãŒããŒã§ã¯ãªããããªãã¯ããŒã¿ããŒã¹ã§ãããšèšãã®ã§ãã 1ã€ã®å±æ§ãå€æŽããã ãã§å®äºã§ãã
ãã¡ãããDNSãªã©ã®äºçŽ°ãªããšã管çãããµãŒããŒãã©ã®ãã©ã³ãµãŒã®äžã«ãããã管çããŸãã ãããŠãæãèå³æ·±ãããšã«ãä»®æ³ãã·ã³ã®å Žæãå¶åŸ¡ããŸãã Webã€ã³ã¿ãŒãã§ã€ã¹ã«ç§»åããããã§ä»®æ³ãã·ã³ã®å Žæãå€æŽã§ããŸãã ãã®å±æ§ã¯xen_hostãšåŒã°ããŸã-æŽå²çã«ã¯ãXenã䜿çšããŠããŸããã å±æ§ãå€æŽãããšãåãKVMã©ã€ã移è¡ã䜿çšããŠãããŠã³ã¿ã€ã ãªãã§ãã·ã³ãèªåçã«ç§»è¡ãããŸãã ããªãã®èšæ¶ã¯ãã®å Žã§ãŽãŒãžã£ã¹ã«åæãããŸãã ãããŠãã¡ããã圌ã¯Nagiosã®ãã§ãã¯ãGraphiteã®ã°ã©ãã£ãã¯ã¹ãªã©ã®åºæ¬çãªããšã管çããŠããŸãã
ããã¯ãèªåã¹ã±ãŒãªã³ã°ãšCRMãç£èŠããããã®ããã·ã¥ããŒãã®å€èŠ³ã§ãã å€ãã®ã°ã©ããããªãã«ãšã£ãŠèå³æ·±ãã°ã©ã-å³äžã®3ã€ã 圌ãã¯ç§ãã¡ã®ã·ã¹ãã ã®èœåã瀺ããŠããŸãã ããã»ããµã®äœ¿çšïŒçŸåšã¯ããã»ããµããŸã£ãã䜿çšãããŠããªãïŒãã¡ã¢ãªäœ¿çšéãããã³ã³ã³ããŒãã³ããèµ·åããä»®æ³ãã·ã³ã®ã¹ãããæ°ãããããšãããããŸãã
ãã¹ãŠãç£èŠããŸãããã¹ãŠã°ã©ãã¡ã€ãã«éãããŸããããã¯ãã¹ãŠNagiosãBrassMonkeyãéããŠè¡ããããã¹ãŠãçŸããã§ãã ãã¹ãŠãã©ã®ããã«æ©èœããããèŠãŠã¿ãŸãããã å®éã®äŸã
ãããã¢ã°ãªã²ãŒã¿ãŒã®å€èŠ³ã§ããNagiosã®åãä»®æ³ãã¹ãã§ã¯ãéèŠãªCRMããã³ããšã³ãã³ã³ããŒãã³ããããããšãããããŸãã äœããã®çç±ã§ãããããå€äžã«ã³ã³ããŒãã³ãã®1ã€ãæ»ã«ãŸããã ã©ããªãã®ïŒ
BrassMonkeyã¯ã²ãŒã ã«åå ããããã€ãã®åæãè¡ããæ¢ã«ååšãããã¹ãã®1ã€ã«åé¡ãªãæ°ããã³ã³ããŒãã³ããè¿œå ãããšæžããŸãã
次ã®å Žåã è² è·ãå¢ãããŸããã Kafkaããå€æ°ã®ã€ãã³ããå°çããCRM-event-consumerã§ã®å¹³åã³ã³ããŒãã³ãè² è·ãçŽ70ïŒ å¢å ããŸãããããã¯ãé倧ãªãããå€ãè¶ ããŠããŸãã
ç¹°ãè¿ããŸãããããã¯Graphiteã®ã°ã©ãã§èŠãããšãã§ããŸãã 2ã€ã®ã°ã©ãã衚瀺ãããŸããå·ŠåŽã¯ãã¹ãŠã®ä»®æ³ãã·ã³äžã®ã³ã³ããŒãã³ãã«ããããã»ããµæ¶è²»éã§ãããå³åŽã¯ãããã®ã³ã³ããŒãã³ãã®æ°ã§ãã 18:10é ãè² è·ãå€§å¹ ã«å¢å ãå§ããäžéšã®ããŒã¿ãå°çãå§ããã³ã³ããŒãã³ããæ©èœãå§ããããšãããããŸãã圌女ã¯å®¹èªã§ããç«å Žã«ãããäœãããŸããã§ããã次ã«ããã®è² è·ãã¯ãªãã£ã«ã«ãããå€ãè¶ ãã18ïŒ23é ã«æåã®è¿œå ã³ã³ããŒãã³ããè¿œå ãããŸãããããã«ãè² è·ã¯å¢å€§ãç¶ããã·ã¹ãã ã¯2çªç®ã®ã³ã³ããŒãã³ããè¿œå ããŸããç¶æ³ã解決ããããããããã§åæ¢ããŸããè² è·ãäžãããŸãã
å°ãæéãããããŸããããè² è·ãå¢å ããå Žåã§ãåãã³ã³ããŒãã³ããç¶æããŸãããããã¯ããªãè¯ãç¿æ £ã§ããFacebookãã¢ããã€ã¹ããŠããŸããããªããèšäºãèªãã å ŽåãNetflixã¯ããããèªåã¹ã±ãŒãªã³ã°ããã®ã§ã圌ãã¯ãŸãèšã£ãŠããïŒäºåã«äºæž¬ããŠãããã³ã³ããŒãã³ãã®æ°ããã£ããæžãããŠãã ããã念ã®ããã«ããããä¿æããŸãã
ãŸããããã»ããµæ¶è²»ã®ã°ã©ãã§ãæåã¯ã³ã³ã·ã¥ãŒããã³ã³ã·ã¥ãŒãã€ãã³ãã®è² è·ã¯å¢å ããŸãããããããã¥ãŒãµã®è² è·ã¯å¢å ããããšãããããŸããã€ãŸãããããã¥ãŒãµãŒããã°ããããŠããã²ãŒã ã«åå ããŸãããã€ãã³ãããã£ã«ã¿ãªã³ã°ããŠè¿œå ããå¿ èŠããããäœããã®éæ³ãèµ·ãã£ãŠããããã§ãããããããããã¥ãŒãµãŒã¯ç§ãã¡ã®ãããå€ãè¶ ããªãã£ãããããããã¥ãŒãµãŒãšã¯äœãããŸããã§ããã
BrassMonkeyã®ãã°ãèŠããšãBrassMonkeyã¯ããæç¹ã§åæ¢ããããšã決å®ããããšãããããŸããããã¯ãåã³ã³ããŒãã³ãã«å¿ èŠãªéã«ç¬èªã®å¶éãããããã§ãããã®ã³ã³ããŒãã³ãã«ã¯ããå€ãã®ããã»ããµãæ¶è²»ããå¿ èŠãããããã1ã€ã¯ããå€ãã®ã¡ã¢ãªã3çªç®ã®ãã£ã¹ã¯ãå¿ èŠã§ãã
ã·ã¹ãã ãçããªãããã«ãæã«èµ·ããªãããã«ããããŠåé¡ããªãããã«ãããã€ãã®å¶éããããŸããç§ãã¡ã¯ãBrassMonkeyãä»®æ³ãã·ã³ã®ãã£ã¹ã¯ãå¢ããããã«åããç¶æ³ããããŸãããããã©ã«ãã®ä»®æ³ãã·ã³ã¯10ã®ã¬ãã€ãã§ãããæç®ãèŠãããšãã圌女ã¯400ã®ã¬ãã€ãã§ããã XFSã¯ç°¡åã«å¢å ããŸããããŸã£ããæžå°ããªããããããã¯éåžžã«äžå¿«ã§ããã
ææã®ServeradminãèŠããšãServeradminãå¶åŸ¡ããPuppetã¯ã©ã¹ãšåãå±æ§ã4ã€ã®ã³ã³ããŒãã³ãã§ããããšãããããŸããç§ãã¡ã¯æéã§ã¯ãããŸããã
è² è·ãäœäžãããšã次ã«äœãèµ·ãããŸããïŒåçã§èŠãããã«ãããæç¹ã§åœŒå¥³ã¯ç ã£ãŠããŸãããããã»ã¹ã®æ¶è²»ã«æå°å¶éããããšããèŠåã衚瀺ãããŸããæ¡ä»¶ä»ãã§äœãããŸããããã éããã空æ°ãæž©ããŸãã BrassMonkeyã®ãã°ãèŠããšã圌ã¯æ¬¡ã®ããã«ãèšã£ãŠããããšãããããŸãããåæåŸã«ããã€ãã®ã³ã³ããŒãã³ããååŸããŸããããã
ãã®ãããªèªåã¹ã±ãŒãªã³ã°ãæ©èœãããã«ã¯ãäœãããå¿ èŠããããŸããïŒ
ã©ãã«ã§ããããªãŒãã³ãœãŒã¹ã®ãœãªã¥ãŒã·ã§ã³ã«å ããŠãäœããæžãå¿ èŠããããŸãã
ã¡ããªãã¯ã確å®ã«é ä¿¡ããã«ã¯ãGrafsyã¯ã©ã€ã¢ã³ããå¿ èŠã§ããäœããã®çç±ã§Graphiteãå£ããå Žå-ããšãã°ãWhisperã䜿çšããã¬ããªã±ãŒã·ã§ã³ãååã«ããŒãã«ããŸã-åæ¢ããã ãã§ãGrafsyã¯æ°æ¥ãå Žåã«ãã£ãŠã¯æ°é±éãå Žåã«ãã£ãŠã¯ã¡ããªãã¯ãèç©ãããããã¯ãã¹ãŠäžç·ã«éä¿¡ããŸãããããã£ãŠããããã倱ãããšã¯ãããŸããã
ãŸã åãéç¥æ©èœãèšè¿°ããå¿ èŠããããŸãããããã圌ãã¯èšãããã«ããã§ã«æžãããŠããŸããç¥ã«æè¬ããŸãã圌ã¯ããªãã«éç¥ããŸããããªãã¯ããŸããŸãªç£èŠã·ã¹ãã ã«ããã䜿çšããããšãã§ããŸãããã¹ãŠã¯ããã§éåžžã«ç°¡åã§ãã
ããã«ã€ããŠã¯ã話ãããŸããã§ãããããåç¥ã®ããã«ãããŒã¿ããŒã¹ã¯ã©ã¹ã¿ãŒãšãã¥ãŒã¯ã©ã¹ã¿ãŒããã®å Žåã¯RabbitMQããããŸãããŸããã¯ã©ã¹ã¿ãŒå ã®ããŒããåäœããŠããããšã確èªããå¿ èŠããããŸããç¡çç©ã®å Žåãè² è·ã®ãã©ã³ã¹ãåãã¹ãã§ã¯ãããŸãããããããMySQLãMariaDBã§äœããã¹ãã§ããããïŒ telnetãŸãã¯ãæ°ã«å ¥ãã®ãŠãŒãã£ãªãã£ã䜿çšããŠæ¥ç¶ããã ãã§ãããã®ããŒãã¯å®è¡äžã§ãããšåœŒå¥³ã¯èšããŸãã
ãã®ããŒã¿ãé¢é£ããŠããªãå Žåã¯ã©ããªããŸããïŒ ClusterHCã¯ããã§ã«ã¢ãžã¥ã©ãŒã·ã¹ãã ã§ãããšããç¹ã§èå³æ·±ãã§ããã¢ãžã¥ãŒã«ãç°¡åã«è¿œå ã§ããŸãã圌ã¯ãã¯ã©ã¹ã¿ãŒãåæããŠãããšããäºå®ã«ã€ããŠãMySQLãšRabbitMQããã§ãã¯ã§ããŸãããã¹ãŠããšãŠãçŸããã§ãã
åãMySQLã«å¯ŸããŠããŠãŒã¶ãŒãããŒãžã£ãŒã䜿çšããŸãã Puppetã¢ãžã¥ãŒã«ãè©ŠããŸããããã²ã©ãã®ã§ã䜿çšããªãã§ãã ãããmmduãè©ŠããŠãã ããããã¹ããã¯ã©ã¹ã¿ãŒã«å«ããã«ã¯ãåæèšå®ãå¿ èŠã§ããäžéšã®ãŠãŒã¶ãŒãååšããå¿ èŠããããŸããããã¯ããã®ãŠãŒãã£ãªãã£ã§éåžžã«ç°¡åã«å®è¡ã§ããŸãã圌女ã¯ãæ§æãã¡ã€ã«ãããã¹ãŠãç°¡åã«äœæããŸãã
ãããã®ãŠãŒãã£ãªãã£ã¯ãã¹ãŠGoã§èšè¿°ãããŠããŸãã BrassMonkeyãããããšãæãåºããŠãã ãããBrassMonkeyã«ã¯ãäœãã©ã®ãããªå Žåã«å®è¡ãããã瀺ãã¢ãžã¥ãŒã«ãå¿ èŠã§ãã Pythonã§æžãããŠããŸãã
ã¢ãŒããã¯ãã£ã®æ±ºå®ã§ã¯ãäœããããªããã°ãªããŸããã§ãããã³ã³ããŒãã³ããŸãã¯ä»®æ³ãã·ã³ã®æ°ãªã©ãå¢å ããå¿ èŠããããã®ã枬å®ããæ¹æ³ã決å®ããå¿ èŠããããŸãããç©åãšåŸ®åã®2ã€ã®æ¹æ³ããããŸããè² è·ã®å¢å ãäºæž¬ããããšã¯ã§ããŸãããããªãŒã±ãŒããã®ãããªæéã®å¹³åè² è·ã¯ããã®ãããªæéã«çããããšèšãããšãã§ããŸãã
å·®åãã¹ãè©ŠããŸãããéåžžã«æªããããªãã¯åžžã«äºæž¬ããŠããããã§ããã·ã¹ãã ããã§ã«åŠçããŠããå¯èœæ§ã®ããããŒã¿ã¹ããªãŒã ããããæ¢ã«äœããã¹ã±ãŒãªã³ã°ããå¿ èŠã¯ãªããäžå®ã®èª€æ€ç¥ããããŸããããã¯éåžžã«ãã®ã§ãç§ãã¡ã¯äžå¯æ¬ ãªéã«ãšã©ãŸãããšã«ããŸããã
1ã€ã®ã³ãã³ãã§ä»®æ³ãã·ã³ãäœæããå¿ èŠããããŸããç°¡åã«èãããŸãããPuppetã䜿çšãã人ã¯ãå°ãªããšãäœããã®åœ¢ã§Puppetã5ã6åå®è¡ããŠåäœãããå¿ èŠãããããšãç¥ã£ãŠããŸãããããéåžžã«è¯ã圢ã«ããå¿ èŠããããŸãã
ãŸããéåžžã«éèŠãªãã€ã³ããããã¯éçºè ã«ãšã£ãŠããéèŠã§ããè€æ°ã®ã³ã³ããŒãã³ããåæã«åäœãããå¿ èŠããããŸããéçºè ãšä»äºãå§ãããšãã«æåã«åºäŒã£ãã®ã¯ãã³ã³ããŒãã³ãããªãœãŒã¹ã奪ãåã£ãŠããã ããªã®ã§ãåžžã«ãããããã¯ãçºçããŠããããã§ãã
ãããã¯ãã¹ãŠããªãæçœãªãã®ã§ãããéæ³ã¯ãããŸãããã·ã¹ãã ãé©åã«ä¿ã€å¿ èŠããããŸãã
ãŸãšã
ããããã¹ãŠããçµè«ãå°ãããã®ã¯äœã§ããïŒ
å®éã«ãç¬èªã®èªåã¹ã±ãŒãªã³ã°ãè¡ãããšã¯ããã»ã©é£ãããããŸãããé«äŸ¡ãªAmazonãGoogleãMicrosoft Azureã䜿çšããå¿ èŠã¯ãããŸãããããã¯ãã¹ãŠãç¬èªã®ãªãœãŒã¹ã䜿çšããå Žåã®å°ãªããšã3åã®è²»çšãããããŸãããã¬ã³ããè¿œããããå¿ èŠã¯ãããŸããã
ç§ã¯ç§ã匷ã䞻匵ãããšèšãããšãã§ããŸãïŒå€åããªãã¯ãã§ã«ãã®ããã®ãã¹ãŠãæã£ãŠãããšæããŸããã»ãšãã©ã®å Žåãä»ã®ã·ã¹ãã ããã¯ãããžãŒã«ç§»è¡ããå¿ èŠã¯ãããŸãããçŸåšã®ä»®æ³åã䜿çšããã ãã§ããããã¯ãã¹ãŠè¡ãããŠããŸãã
äŒç€Ÿã®ãªãœãŒã¹ãç¯çŽã§ããŸããããŒããŠã§ã¢ãã·ã³ã®ããããªé»åããã£ã¹ã¯ã¹ããŒã¹ãããã³ã¹ããããç¯çŽããããšã«å ããŠãç¬èªã®ãªãœãŒã¹ãç¯çŽã§ããŸããçå€äžã«ãã¹ãŠãä¿®æ£ããå¿ èŠããªãããã§ããã·ã¹ãã èªäœã修埩ããããããã·ã¹ãã 管çè ã¯æºè¶³ããŸãã
ããŠãç§ã«ãšã£ãŠéèŠãªãã€ã³ãã¯ãããã«ãã®çã¿ããããŸããããã¯ãéçºè ãé©åãªã¢ããªã±ãŒã·ã§ã³ãäœæããããã«å¿ èŠãªãã®ã§ãããã®åã®ãã¬ãŒã³ããŒã·ã§ã³ã¯ãé©åãªã³ãŒãã«é¢ãããã®ã§ãããããã§é©åãªã¢ããªã±ãŒã·ã§ã³ãã§ããŸãããããã¯ããªãæçœã«èãããŸãã
GitHubã«èšèŒãããŠãããã¹ãŠã®ãŠãŒãã£ãªãã£ãèŠã€ããããšãã§ããŸãã
â åœç€Ÿã®GitHub
â My GitHub
詳现ã«ã€ããŠã¯ãåœç€Ÿã®Webãµã€ããã芧ãã ãã é¢çœããããããŸããã ããããšã
è² è·ã®éãç¥ããã«è² è·ã®é«ããµãŒãã¹ãäœæããæ¹æ³