
ã¢ããã人ã
ïŒ ç§ã®ååã¯ãªã¬ã°ã»ã¢ãã¹ã¿ã·ãšãã§ãããã©ãããã©ãŒã ããŒã ã®ãªããã¯ã©ã·ããã§åããŠããŸãã ãããŠãç§ä»¥å€ã«ãããªããã¯ã©ã¹ããã§ã¯å€ãã®éãåããŠããŸãã 4ã€ã®ããŒã¿ã»ã³ã¿ãŒããããçŽ500å°ã®ã©ãã¯ãš8,000å°ãè¶
ãããµãŒããŒããããŸãã ããæç¹ã§ãæ°ãã管çã·ã¹ãã ã®å°å
¥ã«ãããæ©åšã®ããå¹ççãªããŒããã¢ã¯ã»ã¹å¶åŸ¡ã®ä¿é²ãã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ã®ïŒåïŒé
åžã®èªååãæ°ãããµãŒãã¹ã®ç«ã¡äžãã®å éãå€§èŠæš¡ãªäºæ
ã«å¯Ÿããåå¿ã®å éãå¯èœã«ãªãããšãããããŸããã
ããã¯äœããæ¥ãã®ã§ããïŒ
ç§ãšããããã®éã«å ããŠããã®éã§åã人ã
ã¯ãŸã ããŸããããŒã¿ã»ã³ã¿ãŒã«çŽæ¥ãããšã³ãžãã¢ã ãããã¯ãŒã¯ãœãããŠã§ã¢ãæ§æãããããã¯ãŒã¯æ
åœè
ã ã€ã³ãã©ã¹ãã©ã¯ãã£ã®åŸ©å
åãæäŸãã管çè
ããŸãã¯SREã éçºããŒã ãããããããŒã¿ã«ã®æ©èœã®äžéšãæ
åœããŸãã 圌ããäœæãããœãããŠã§ã¢ã¯æ¬¡ã®ããã«æ©èœããŸãã

ãŠãŒã¶ãŒãªã¯ãšã¹ãã¯ãã¡ã€ã³ããŒã¿ã«www.ok.ruã®ããã³ããšãããšãã°é³æ¥œAPIã®ããã³ãã®äž¡æ¹ã§åä¿¡ãããŸãã ããžãã¹ããžãã¯ãåŠçããã«ã¯ãã¢ããªã±ãŒã·ã§ã³ãµãŒããŒãåŒã³åºããŸããã¢ããªã±ãŒã·ã§ã³ãµãŒããŒã¯ãèŠæ±ãåŠçãããšãã«ãå¿
èŠãªç¹æ®ãªãã€ã¯ããµãŒãã¹ïŒã¯ã³ã°ã©ãïŒãœãŒã·ã£ã«ã³ãã¯ã·ã§ã³ã®ã°ã©ãïŒããŠãŒã¶ãŒãã£ãã·ã¥ïŒãŠãŒã¶ãŒãããã¡ã€ã«ã®ãã£ãã·ã¥ïŒãªã©ïŒãåŒã³åºããŸãã
ãããã®åãµãŒãã¹ã¯å€ãã®ãã·ã³ã«å±éãããåãµãŒãã¹ã«ã¯ã¢ãžã¥ãŒã«ã®æäœãæäœãæè¡éçºãæ
åœãã責任ããéçºè
ãããŸãã ãããã®ãµãŒãã¹ã¯ãã¹ãŠéã®ãµãŒããŒã§èµ·åãããæè¿ãŸã§ãµãŒããŒããšã«1ã€ã®ã¿ã¹ã¯ãã€ãŸãç¹å®ã®ã¿ã¹ã¯ã«ç¹åããã¿ã¹ã¯ãéå§ããŸããã
ãªããã ãã®ã¢ãããŒãã«ã¯ããã€ãã®å©ç¹ããããŸããã
- 倧é管çã容æã«ãªããŸãã ã¿ã¹ã¯ã«ããã€ãã®ã©ã€ãã©ãªãããã€ãã®èšå®ãå¿
èŠã ãšããŸãã ãããŠããµãŒããŒã¯ç¹å®ã®1ã€ã®ã°ã«ãŒãã«æ£ç¢ºã«å²ãåœãŠããããã®ã°ã«ãŒãã®cfengineããªã·ãŒãèšè¿°ããïŒãŸãã¯æ¢ã«èšè¿°ãããŠããŸãïŒããã®æ§æã¯ãã®ã°ã«ãŒãã®ãã¹ãŠã®ãµãŒããŒã«äžå
çãã€èªåçã«å±éãããŸãã
- 蚺æãç°¡çŽ åãããŸãã äžå€®åŠçè£
眮ã®å¢å ããè² è·ãèŠãŠããã®é補ããã»ããµã§å®è¡ãããã¿ã¹ã¯ã®ã¿ããã®è² è·ãçæã§ããããšãçè§£ãããšããŸãã æçœªã®èª¿æ»ã¯éåžžã«è¿
éã«çµäºããŸãã
- ç£èŠãç°¡çŽ åãããŸãã ãµãŒããŒã«äœãåé¡ãããå Žåãã¢ãã¿ãŒã¯ãããå ±åãã誰ã責任ãè² ãããæ£ç¢ºã«ææ¡ããŸãã
è€æ°ã®ã¬ããªã«ã§æ§æããããµãŒãã¹ã«ã¯ãããããã«1ã€ãã€ãè€æ°ã®ãµãŒããŒãå²ãåœãŠãããŸãã æ¬¡ã«ããµãŒãã¹ã®èšç®ãªãœãŒã¹ãéåžžã«ç°¡åã«å²ãåœãŠãããŸããã€ãŸãããµãŒãã¹ã«ããã€ã®ãµãŒããŒããããå¯èœãªéããªãœãŒã¹ãæ¶è²»ã§ãããã§ãã ããã§ãããã·ã³ãã«ããšã¯ã䜿ãããããšããæå³ã§ã¯ãªãããªãœãŒã¹ã®å²ãåœãŠãæåã§è¡ããããšããæå³ã§ãã
ãŸãããã®ã¢ãããŒãã«ããããã®ãµãŒããŒã§å®è¡ããã¿ã¹ã¯ã«ç¹åããéã®æ§æãäœæã§ããŸããã ã¿ã¹ã¯ã倧éã®ããŒã¿ãä¿åããå Žåã38ãã£ã¹ã¯ã®ã·ã£ãŒã·ãæã€4UãµãŒããŒã䜿çšããŸãã ã¿ã¹ã¯ãçŽç²ã«èšç®ã§ããå Žåãå®äŸ¡ãª1UãµãŒããŒã賌å
¥ã§ããŸãã ã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ã®ç¹ã§å¹ççã§ãã ãã®ã¢ãããŒããå«ãããšã1ã€ã®å奜çãªãœãŒã·ã£ã«ãããã¯ãŒã¯ã«å¹æµããè² è·ã§4åå°ãªãèªåè»ã䜿çšã§ããŸãã
ã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ã®äœ¿çšã«ããããã®ãããªå¹çã¯ãæãé«äŸ¡ãªãã®ããµãŒããŒã§ãããšããåæã«åºã¥ããŠãçµæžçãªå¹çã確ä¿ããå¿
èŠããããŸãã é·ãéãæãé«äŸ¡ã ã£ãã®ã¯ããŒããŠã§ã¢ã§ãããéã®äŸ¡æ Œãäžããããã«å€ãã®ãšãã«ã®ãŒãæè³ãããã©ãŒã«ããã¬ã©ã³ã¹ã確ä¿ããŠæ©åšã®ä¿¡é Œæ§ã®èŠä»¶ãæžããã¢ã«ãŽãªãºã ãèæ¡ããŸããã ãããŠä»æ¥ããµãŒããŒã®äŸ¡æ Œã決å®çã§ã¯ãªããªã£ã段éã«å°éããŸããã æ°é®®ãªãšããŸããã¯ãèæ
®ããªãå Žåãã©ãã¯å
ã®ãµãŒããŒã®ç¹å®ã®æ§æã¯éèŠã§ã¯ãããŸããã çŸåšãå¥ã®åé¡ããããŸããããŒã¿ã»ã³ã¿ãŒã®ãµãŒããŒå æã¹ããŒã¹ã®äŸ¡æ Œãã€ãŸãã©ãã¯ã¹ããŒã¹ã§ãã
ãã®ãããã©ãã¯ã®äœ¿çšå¹çãèšç®ããããšã«ããŸããã
æã匷åãªãµãŒããŒã®äŸ¡æ Œãçµæžçã«å®è¡å¯èœãªãµãŒããŒããååŸããã©ãã¯ã«èšçœ®ã§ãããµãŒããŒã®æ°ãã1ãµãŒããŒ= 1ã¿ã¹ã¯ããšããå€ãã¢ãã«ã«åºã¥ããŠãããã§å®è¡ããã¿ã¹ã¯ã®æ°ãããã³ãã®ãããªã¿ã¹ã¯ãæ©åšãå©çšã§ããéãèšç®ããŸããã 圌ãã¯æ³£ããŠãããšæã£ãã ã©ãã¯ã䜿çšããå Žåã®å¹çã¯çŽ11ïŒ
ã§ããã çµè«ã¯æããã§ããããŒã¿ã»ã³ã¿ãŒã®äœ¿çšå¹çãé«ããå¿
èŠããããŸãã 解決çã¯æããã§ããããã«æãããŸããåããµãŒããŒã§è€æ°ã®ã¿ã¹ã¯ãäžåºŠã«å®è¡ããå¿
èŠããããŸãã ããããããããå°é£ãå§ãŸããŸãã
äžæ¬èšå®ã¯éåžžã«è€éã«ãªã£ãŠããŸã-çŸåšã1ã€ã®ã°ã«ãŒãããµãŒããŒã«å²ãåœãŠãããšã¯ã§ããŸããã å®éãç°ãªãããŒã ã®è€æ°ã®ã¿ã¹ã¯ã1ã€ã®ãµãŒããŒã§èµ·åã§ããŸãã ããã«ãç°ãªãã¢ããªã±ãŒã·ã§ã³ã§ã¯æ§æãç«¶åããå ŽåããããŸãã 蚺æãè€éã§ãããµãŒããŒäžã®ããã»ããµãŸãã¯ãã£ã¹ã¯ã®æ¶è²»éãå¢ããŠããå Žåãã©ã®ã¿ã¹ã¯ãåé¡ãåŒãèµ·ãããŠãããããããŸããã
ããããäž»ãªããšã¯ãåããã·ã³ã§å®è¡ãããŠããã¿ã¹ã¯éã§åé¢ããªãããšã§ãã ããã¯ãããšãã°ãæåã®ã¢ããªã±ãŒã·ã§ã³ãšæ¥ç¶ãããŠããªãå¥ã®èšç®ã¢ããªã±ãŒã·ã§ã³ãåããµãŒããŒã§èµ·åãããååŸã®ãµãŒããŒã¿ã¹ã¯ã®å¹³åå¿çæéã®ã°ã©ãã§ã-ã¡ã€ã³ã¿ã¹ã¯ããå¿çãåä¿¡ããæéã倧å¹
ã«å¢å ããŸããã

æããã«ãã³ã³ãããŸãã¯ä»®æ³ãã·ã³ã§ã¿ã¹ã¯ãå®è¡ããå¿
èŠããããŸãã ã»ãŒãã¹ãŠã®ã¿ã¹ã¯ã1ã€ã®OSïŒLinuxïŒã®å¶åŸ¡äžã§å®è¡ãããããããã«é©åããŠãããããå€ãã®ç°ãªããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããµããŒãããå¿
èŠã¯ãããŸããã ãããã£ãŠã远å ã®ãªãŒããŒãããã®ãããä»®æ³åã¯å¿
èŠãããŸãããã³ã³ããåãããå¹çãäœäžããŸãã
DockerãµãŒããŒã§ã¿ã¹ã¯ãçŽæ¥èµ·åããããã®ã³ã³ãããŒå®è£
ãšããŠãããã¯è¯ãåè£ã§ãããã¡ã€ã«ã·ã¹ãã ã€ã¡ãŒãžã¯ãæ§æã®ç«¶åã«é¢ããåé¡ãé©åã«è§£æ±ºããŸãã ã€ã¡ãŒãžãè€æ°ã®ã¬ã€ã€ãŒã§æ§æã§ãããšããäºå®ã«ãããã€ã³ãã©ã¹ãã©ã¯ãã£ã«ã€ã¡ãŒãžãå±éããããã«å¿
èŠãªããŒã¿éã倧å¹
ã«åæžããå¥ã
ã®ããŒã¹ã¬ã€ã€ãŒã®å
±ééšåã匷調ã§ããŸãã ãã®åŸãããŒã¹ïŒããã³æã容éã®å€§ããïŒã¬ã€ã€ãŒãã€ã³ãã©ã¹ãã©ã¯ãã£å
šäœã«ãã°ãããã£ãã·ã¥ãããããŸããŸãªçš®é¡ã®ã¢ããªã±ãŒã·ã§ã³ãããŒãžã§ã³ãé
ä¿¡ããããã«ãå°ããªãµã€ãºã®ã¬ã€ã€ãŒã®ã¿ã転éããå¿
èŠããããŸãã
ããã«ãæ¢è£œã®ã¬ãžã¹ããªãšDockerã®ã¿ã°ä»ãã€ã¡ãŒãžã¯ãããŒãžã§ã³ç®¡çãšæ¬çªç°å¢ãžã®ã³ãŒãé
ä¿¡ã®ããã®æ¢è£œã®ããªããã£ããæäŸããŸãã
Dockerã¯ãä»ã®åæ§ã®ãã¯ãããžãŒãšåæ§ã«ãã³ã³ãããããã«äœ¿çšã§ããäžå®ã¬ãã«ã®åé¢ãæäŸããŸãã ããšãã°ãã¡ã¢ãªã®åé¢-åã³ã³ããã«ã¯ãã·ã³ã¡ã¢ãªã®äœ¿çšå¶éãäžãããããããè¶
ãããšã¡ã¢ãªã¯æ¶è²»ãããŸããã CPUã䜿çšããŠã³ã³ãããåé¢ããããšãã§ããŸãã 確ãã«ãæšæºçãªåé¢ã§ã¯äžååã§ããã ããããããã«ã€ããŠã¯ä»¥äžã§è©³ãã説æããŸãã
ãµãŒããŒäžã§ã³ã³ãããçŽæ¥å®è¡ããããšã¯ãåé¡ã®äžéšã«ãããŸããã ä»ã®éšåã¯ããµãŒããŒäžã®ã³ã³ããã®é
眮ã«é¢é£ããŠããŸãã ã©ã®ã³ã³ãããŒãã©ã®ãµãŒããŒã«é
眮ã§ããããçè§£ããå¿
èŠããããŸãã ããã¯ããã»ã©ç°¡åãªäœæ¥ã§ã¯ãããŸãããã³ã³ãããã§ããã ãå¯ã«ãµãŒããŒã«é
眮ããå¿
èŠãããäžæ¹ã§ãäœæ¥ã®é床ãäœäžãããªãããã§ãã ãã®é
眮ã¯ãèé害æ§ã®èгç¹ããé£ããå ŽåããããŸãã å€ãã®å ŽåãåããµãŒãã¹ã®ã¬ããªã«ãç°ãªãã©ãã¯ã«é
眮ããããããŒã¿ã»ã³ã¿ãŒã®ç°ãªãããŒã«ã«é
眮ããããããããã©ãã¯ãŸãã¯ããŒã«ã«é害ãçºçããŠãããµãŒãã¹ã®ãã¹ãŠã®ã¬ããªã«ãããã«å€±ãããããšã¯ãããŸããã
8000åã®ãµãŒããŒãš8ã16,000åã®ã³ã³ãããŒãããå Žåãã³ã³ãããŒãæåã§é
åžããããšã¯ã§ããŸããã
ããã«ãéçºè
ã管çè
ã®å©ããåããã«èªåãã¡ã§ãµãŒãã¹ãéçšã§ããããã«ãéçºè
ã«ãªãœãŒã¹ã®å²ãåœãŠã®èªåŸæ§ãé«ããããšèããŸããã åæã«ãäžéšã®ãã€ããŒãµãŒãã¹ãããŒã¿ã»ã³ã¿ãŒã®ãã¹ãŠã®ãªãœãŒã¹ãæ¶è²»ããªãããã«ãå¶åŸ¡ãç¶æãããã£ãã®ã§ãã
æããã«ããããèªåçã«è¡ãã³ã³ãããŒã«ã¬ã€ã€ãŒãå¿
èŠã§ãã
ã ããç§ãã¡ã¯ããã¹ãŠã®å»ºç¯å®¶ãæããã·ã³ãã«ã§çè§£ããããç»åã«å°éããŸããã3ã€ã®å°ããªæ£æ¹åœ¢ã§ãã

one-cloud mastersã¯ãã¯ã©ãŠããªãŒã±ã¹ãã¬ãŒã·ã§ã³ãæ
åœãããã§ãŒã«ãªãŒããŒã¯ã©ã¹ã¿ãŒã§ãã éçºè
ã¯ããµãŒãã¹ãé
眮ããããã«å¿
èŠãªãã¹ãŠã®æ
å ±ãå«ããããã§ã¹ãããã¹ã¿ãŒã«éä¿¡ããŸãã ããã«åºã¥ããŠããã¹ã¿ãŒã¯éžæãããããªã³ïŒã³ã³ãããèµ·åããããã«èšèšããããã·ã³ïŒã«ã³ãã³ããæäŸããŸãã æå
ã«ã¯ãã³ãã³ããåãåãããã§ã«Dockerã³ãã³ããæäŸããŠãããšãŒãžã§ã³ããããŸããDockerã¯ã察å¿ããã³ã³ãããŒãèµ·åããããã«Linuxã«ãŒãã«ãæ§æããŸãã ã³ãã³ãã®å®è¡ã«å ããŠããšãŒãžã§ã³ãã¯ããããªã³ãã·ã³ãšãã®äžã§å®è¡ãããŠããã³ã³ããã®äž¡æ¹ã®ç¶æ
ã®å€åã«ã€ããŠãã¹ã¿ãŒã«ç¶ç¶çã«éç¥ããŸãã
ãªãœãŒã¹å²ãåœãŠ
ãããŠä»ãç§ãã¡ã¯å€ãã®æå
ã®ãªãœãŒã¹ã®ããè€éãªå²ãåœãŠã®ã¿ã¹ã¯ãæ±ããŸãã
ã¯ã³ã¯ã©ãŠãã®ã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ã¯æ¬¡ã®ãšããã§ãã
- ç¹å®ã®ã¿ã¹ã¯ã«ãã£ãŠæ¶è²»ãããèšç®ããã»ããµã®é»åã
- ã¿ã¹ã¯ã§äœ¿çšå¯èœãªã¡ã¢ãªã®éã
- ãããã¯ãŒã¯ãã©ãã£ãã¯ã åãããªã³ã«ã¯åž¯åå¹
ãå¶éãããç¹å®ã®ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ãããããããããã¯ãŒã¯ãä»ããŠéä¿¡ãããããŒã¿éãèæ
®ããã«ã¿ã¹ã¯ã忣ããããšã¯ã§ããŸããã
- ãã£ã¹ã¯ã ããã«ãæããã«ããããã®ã¿ã¹ã¯ã®ããã«ããã£ã¹ã¯ã®çš®é¡ãšããŠHDDãŸãã¯SSDã®é åãå²ãåœãŠãŸãã ãã£ã¹ã¯ã¯1ç§ãããæéæ°ã®ãªã¯ãšã¹ããåŠçã§ããŸã-IOPSã ãããã£ãŠã1ã€ã®ãã£ã¹ã¯ã§åŠçã§ãã以äžã®IOPSãçæããã¿ã¹ã¯ã®å Žåããã¹ãã³ãã«ããã€ãŸãã¿ã¹ã¯å°çšã«äºçŽããå¿
èŠããããã£ã¹ã¯ããã€ã¹ãéžæããŸãã
次ã«ããŠãŒã¶ãŒãã£ãã·ã¥ãªã©ã®äžéšã®ãµãŒãã¹ã§ã¯ãæ¶è²»ããããªãœãŒã¹ãæ¬¡ã®æ¹æ³ã§èšé²ã§ããŸãã400ããã»ããµã³ã¢ã2.5 TBã®ã¡ã¢ãªãäž¡åŽã®50 Gb /ç§ã®ãã©ãã£ãã¯ã100ã¹ãã³ãã«ã«ããHDDã®6 TBã®ã¹ããŒã¹ã ãŸãã¯ã次ã®ãããªãã銎æã¿ã®ãã圢åŒã§ïŒ
alloc: cpu: 400 mem: 2500 lan_in: 50g lan_out: 50g hdd:100x6T
ãŠãŒã¶ãŒãã£ãã·ã¥ãµãŒãã¹ã®ãªãœãŒã¹ã¯ãéçšã€ã³ãã©ã¹ãã©ã¯ãã£ã§å©çšå¯èœãªãã¹ãŠã®ãªãœãŒã¹ã®ã»ãã®äžéšãæ¶è²»ããŸãã ãããã£ãŠããªãã¬ãŒã¿ãŒã®ãšã©ãŒãåå ã§çªç¶ããŠãŒã¶ãŒãã£ãã·ã¥ãå²ãåœãŠãããããå€ãã®ãªãœãŒã¹ãæ¶è²»ããªãããã«ããããšæããŸãã ã€ãŸãããªãœãŒã¹ãå¶éããå¿
èŠããããŸãã ãããããªãã¯ã©ãŒã¿ãå²ãåœãŠãããšãã§ããŸããïŒ
éåžžã«åçŽåãããã³ã³ããŒãã³ãã€ã³ã¿ã©ã¯ã·ã§ã³ãã€ã¢ã°ã©ã ã«æ»ããæ¬¡ã®ããã«è©³çްãåæç»ããŸãããã

ããªãã®ç®ãåŒããã®ïŒ
- Webããã³ããšã³ããšé³æ¥œã¯ãåãã¢ããªã±ãŒã·ã§ã³ãµãŒããŒã®åé¢ãããã¯ã©ã¹ã¿ãŒã䜿çšããŸãã
- ãããã®ã¯ã©ã¹ã¿ãŒãå±ããè«çã¬ã€ã€ãŒãããã³ãããã£ãã·ã¥ãã¹ãã¬ãŒãžãããŒã¿ç®¡çã¬ã€ã€ãŒãåºå¥ã§ããŸãã
- ããã³ããšã³ãã¯ç°çš®ã§ããããããã¯ç°ãªãæ©èœãµãã·ã¹ãã ã§ãã
- ãã£ãã·ã¥ã¯ããã£ãã·ã¥ããããŒã¿ã®ãµãã·ã¹ãã ã«ãã£ãŠåæ£ããããšãã§ããŸãã
ããäžåºŠçµµãæãçŽããŸãããã

ããïŒ ã¯ããéå±€ããããŸãïŒ ãããã£ãŠããªãœãŒã¹ããã倧ããªéšåã«åæ£ã§ããŸããæ©èœãµãã·ã¹ãã ïŒå³ã®ã鳿¥œããªã©ïŒã«å¯Ÿå¿ãããã®éå±€ã®ããŒãã«è²¬ä»»ã®ããéçºè
ãå²ãåœãŠãåãéå±€ã¬ãã«ã«ã¯ã©ãŒã¿ãå²ãåœãŠãŸãã ãã®ãããªéå±€ã«ããã管çã容æã«ããããã«ãµãŒãã¹ãããæè»ã«ç·šæããããšãã§ããŸãã ããšãã°ããã¹ãŠã®Webã¯ãµãŒããŒã®éåžžã«å€§ããªã°ã«ãŒãåã§ãããããå³ã«group1ãgroup2ãšããŠç€ºãããŠããããã€ãã®å°ããªã°ã«ãŒãã«åå²ããŸãã
äœåãªè¡ãåé€ããã®ã§ãç»åã®åããŒãããããã©ãããªåœ¢åŒã§èšè¿°ããããšãã§ããŸãïŒ group1.web.front ã api.music.front ã user-cache.cache ã
ããã§ããéå±€åãã¥ãŒãã®æŠå¿µã«åãçµã¿ãŸãã 圌女ã®ååã¯ãgroup1.web.frontãã§ãã ãªãœãŒã¹ãšãŠãŒã¶ãŒæš©å©ã®ã¯ã©ãŒã¿ãå²ãåœãŠãããŸãã DevOpsã®äººã«ãµãŒãã¹ããã¥ãŒã«éä¿¡ããæš©å©ãäžããŸãããã®ãããªåŸæ¥å¡ã¯ãã¥ãŒã§äœããå®è¡ã§ããOpsDevã®äºº-管çè
æš©éããããŠä»ã圌ã¯ãã¥ãŒã管çããããã§äººãæåãããããã®äººã«æš©å©ãäžããããšãã§ããŸãããã®ãã¥ãŒã§èµ·åããããµãŒãã¹ã¯ããã¥ãŒã¯ã©ãŒã¿ã®äžéšãšããŠå®è¡ãããŸãã ãã¥ãŒã®èšç®ã¯ã©ãŒã¿ããã¹ãŠã®ãµãŒãã¹ã®åæå®è¡ã«ååã§ãªãå Žåããããã¯é 次å®è¡ãããããããã¥ãŒèªäœã圢æãããŸãã
ãµãŒãã¹ãããè©³çŽ°ã«æ€èšããŠãã ããã ãµãŒãã¹ã«ã¯å®å
šä¿®é£Ÿåããããåžžã«ãã¥ãŒåãå«ãŸããŸãã ãã®å Žåãããã³ãWebãµãŒãã¹ã®ååã¯ok-web.group1.web.frontã«ãªããŸãã ãããŠã圌ãåç
§ããã¢ããªã±ãŒã·ã§ã³ãµãŒããŒãµãŒãã¹ã¯ok-app.group1.web.frontãšåŒã°ããŸãã åãµãŒãã¹ã«ã¯ãç¹å®ã®ãã·ã³ã«é
眮ããããã«å¿
èŠãªãã¹ãŠã®æ
å ±ã瀺ãããŠãããããã§ã¹ãããããŸãïŒãã®ã¿ã¹ã¯ãæ¶è²»ãããªãœãŒã¹ã®æ°ããµãŒãã¹ã«å¿
èŠãªæ§æãã¬ããªã«ã®æ°ããã®ãµãŒãã¹ã®é害ãåŠçããããã®ããããã£ã ãããŠããµãŒãã¹ããã·ã³ã«çŽæ¥é
眮ãããšããã®ã€ã³ã¹ã¿ã³ã¹ã衚瀺ãããŸãã ãŸããã€ã³ã¹ã¿ã³ã¹çªå·ãšãµãŒãã¹åãšããŠäžæã«ååãä»ããããŸãïŒ 1.ok-web.group1.web.frontã2.ok-web.group1.web.frontã...
ããã¯éåžžã«äŸ¿å©ã§ããå®è¡äžã®ã³ã³ããã®ååã ããèŠããšãããã«å€ãã®ããšãããããŸãã
次ã«ããããã®ã€ã³ã¹ã¿ã³ã¹ãå®éã«è¡ãããšãã€ãŸãã¿ã¹ã¯ã«ã€ããŠè©³ããèŠãŠãããŸãã
ã¿ã¹ã¯åé¢ã¯ã©ã¹
OKã®ãã¹ãŠã®ã¿ã¹ã¯ïŒããã³ããããã©ãã§ãïŒã¯ã°ã«ãŒãã«åå²ã§ããŸãã
- çé
å»¶ã¿ã¹ã¯-補å ã ãã®ãããªã¿ã¹ã¯ãšãµãŒãã¹ã§ã¯ãåŸ
ã¡æéãéåžžã«éèŠã§ããããã¯ãã·ã¹ãã ãåèŠæ±ãåŠçããé床ã§ãã ã¿ã¹ã¯ã®äŸïŒWebããã³ãããã£ãã·ã¥ãã¢ããªã±ãŒã·ã§ã³ãµãŒããŒãOLTPã¹ãã¬ãŒãžãªã©
- 決æžã¿ã¹ã¯-ããã ã ããã§ã¯ãç¹å®ã®åãªã¯ãšã¹ãã®åŠçé床ã¯éèŠã§ã¯ãããŸããã 圌ãã«ãšã£ãŠããã®ã¿ã¹ã¯ãäžå®ã®ïŒé·ãïŒæéã«äœåèšç®ãããïŒã¹ã«ãŒãããïŒãéèŠã§ãã ããã¯ãMapReduceãHadoopãæ©æ¢°åŠç¿ãçµ±èšãªã©ã®ã¿ã¹ã¯ã«ãªããŸãã
- ããã¯ã°ã©ãŠã³ãã¿ã¹ã¯-ã¢ã€ãã«ç¶æ
ã ãã®ãããªã¿ã¹ã¯ã§ã¯ãåŸ
ã¡æéãã¹ã«ãŒããããéåžžã«éèŠã§ã¯ãããŸããã ããã«ã¯ãããŸããŸãªãã¹ããç§»è¡ã翻蚳ããã圢åŒããå¥ã®åœ¢åŒãžã®ããŒã¿å€æãå«ãŸããŸãã äžæ¹ã§ããããã¯æ±ºæžã®ãã®ãšäŒŒãŠããŸããã仿¹ã§ã¯ãããããã©ãã»ã©è¿
éã«å®äºãããã¯ããŸãéèŠã§ã¯ãããŸããã
ãã®ãããªã¿ã¹ã¯ããããšãã°äžå€®åŠçè£
眮ã®ãªãœãŒã¹ãã©ã®ããã«æ¶è²»ããããèŠãŠã¿ãŸãããã
çãé
å»¶ã®ããã¿ã¹ã¯ã ãã®ãããªã¿ã¹ã¯ã®å ŽåãCPUæ¶è²»ãã¿ãŒã³ã¯æ¬¡ã®ããã«ãªããŸãã

ãŠãŒã¶ãŒãåŠçã®ãªã¯ãšã¹ããåä¿¡ãããšãã¿ã¹ã¯ã¯äœ¿çšå¯èœãªãã¹ãŠã®CPUã³ã¢ã®äœ¿çšãéå§ããåŠçããå¿çãè¿ããæ¬¡ã®ãªã¯ãšã¹ããåŸ
æ©ããã³ã¹ãããããŸãã æ¬¡ã®ãªã¯ãšã¹ããå±ããŸãã-åã³åœŒãã¯ãã¹ãŠãéžæããèšç®ããæ¬¡ãåŸ
ã£ãŠããŸãã
ãã®ãããªã¿ã¹ã¯ã®æå°é
å»¶ãä¿èšŒããã«ã¯ãæ¶è²»ããæå€§ãªãœãŒã¹ãååŸãããããªã³ïŒã¿ã¹ã¯ãå®è¡ãããã·ã³ïŒã§å¿
èŠãªæ°ã®ã³ã¢ãäºçŽããå¿
èŠããããŸãã æ¬¡ã«ãã¿ã¹ã¯ã®äºçŽåŒã¯æ¬¡ã®ããã«ãªããŸãã
alloc: cpu = 4 (max)
16ã³ã¢ã®ãããªã³ãã·ã³ãããå Žåããã®ãããªã¿ã¹ã¯ãæ£ç¢ºã«4ã€é
眮ã§ããŸãã ãã®ãããªã¿ã¹ã¯ã®å¹³åããã»ããµæ¶è²»ã¯éåžžã«äœãããšãå€ãããšã匷調ããŸããããã¯ãã¿ã¹ã¯ããªã¯ãšã¹ããåŸ
æ©ããŠäœãããªãæéã®ããªãã®éšåãå ããããã§ãã
決æžã¿ã¹ã¯ã ãããã¯ãããã«ç°ãªããã¿ãŒã³ãæã¡ãŸãïŒ

ãã®ãããªã¿ã¹ã¯ã®ããã»ããµãªãœãŒã¹ã®å¹³åæ¶è²»éã¯éåžžã«é«ããªããŸãã å€ãã®å Žåãäžå®ã®æéå
ã«èšç®ã¿ã¹ã¯ãå®äºããå¿
èŠãããããã蚱容æéå
ã«èšç®ãå®äºããããã«å¿
èŠãªæå°æ°ã®ããã»ããµãŒãäºçŽããå¿
èŠããããŸãã 圌女ã®äºçŽåŒã¯æ¬¡ã®ããã«ãªããŸãã
alloc: cpu = [1,*)
ãå°ãªããšã1ã€ã®ç©ºãã³ã¢ããããããªã³ã«é
眮ããŠãã ãããããã«ã©ãã ããããšããã¹ãŠã飲ã¿èŸŒãã§ããŸããŸããã
ããã§ã¯ã䜿çšã®å¹çã¯ãã§ã«ãçãé
å»¶ã®ã¿ã¹ã¯ãããã¯ããã«åªããŠããŸãã ãã ããåããã·ã³ãããªã³ã§äž¡æ¹ã®ã¿ã€ãã®ã¿ã¹ã¯ãçµã¿åãããŠãå€åºå
ã§ãã®ãªãœãŒã¹ã忣ãããšãã²ã€ã³ã¯ããã«å€§ãããªããŸãã çãé
å»¶ã®ã¿ã¹ã¯ã«ããã»ããµãå¿
èŠãªå Žå-ããã«ãããåãåãããªãœãŒã¹ãäžèŠã«ãªã£ãå Žå-èšç®ã¿ã¹ã¯ã«è»¢éãããŸããã€ãŸããæ¬¡ã®ãããªãã®ã§ãã

ãããããããè¡ãæ¹æ³ã¯ïŒ
æåã«ãprodãšãã®allocãèŠãŠã¿ãŸãããïŒcpu =4ã4ã€ã®ã³ã¢ãäºçŽããå¿
èŠããããŸãã Dockerå®è¡ã§ã¯ãããã¯2ã€ã®æ¹æ³ã§å®è¡ã§ããŸãã
- ãªãã·ã§ã³
--cpuset=1-4
ã䜿çšããŠãã€ãŸãããã·ã³äžã®4ã€ã®ç¹å®ã®ã«ãŒãã«ãã¿ã¹ã¯ã«å²ãåœãŠãŸãã --cpuquota=400_000 --cpuperiod=100_000
ã䜿çšããŠãããã»ããµæéã®ã¯ã©ãŒã¿ãå²ãåœãŠãŸããã€ãŸãããªã¢ã«ã¿ã€ã ã100ããªç§ããšã«ã¿ã¹ã¯ãããã»ããµæéã400ããªç§ããæ¶è²»ããªãããšã瀺ããŸãã åã4ã€ã®ã³ã¢ã倿ããŸããã
ãããããããã®æ¹æ³ã®ã©ããé©ããŠããŸããïŒ
ããªãããããcpusetã«èŠããŸãã ãã®ã¿ã¹ã¯ã«ã¯4ã€ã®å°çšã³ã¢ããããŸããã€ãŸããããã»ããµãã£ãã·ã¥ã¯å¯èœãªéãå¹ççã«åäœããŸãã ããã«ã¯è£è¿ãããããŸãïŒOSã®ä»£ããã«ãã·ã³ã®ã¢ã³ããŒããããã«ãŒãã«ã«èšç®ã忣ããã¿ã¹ã¯ãåŒãåããå¿
èŠããããŸããããã¯ãç¹ã«ãã®ãããªãã·ã³ã«ãããã¿ã¹ã¯ãé
眮ããããšããå ŽåãããªãéèŠãªã¿ã¹ã¯ã§ãã ãã¹ãã§ã¯ãã¯ã©ãŒã¿ãªãã·ã§ã³ã®æ¹ãé©ããŠããããšã瀺ãããŠããŸãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã¯çŸæç¹ã§ã¿ã¹ã¯ã®ã«ãŒãã«ãéžæããèªç±åºŠãé«ããããã»ããµæéãããå¹ççã«å²ãåœãŠãããŸãã
æå°æ°ã®ã³ã¢ãdockerã§äºçŽããæ¹æ³ãèŠã€ããŸãã æå€§å€ãå¶éããå¿
èŠã¯ãªããæå°å€ãä¿èšŒããã®ã«ååã§ããããããããã¿ã¹ã¯ã®ã¯ã©ãŒã¿ã¯é©çšãããªããªããŸããã ãããŠãããã§docker run --cpushares
ãªãã·ã§ã³docker run --cpushares
ã
ãããã§å°ãªããšã1ã€ã®ã³ã¢ã®ä¿èšŒãå¿
èŠãªå Žåã¯--cpushares=1024
ãæå®ããå°ãªããšã2ã€ã®ã«ãŒãã«ã®å Žåã¯--cpushares=2048
æå®ããããšã«--cpushares=2048
ã CPUã·ã§ã¢ã¯ãããã»ããµæéã®å²ãåœãŠã«ååã§ããã°å¹²æžããŸããã ãããã£ãŠãprodãçŸåš4ã€ã®ã³ã¢ã®ãã¹ãŠã䜿çšããŠããªãå Žåããããã¿ã¹ã¯ãå¶éãããã®ã¯ãªãã远å ã®ããã»ããµæéã䜿çšã§ããŸãã ããããããã»ããµãäžè¶³ããŠããç¶æ³ã§ãprodã4ã€ã®ã³ã¢ãã¹ãŠãæ¶è²»ããŠã¯ã©ãŒã¿ã«éããå Žåãæ®ãã®ããã»ããµæéã¯cpusharesã«æ¯äŸããŠåå²ãããŸãã cpusharesã
ãã ããã¯ã©ãŒã¿ãšå
±æã䜿çšããã ãã§ã¯äžååã§ãã ããã»ããµæéã®å²ãåœãŠã«ãããŠããããã¿ã¹ã¯ãããçãé
å»¶ã®ã¿ã¹ã¯ãåªå
ãããå¿
èŠããããŸãã ãã®ãããªåªå
é äœä»ãããªããšããããã¿ã¹ã¯ã¯ãprodãå¿
èŠãªç¬éã«ãã¹ãŠã®ããã»ããµæéãæ¶è²»ããŸãã Dockerã®å®è¡ã«ã¯ã³ã³ããã®åªå
é äœä»ããªãã·ã§ã³ã¯ãããŸããããLinux CPUã¹ã±ãžã¥ãŒã©ããªã·ãŒã圹ç«ã¡ãŸãã ãããã«ã€ããŠã¯ãã¡ãã§èªãããšãã§ããŸããããã®èšäºã®äžéšãšããŠãããã«ã€ããŠç°¡åã«èª¬æããŸãã
- SCHED_OTHER
ããã©ã«ãã§ã¯ãLinuxãã·ã³äžã®ãã¹ãŠã®éåžžã®ãŠãŒã¶ãŒããã»ã¹ãåä¿¡ãããŸãã - SCHED_BATCH
èŠæ±ã®å³ããããã»ã¹åãã«èšèšãããŠããŸãã ããã»ããµã«ã¿ã¹ã¯ãé
眮ãããšãããããã¢ã¯ãã£ããŒã·ã§ã³ããã«ãã£ãå°å
¥ãããŸãããã®ãããªã¿ã¹ã¯ã¯ãSCHED_OTHERãæã€ã¿ã¹ã¯ã«ãã£ãŠçŸåšäœ¿çšãããŠããå Žåãããã»ããµãªãœãŒã¹ãåãåãå¯èœæ§ãäœããªããŸãã - SCHED_IDLE
nice â19ãããäœããéåžžã«äœãåªå
床ã®ããã¯ã°ã©ãŠã³ãããã»ã¹ã åŒã³åºããŠã³ã³ãããèµ·åãããšãã«å¿
èŠãªããªã·ãŒãèšå®ããããã«ã one-nioãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªã䜿çšããŸã
one.nio.os.Proc.sched_setscheduler( pid, Proc.SCHED_IDLE )
ãã ããJavaã§ããã°ã©ãã³ã°ããŠããªãå Žåã§ããchrtã³ãã³ãã§åãããšãã§ããŸãã
chrt -i 0 $pid
æç¢ºã«ããããã«ããã¹ãŠã®æç±ã¬ãã«ã1ã€ã®ãã¬ãŒãã«ãŸãšããŸãããã
çµ¶çžã¯ã©ã¹ | å²ãåœãŠã®äŸ | Dockerå®è¡ãªãã·ã§ã³ | sched_setscheduler chrt * |
---|
補å | CPU = 4 | --cpuquota=400000 --cpuperiod=100000 | SCHED_OTHER |
ããã | CPU = [1ã*ïŒ | --cpushares=1024 | SCHED_BATCH |
ã¢ã€ãã«ç¶æ
| CPU = [2ã*ïŒ | --cpushares=2048 | SCHED_IDLE |
*ã³ã³ããå
ã§chrtãå®è¡ããå Žåãsys_niceæ©èœãå¿
èŠã«ãªãå ŽåããããŸããããã¯ãããã©ã«ãã§ã¯ãDockerãã³ã³ããã®èµ·åæã«ãã®æ©èœãç¡å¹ã«ããããã§ãã
ããããã¿ã¹ã¯ã¯ããã»ããµã ãã§ãªããã©ãã£ãã¯ãæ¶è²»ããŸããããã¯ããããã¯ãŒã¯ãªãœãŒã¹ã®é
å»¶ã«ãããã»ããµãªãœãŒã¹ã®äžé©åãªå²ãåœãŠä»¥äžã«åœ±é¿ãäžããŸãã ãããã£ãŠããã©ãã£ãã¯ã«ã€ããŠã¯ãŸã£ããåãç¶æ³ãååŸãããã®ã§ãã ã€ãŸããprod-taskããããã¯ãŒã¯ã«ãã±ãããéä¿¡ãããšããprodããããå®è¡ã§ããæå€§éåºŠïŒ allocïŒlan = [*ã500mbpsïŒ ïŒãåŒçšããŸãã ãããã®å Žåãæå°åž¯åå¹
ã®ã¿ãä¿èšŒããŸãããæå€§åž¯åå¹
ã¯å¶éããŸããïŒ allocïŒlan = [10Mbpsã*ïŒåŒïŒãã®å Žåãprodãã©ãã£ãã¯ã¯ãããã¿ã¹ã¯ãããåªå
ãããŸãã
ããã§ãDockerã«ã¯äœ¿çšã§ããããªããã£ãããããŸããã ãããã Linux Traffic Controlã¯ç§ãã¡ã®å©ãã«ãªããŸãã åéã®éå±€çå
¬æ£ãµãŒãã¹æ²ç·ã䜿çšããŠãæãŸããçµæãéæããããšãã§ããŸããã ãã®å©ãã«ããããã©ãã£ãã¯ã®2ã€ã®ã¯ã©ã¹ãåºå¥ããŸããé«åªå
床ã®è£œåãšäœåªå
床ã®ããã/ã¢ã€ãã«ã§ãã ãã®çµæãçºä¿¡ãã©ãã£ãã¯ã®æ§æã¯æ¬¡ã®ãšããã§ãã

ããã§1ïŒ0ã¯hsfcåéã®ãã«ãŒãqdiscãã§ãã 1ïŒ1-åèšåž¯åå¹
å¶éã8 Gbit / sã®åã¯ã©ã¹hsfcããã®äžã«ãã¹ãŠã®ã³ã³ããã®åã¯ã©ã¹ãé
眮ãããŸãã 1ïŒ2-ãã¹ãŠã®ãããããã³ã¢ã€ãã«ã¿ã¹ã¯ã«å
±éã®åã¯ã©ã¹hsfcã§ããåçãå¶éããããŸãã æ®ãã®hsfcåã¯ã©ã¹ã¯ãçŸåšåäœããŠããprodã³ã³ããå°çšã®ã¯ã©ã¹ã§ããããããã§ã¹ãã«å¯Ÿå¿ããå¶éããããŸã-450ããã³400 Mbit / sã åhsfcã¯ã©ã¹ã«ã¯ãLinuxã«ãŒãã«ã®ããŒãžã§ã³ã«å¿ããŠfqãŸãã¯fq_codelã«å²ãåœãŠãããqdiscãã¥ãŒãããããã©ãã£ãã¯ã®æ¥å¢æã®ãã±ããæå€±ãé²ããŸãã
éåžžãtcåéã¯ã¢ãŠãããŠã³ããã©ãã£ãã¯ã®ã¿ãåªå
ããŸãã ãã ããçä¿¡ãã©ãã£ãã¯ã«ãåªå
é äœãä»ããå¿
èŠããããŸããçµå±ããããã¿ã¹ã¯ã¯ãããšãã°mapïŒreduceã®å
¥åããŒã¿ã®å€§ããªãã±ãããåä¿¡ããŠââãçä¿¡ãã£ãã«å
šäœãç°¡åã«éžæã§ããŸãã ãããè¡ãã«ã¯ã ifbã¢ãžã¥ãŒã«ã䜿çšããŸãããã®ã¢ãžã¥ãŒã«ã¯ãåãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ã«ä»®æ³ifbXã€ã³ã¿ãŒãã§ã€ã¹ãäœæããã€ã³ã¿ãŒãã§ã€ã¹ããã®çä¿¡ãã©ãã£ãã¯ãifbXã®çºä¿¡ãã©ãã£ãã¯ã«ãªãã€ã¬ã¯ãããŸãã ããã«ãifbXã®å Žåãçºä¿¡ãã©ãã£ãã¯ãå¶åŸ¡ããããã«åãåéããã¹ãŠæ©èœããŸããhsfcã®æ§æã¯éåžžã«äŒŒãŠããŸãã

å®éšã®éçšã§ãéåªå
ããã/ã¢ã€ãã«ãã©ãã£ãã¯ã®ã¯ã©ã¹1ïŒ2ããããªã³ãã·ã³ã§ç¹å®ã®ç©ºã垯å以äžã«å¶éãããŠããå Žåãhsfcãæè¯ã®çµæã瀺ãããšãããããŸããã ãã以å€ã®å Žåãéåªå
ãã©ãã£ãã¯ã¯prodã¿ã¹ã¯ã®é
å»¶ã«å€§ããªåœ±é¿ãäžããŸãã ããªãŒãã³ãminiondã®çŸåšã®å€ã¯1ç§ããšã«æ±ºå®ããããã®ãããªã³ã®ãã¹ãŠã®prodã¿ã¹ã¯ã«ããå¹³åãã©ãã£ãã¯æ¶è²»éãæž¬å®ããŸã ãããŠããããã¯ãŒã¯ã€ã³ã¿ãŒãã§ãŒã¹åž¯åå¹
ãããããåŒããŸã å°ããªããŒãžã³ã§ãããªãã¡
垯åã¯ãçä¿¡ãã©ãã£ãã¯ãšçºä¿¡ãã©ãã£ãã¯ã«å¯ŸããŠåå¥ã«æ±ºå®ãããŸãã ãããŠãæ°ããå€ã«åŸã£ãŠãminiondã¯éåªå
ã¯ã©ã¹ã®å¶é1ïŒ2ãåæ§æããŸãã
ãããã£ãŠã3ã€ã®åé¢ã¯ã©ã¹ïŒprodãbatchãããã³idleïŒããã¹ãŠå®è£
ããŸããã ãããã®ã¯ã©ã¹ã¯ãã¿ã¹ã¯ã®ããã©ãŒãã³ã¹ã«å€§ãã圱é¿ããŸãã ãããã£ãŠããã®æ©èœãéå±€ã®æäžéšã«é
眮ããããšã«ããŸãããããã«ãããéå±€ãã¥ãŒã®ååãèŠããšãåŠç察象ãããã«æç¢ºã«ãªããŸãã

ãã®åŸãããªãã¿ã®ãŠã§ããšé³æ¥œã®é¢ã¯ãã¹ãŠãprodã®äžã®éå±€ã«é
眮ãããŸãã ããšãã°ããããã®äžã«ãOdnoklassnikiã«ã¢ããããŒããããäžé£ã®mp3ãã¡ã€ã«ãããã©ãã¯ã®ã«ã¿ãã°ã宿çã«ã³ã³ãã€ã«ãã鳿¥œã«ã¿ãã°ãµãŒãã¹ãé
眮ããŸãããã ãŸããã¢ã€ãã«ç¶æ
ã®ãµãŒãã¹ã®äŸã¯ã 鳿¥œã®é³éã¬ãã«ãæ£èŠåãã鳿¥œãã©ã³ã¹ãã©ãŒããŒã§ãã
äœåãªè¡ãå床åé€ããã ããµãŒãã¹ã®ååããããã©ããã«èšè¿°ããå®å
šãªãµãŒãã¹åã®æåŸã«ã¿ã¹ã¯ã®åé¢ã¯ã©ã¹ã远å ã§ããŸãïŒ web.front.prod ã catalog.music.batch ã transformer.music.idle ã
ãããŠä»ããµãŒãã¹ã®ååãèŠããšããµãŒãã¹ãå®è¡ããæ©èœã ãã§ãªãããã®éèŠæ§ãªã©ãæå³ããåé¢ã¯ã©ã¹ãçè§£ããŠããŸãã
ãã¹ãŠãçŽ æŽãããã§ãããäžã€ã®å³ããçå®ããããŸãã åããã·ã³ã§å®è¡ãããŠããã¿ã¹ã¯ãå®å
šã«åé¢ããããšã¯äžå¯èœã§ãã
ç§ãã¡ãäœãšãéæããã®ã¯ãããããããã»ããµãªãœãŒã¹ã®ã¿ãéäžçã«æ¶è²»ããå Žåãçµã¿èŸŒã¿ã®Linux CPUã¹ã±ãžã¥ãŒã©ããã®ä»äºãéåžžã«ããŸãè¡ããprodã¿ã¹ã¯ã«å®è³ªçã«åœ±é¿ããªãããšã§ãã ãããããã®ãããã¿ã¹ã¯ãã¡ã¢ãªã§ã¢ã¯ãã£ãã«åäœãå§ããå Žåãçžäºã®åœ±é¿ã¯ãã§ã«çŸããŠããŸãã ããã¯ãprodã¿ã¹ã¯ãããã»ããµã®ã¡ã¢ãªãã£ãã·ã¥ããæŽãæµãããããã§ãããã®çµæããã£ãã·ã¥ã®å¢å ãèŠéããããã»ããµãprodã¿ã¹ã¯ããããã£ãããšåŠçããŸãã ãã®ãããªãããã¿ã¹ã¯ã«ãããäžè¬çãªprodã³ã³ããã®é
å»¶ã10ïŒ
å¢å ããå¯èœæ§ããããŸãã
ææ°ã®ãããã¯ãŒã¯ã«ãŒãã«ã¯å
éšãã±ãããã¥ãŒãããããããã©ãã£ãã¯ã®åé¢ã¯ããã«å°é£ã§ãã ãããã¿ã¹ã¯ããã®ãã±ãããæåã«å°çããå Žåããããæåã§ãããã±ãŒãã«ã§éä¿¡ãããäœãããå¿
èŠã¯ãããŸããã
ããã«ããããŸã§ã®ãšãããTCPãã©ãã£ãã¯ã®åªå
é äœä»ãã®ã¿ã¹ã¯ã®ã¿ã解決ã§ããŸãããUDPã®å Žåãhsfcã¢ãããŒãã¯æ©èœããŸããã ãŸããTCPãã©ãã£ãã¯ã®å Žåã§ãããããã¿ã¹ã¯ã§å€§éã®ãã©ãã£ãã¯ãçæããããšãprodã¿ã¹ã¯ã®é
å»¶ãçŽ10ïŒ
å¢å ããŸãã
èé害æ§
ã¯ã³ã¯ã©ãŠãã®éçºã«ãããç®æšã®1ã€ã¯ãOdnoklassnikiã®å埩åãåäžãããããšã§ããã ãããã£ãŠãããã«é害ãäºæ
ã®å¯èœæ§ã®ããã·ããªãªãããã«è©³ãã調ã¹ãããšæããŸãã åçŽãªã·ããªãªããå§ããŸããã-ã³ã³ãããŒã®é害ã
ã³ã³ããèªäœã¯ããã€ãã®æ¹æ³ã§å€±æããå ŽåããããŸãã ããã¯ãããçš®ã®å®éšããã°ããŸãã¯ãããã§ã¹ãã®ãšã©ãŒã§ããå¯èœæ§ããããŸãããã®ãããprod-taskã¯ãããã§ã¹ãã«ç€ºãããŠãããããå€ãã®ãªãœãŒã¹ãæ¶è²»ãå§ããŸãã éçºè
ã1ã€ã®è€éãªã¢ã«ãŽãªãºã ãå®è£
ããäœåºŠãäœãçŽããèªåèªèº«ãèŠãé ããŠæ··ä¹±ããããããæçµåæã§ã¿ã¹ã¯ãéåžžã«éèŠãªã«ãŒãã«ãªããŸããã ãŸããprodã¿ã¹ã¯ã¯åããããªã³ã®ä»ã®ãã¹ãŠã®ã¿ã¹ã¯ãããåªå
床ãé«ãããã䜿çšå¯èœãªãã¹ãŠã®ããã»ããµãªãœãŒã¹ãæ¶è²»ãå§ããŸããã ãã®ç¶æ³ã§ã¯ãåé¢ãä¿åãããããããã»ããµæéã®ã¯ã©ãŒã¿ãç¯çŽãããŸãã ã¿ã¹ã¯ã«ã¯ã©ãŒã¿ãå²ãåœãŠãããŠããå Žåãã¿ã¹ã¯ã¯ããä»¥äžæ¶è²»ããŸããã ãããã£ãŠãåããã·ã³ã§åäœãããããããã³ãã®ä»ã®prodã¿ã¹ã¯ã¯äœãæ°ä»ããŸããã§ããã
2çªç®ã®å¯èœæ§ã®ããè¿·æã¯ãã³ã³ããã®èœäžã§ãã ãããŠãããã§æ¿æ²»å®¶ãç§ãã¡ãæã£ãŠãããŸãã誰ããç¥ã£ãŠããŸããDockerã¯éåžžã«ããŸããã£ãŠããŸãã ã»ãšãã©ãã¹ãŠã®prodã¿ã¹ã¯ã«ã¯ãåžžã«åèµ·åããªã·ãŒããããŸãã ãããã¿ã¹ã¯ãprodã³ã³ããã®ãããã°ã«on_failureã䜿çšããå ŽåããããŸãã
ãããŠããããªã³å
šäœã«ã¢ã¯ã»ã¹ã§ããªãå Žåãäœãã§ããŸããïŒ
æããã«ãã³ã³ãããå¥ã®ãã·ã³ã§å®è¡ããŸãã ããã§æãè峿·±ãã®ã¯ãã³ã³ããã«å²ãåœãŠãããIPã¢ãã¬ã¹ãã©ããªããã§ãã
ãããã®ã³ã³ãããå®è¡ããããããªã³ãã·ã³ãšåãIPã¢ãã¬ã¹ãã³ã³ããã«å²ãåœãŠãããšãã§ããŸãã æ¬¡ã«ãã³ã³ãããå¥ã®ãã·ã³ã§èµ·åãããšããã®IPã¢ãã¬ã¹ã倿Žããããã¹ãŠã®ã¯ã©ã€ã¢ã³ããã³ã³ãããç§»åããããšãçè§£ããå¿
èŠããããŸããä»åºŠã¯å¥ã®ã¢ãã¬ã¹ã«ç§»åããå¿
èŠããããŸãã
ãµãŒãã¹æ€åºã¯äŸ¿å©ã§ãã ãµãŒãã¹ã®ã¬ãžã¹ããªãæŽçããããã®ããŸããŸãªçšåºŠã®ãã©ãŒã«ããã¬ã©ã³ã¹ãåããåžå Žã«ã¯å€ãã®ãœãªã¥ãŒã·ã§ã³ããããŸãã å€ãã®å Žåããã®ãããªãœãªã¥ãŒã·ã§ã³ã§ã¯ãããŒããã©ã³ãµãŒã®ããžãã¯ãå®è£
ãããKVã¹ãã¢ã®åœ¢åŒã§è¿œå ã®æ§æãä¿åãããŸãã
ãã ããåå¥ã®ã¬ãžã¹ããªãå®è£
ããå¿
èŠã¯ãããŸãããããã¯ãæ¬çªç°å¢ã®ãã¹ãŠã®ãµãŒãã¹ã§äœ¿çšãããéèŠãªã·ã¹ãã ã®å°å
¥ãæå³ããããã§ãã ããã¯ããããæœåšçãªé害ç¹ã§ãããéåžžã«èé害æ§ã®ãããœãªã¥ãŒã·ã§ã³ãéžæãŸãã¯éçºããå¿
èŠãããããšãæå³ããŸãã
ãã1ã€ã®å€§ããªæ¬ ç¹ã¯ãå€ãã€ã³ãã©ã¹ãã©ã¯ãã£ãæ°ããã€ã³ãã©ã¹ãã©ã¯ãã£ãšé£åããããã«ãäœããã®çš®é¡ã®ãµãŒãã¹ãã£ã¹ã«ããªã·ã¹ãã ã䜿çšããããã®ãã¹ãŠã®ã¿ã¹ã¯ãå®å
šã«æžãçŽãå¿
èŠãããããšã§ãã ããããã®äœæ¥ããããOSã®ã«ãŒãã«ã¬ãã«ãŸãã¯ããŒããŠã§ã¢ã§çŽæ¥åäœããäœã¬ãã«ã®ããã€ã¹ã«é¢ããŠã¯äžå¯èœãªå ŽåããããŸãã ãµã€ãã«ãŒãªã©ã®ååã«ç¢ºç«ãããæ±ºå®ãã¿ãŒã³ã®å©ããåããŠãã®æ©èœãå®çŸãããšãå Žæã«ãã£ãŠã¯è² è·ãå¢ããå Žæã«ãã£ãŠã¯æäœãè€éã«ãªããé害ã·ããªãªãå¢ããŸãã è€éã«ããããªãã£ãã®ã§ãService Discoveryã®äœ¿çšããªãã·ã§ã³ã«ããããšã«ããŸããã
one-cloud IP , . . IP-. «»: . â IP-, .
: production. IP- . , .
, IP- . , ( 1.ok-web.group1.web.front.prod, 2.ok-web.group1.web.front.prod, ⊠), , FQDN, DNS. , IP- DNS-. DNS IP- â , (, , â ). , , â , . , DNS, Service Discovery, , . , , , DNS, IP-.
IP â , , :

, one-cloud M1 1.ok-web.group1.web.front.prod 1.1.1.1. BIRD , route reflector . BGP- , 1.1.1.1 M1. M1 Linux. route reflector , one-cloud â one-cloud . , -, .
, one-cloud 1 . one-cloud , , 1 . 2 web.group1.web.front.prod 1.1.1.1. 1.1.1.1: 1 2. , Multi Exit Discriminator, BGP-. , . MED. one-cloud MED IP- . MED = 1 000 000. MED, 2 1.1.1.1 c MED = 999 999. , M1, , , .
- . â .
, , -.
-? , . , , , - 100 % .
. - , - , , .
?
, , . - , , . . , .
, .

, , , . . prod. â , . - , .
prod , 0; batch â , 100; idle â , 200. . . , prod , cache = 0 front = 1. , , , , music , â 10.
â . , , -, , . , , .

, batch-, . . , . . , . , , , . . .
, prod- batch- idle-, , idle , 200. , , , . , , , -, : 10.
-? . , - . , - , - . : , - . - . , - â . .
, # .
â . one-cloud -. - â -. : , -. .
-, , one-cloud.
, .
? - , , , . , - â , .

ãŸãšã
one-cloud:
- , , , .
- prod- batch- , . cpuset CPU quotas, shares, CPU Linux QoS.
- , , , 20 %.
- .
.
- . prod- , batch idle , -.
- , :
- , , one-cloud.
- Service Discovery; , , â , «» IP-, , , , .
, , , , . â , .
, , â !