Banki.ru ããŒã¿ã«ã®éå¶ãã£ã¬ã¯ã¿ãŒã§ãã Andrey Nikolsky æ°ã¯æšå¹Žã®ã«ã³ãã¡ã¬ã³ã¹ã§è¬æŒããŸãã
ã«ããã®äžã«ã¯ã¬ããŒãã®ããã¹ãçã衚瀺ãããŸãã
ããã«ã¡ã¯ãååã§ãïŒ ç§ã®åå㯠Andrey ã§ããBanki.ru ã®éå¶è²¬ä»»è ãåããŠããŸãã
倧èŠæš¡ãªãµãŒãã¹ãããã°ãã¢ããªã·ãã¯ãªãµãŒãã¹ãããã°ãããå€å žçãªæå³ã§ã®ãµãŒãã¹ãããã°ãéåžžã«å°èŠæš¡ãªãµãŒãã¹ããããŸãã ç§ã®åŽèŸ²çšèªã§ã¯ããµãŒãã¹ãåçŽã§å°èŠæš¡ã§ããã°ãããã¯ãã€ã¯ãã§ãããããŸãåçŽã§å°èŠæš¡ã§ãªãå Žåãããã¯åãªããµãŒãã¹ã§ãããšèšããŸãã
ãµãŒãã¹ã®é·æ
ãµãŒãã¹ã®å©ç¹ã«ã€ããŠç°¡åã«èª¬æããŸãã
XNUMXã€ç®ã¯ã¹ã±ãŒãªã³ã°ã§ãã ãµãŒãã¹äžã§ããã«äœããå®è¡ããŠãæ¬çªç°å¢ãéå§ã§ããŸãã ãã©ãã£ãã¯ãåä¿¡ãããµãŒãã¹ã®ã¯ããŒã³ãäœæããŸããã ãã©ãã£ãã¯ãå¢ãããããè€è£œããŠå
±åãããŠããŸãã ããã¯è¯ãããŒãã¹ã§ãããååãšããŠãç§ãã¡ãå§ãããšãã¯ããªãããã ãã®ããšãè¡ãã®ããšããããšãç§ãã¡ã«ãšã£ãŠæãéèŠãªããšã§ãããšèããããŠããŸããã
XNUMX ã€ç®ã¯ãåé¢éçºã§ããè€æ°ã®éçºããŒã ããããåããŒã ã«æ°äººã®ç°ãªãéçºè
ãããŠãåããŒã ãç¬èªã®ãµãŒãã¹ãéçºããå Žåã§ãã
ããŒã ã®å Žåã¯åŸ®åŠãªéãããããŸãã éçºè
ã¯éããŸãã ãããŠãäŸãã°ã
åçãèŠãŠãã ããããã®äººã¯åªããéçºè
ã§ãæã倧ãããããããã®ããšãã§ããŸãã äž»ãªåé¡ã¯ããããã®æãã©ãããæ¥ãã®ããšããããšã§ãã
ãµãŒãã¹ã«ãããããŸããŸãªã¿ã¹ã¯ã«ããé©ããããŸããŸãªããã°ã©ãã³ã°èšèªã䜿çšã§ããããã«ãªããŸãã ãµãŒãã¹ã®äžã«ã¯ãGo ã§äœããããã®ãErlang ã§äœããããã®ãRuby ã§äœããããã®ãPHP ã§äœããããã®ãPython ã§äœããããã®ããããŸãã äžè¬ã«ãéåžžã«åºç¯å²ã«æ¡åŒµã§ããŸãã ããã«ããã¥ã¢ã³ã¹ããããŸãã
ãµãŒãã¹æåã¢ãŒããã¯ãã£ã¯äž»ã« DevOps ã«é¢ãããã®ã§ãã ã€ãŸããèªååããªããã°ããããã€ã¡ã³ãããã»ã¹ã¯ååšãããæåã§æ§æããå Žåãæ§æã¯ãµãŒãã¹ã€ã³ã¹ã¿ã³ã¹ããšã«å€æŽãããå¯èœæ§ããããäœããããããã«ããã«è¡ããªããã°ãªããªãå Žåãå°çã«é¥ãããšã«ãªããŸãã
ããšãã°ã20 åã®ãµãŒãã¹ããããæåã§ãããã€ããå¿ èŠããããšããŸãã20 åã®ã³ã³ãœãŒã«ããããå¿è ã®ããã«åæã«ãEnterããæŒããŸãã ããŸãè¯ããªãã§ããã
ãã¹ãåŸã®ãµãŒãã¹ããã (ãã¡ãããã¹ããããå Žå)ãæ¬çªç°å¢ã§åäœãããããã«ãã¡ã€ã«ãå®æãããå¿ èŠãããå Žåã¯ãæªãç¥ããããããŸãã
ããªããç¹å®ã® Amazon ãµãŒãã¹ã«äŸåãããã·ã¢ã§åããŠãããªããXNUMX ãæåã«ã¯ãåšãã¯ãã¹ãŠçããŠãããç§ã¯å€§äžå€«ããã¹ãŠã¯æ¶ŒããããšããçµéšãããŠããã¯ãã§ãã
ãããã€ã¡ã³ãã®èªååã«ã¯ Ansibleãã³ã³ããŒãžã§ã³ã¹ã«ã¯ Puppetããããã€ã¡ã³ãã®èªååã«ã¯ BambooããããŠããããã¹ãŠãäœããã®æ¹æ³ã§èšè¿°ããããã« Confluence ã䜿çšããŸãã
ãã®ã¬ããŒãã¯æè¡çãªå®è£ ã§ã¯ãªããã€ã³ã¿ã©ã¯ã·ã§ã³ã®å®è·µã«é¢ãããã®ã§ãããããããã«ã€ããŠã¯è©³ãã説æããŸããã
ããšãã°ããµãŒããŒäžã® Puppet 㯠Ruby 2 ã§åäœããããäžéšã®ã¢ããªã±ãŒã·ã§ã³ã¯ Ruby 1.8 çšã«äœæãããŠãããé£æºããŠåäœããªããšããåé¡ãçºçããŸããã ããã§äœãåé¡ãçºçããŸãã ãããŠãXNUMX å°ã®ãã·ã³äžã§è€æ°ã®ããŒãžã§ã³ã® Ruby ãå®è¡ããå¿
èŠãããå Žåãéåžžã¯åé¡ãçºçãå§ããŸãã
ããšãã°ãç§ãã¡ã¯åéçºè ã«ãç§ãã¡ãæã£ãŠããã»ãŒãã¹ãŠã®ãã®ãéçºã§ãããã¹ãŠã®ãµãŒãã¹ãå«ãŸãããã©ãããã©ãŒã ãæäŸããŸããããã«ãããéçºè ã¯éé¢ãããç°å¢ãæã«å ¥ããå¿ èŠã«å¿ããŠãããå£ãããæ§ç¯ãããã§ããŸãã
äœãããµããŒãããç¹å¥ã«ã³ã³ãã€ã«ãããããã±ãŒãžãå¿ èŠã«ãªãå ŽåããããŸãã ããªã倧å€ã§ããã Docker ã€ã¡ãŒãžã®éãã 45 GB ã§ãããšããã¬ããŒããèããŸããã ãã¡ãããLinux ã§ã¯ããã·ã³ãã«ã§ããã¹ãŠãå°ãããªããŸãããããã§ãååãªã¹ããŒã¹ã¯ãããŸããã
ãããžã§ã¯ãã® XNUMX ã€ã®éšåã XNUMX ã€ã®ããŒãžã§ã³ã®ã©ã€ãã©ãªã«äŸåãããããžã§ã¯ãã®å¥ã®éšåãå¥ã®ããŒãžã§ã³ã«äŸåããã©ã€ãã©ãªããŸã£ããäžç·ã«ã€ã³ã¹ããŒã«ãããªãå ŽåãäŸåé¢ä¿ã®ç«¶åãçºçããŸãã
ç§ãã¡ã¯ PHP 5.6 ã§ãµã€ãããµãŒãã¹ãéå¶ããŠããŸãããæ¥ãããããšæããŸãããäœãã§ããã§ãããã? ãããç§ãã¡ã®å¯äžã®ãµã€ãã§ãã PHP 7 ã«ã¯ãµã€ãããµãŒãã¹ããããããã«å€ãã®ãµã€ãããµãŒãã¹ãååšããŸãããç§ãã¡ã¯ããããæ¥ããããšã¯ãããŸããã ãããŠãåéçºè
ã¯èªåã®æ ç¹ãæã£ãŠãããããã§åãã§èŠãŠããŸãã
瀟å 㧠XNUMX ã€ã®èšèªã§å·çããŠããå Žåãéçºè ããšã« XNUMX å°ã®ä»®æ³ãã·ã³ãååšããã®ã¯æ®éã®ããšã®ããã«æããŸãã ç°ãªãããã°ã©ãã³ã°èšèªã䜿çšããŠããå Žåãç¶æ³ã¯ããã«æªåããŸãã
ããã«ãµã€ããšãµãŒãã¹ãããã次㫠Go çšã®å¥ã®ãµã€ããRuby çšã®ãµã€ãã XNUMX ã€ããããŠãã®æšªã«ä»ã® Redis ãããã€ããããŸãã ãã®çµæãããããã¹ãŠããµããŒãã®ããã®å€§ããªãã£ãŒã«ãã«å€ãããåžžã«ãã®äžéšãå£ããå¯èœæ§ããããŸãã
ãããã£ãŠãPHP ãã¬ãŒã ã¯ãŒã¯ã¯ãŸã£ããç°ãªããæ©èœãã³ãã¥ããã£ããµããŒããç°ãªããããããã°ã©ãã³ã°èšèªã®å©ç¹ãããŸããŸãªãã¬ãŒã ã¯ãŒã¯ã®äœ¿çšã«çœ®ãæããŸããã ãŸãããµãŒãã¹ãäœæããŠãããã«å¯Ÿããæºåããã§ã«æŽã£ãŠããããã«ããããšãã§ããŸãã
åãµãŒãã¹ã«ã¯ç¬èªã®ããŒã ããããŸã
æ°å¹Žéã«ããã£ãŠå
·äœåããåœç€Ÿã®äž»ãªå©ç¹ã¯ãåãµãŒãã¹ã«ç¬èªã®ããŒã ãååšããããšã§ãã ããã¯å€§èŠæš¡ãªãããžã§ã¯ãã«äŸ¿å©ã§ãããã¥ã¡ã³ãäœæã«ãããæéãç¯çŽã§ãããããŒãžã£ãŒã¯èªåãã¡ã®ãããžã§ã¯ããããç¥ã£ãŠããŸãã
ãµããŒãããã¿ã¹ã¯ãç°¡åã«éä¿¡ã§ããŸãã ããšãã°ãä¿éºãµãŒãã¹ãç Žç¶»ããã ãããŠããã«ä¿éºãæ±ãããŒã ãä¿®çã«è¡ããŸãã
ã¢ãããã¯ãªãµãŒãã¹ã XNUMX ã€ããã°ãããã«ããã«äœããçµã¿èŸŒãããšãã§ãããããæ°ããæ©èœãããã«äœæãããŸãã
ãããŠãããªããèªåã®ãµãŒãã¹ãå£ãããšããããã¯å¿ ç¶çã«èµ·ãããŸãããä»ã®äººã®ãµãŒãã¹ã«ã¯åœ±é¿ãäžããŠããªãã®ã§ãä»ã®ããŒã ããã®æ å ±ãæã£ãŠããéçºè ãããªãã®ãšããã«é§ãå¯ã£ãŠãããããããªããšã¯ãããŠãã ããããšã¯èšããŸããã
ãã€ãã®ããã«ããã¥ã¢ã³ã¹ããããŸãã ç§ãã¡ã®ããŒã ã¯å®å®ããŠããããããŒãžã£ãŒã¯ããŒã ã«éä»ãã§ãã æ確ãªææžãããããããŒãžã£ãŒã¯ãã¹ãŠã泚ææ·±ãç£èŠããŠããŸãã ãããŒãžã£ãŒãããåããŒã ã«ã¯è€æ°ã®ãµãŒãã¹ããããç¹å®ã®èœåç¹ããããŸãã
ããŒã ãæµ®ããŠããå Žå (ç§ãã¡ãæã ããã䜿çšããŸã)ããã¹ã¿ãŒ ãããããšåŒã°ããè¯ãæ¹æ³ããããŸãã
ãµãŒãã¹ãšäººã
ã®ãªã¹ãããããŸãã ã¢ã¹ã¿ãªã¹ã¯ã¯ãã®äººããã®ãµãŒãã¹ã®å°é家ã§ããããšãæå³ããæ¬ã¯ãã®äººããã®ãµãŒãã¹ãç 究ããŠããããšãæå³ããŸãã ãã®äººã®ä»äºã¯ãå°ååãã¢ã¹ã¿ãªã¹ã¯ã«å€æŽããããšã§ãã ãããŠããµãŒãã¹ã®åã«äœãæžãããŠããªãå Žåãåé¡ãå§ãŸããŸãããããã«ã€ããŠã¯ããã«èª¬æããŸãã
å€ç«ãããµãŒãã¹ã¯ã©ã®ããã«è¡šç€ºãããŸãã?
æåã®åé¡ã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ã«å€ç«ãããµãŒãã¹ãå°å
¥ããæåã®æ¹æ³ã¯ãåŸæ¥å¡ã解éããããšã§ãã ã¿ã¹ã¯ãè©äŸ¡ãããåã«ããžãã¹ã§ç· ãåããå®ãã人ã¯ããã§ãããã? ç· ãåããè¿«ã£ãŠãããææžåããæéããŸã£ãããªãå ŽåããããŸãã ããµãŒãã¹ãæ¬çªç°å¢ã«åŒãæž¡ãå¿
èŠããããŸãããã®åŸããµãŒãã¹ãè¿œå ããŸããã
ããŒã ãå°ããå Žåã¯ãXNUMX 人ã®éçºè ããã¹ãŠãäœæããæ®ãã®éçºè ã¯åŸ æ©ããŠããããšããããããŸãã ãåºæ¬çãªã¢ãŒããã¯ãã£ã¯ç§ãæžããŸãããã€ã³ã¿ãŒãã§ã€ã¹ãè¿œå ããŸããããã ãããŠããæç¹ã§ãããšãã°ãããŒãžã£ãŒãéè·ããŸãã ãããŠããããŒãžã£ãŒãå»ããæ°ãããããŒãžã£ãŒããŸã ä»»åœãããŠããªããã®æéäžãéçºè èªèº«ããµãŒãã¹ã®è¡ãå ãšããã§äœãèµ·ãã£ãŠãããã決å®ããŸãã ãããŠããåç¥ã®ãšãã (ã¹ã©ã€ããæ°æåã«æ»ããŸããã)ãããŒã ã«ãã£ãŠã¯ã¹ããŒãã¬ãŒã¯ã®äººæãååšããå Žåã«ãã£ãŠã¯ã¹ããŒãã¬ãŒã¯ ããŒã ã®ãªãŒããŒãååšããŸãã ãããã圌ã¯èŸããŠãç§ãã¡ã¯å€ç«ãããµãŒãã¹ãåããããšã«ãªããŸããã
åæã«ããµããŒããããžãã¹ããã®ã¿ã¹ã¯ã¯æ¶ããããšãªããããã¯ãã°ã«æ®ããŸãã ãµãŒãã¹ã®éçºäžã«ã¢ãŒããã¯ãã£äžã®ãšã©ãŒããã£ãå Žåãããããããã¯ãã°ã«æ®ããŸãã ãµãŒãã¹ã¯åŸã
ã«æªåããŠããŸãã
å€å ãç¹å®ããã«ã¯ã©ãããã°ããã§ãã?
ãã®ãªã¹ãã¯ç¶æ³ããã説æããŠããŸãã èªç€Ÿã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã«ã€ããŠäœããåŠãã 人ã¯ããã§ãããã?
ææžåãããåé¿çã«ã€ããŠ: ãµãŒãã¹ã¯ãããäžè¬çã«ã¯æ©èœããŸãããã®æäœæ¹æ³ã«ã€ããŠã¯ XNUMX ããŒãžã®ããã¥ã¢ã«ããããŸãããå
éšã§ã©ã®ããã«æ©èœãããã¯èª°ãç¥ããŸããã
ãããã¯ãããšãã°ãããçš®ã®ãªã³ã¯ççž®æ©èœããããŸãã ããšãã°ãçŸåšãããŸããŸãªãµãŒãã¹ã®ããŸããŸãªç®ç㧠XNUMX ã€ã®ãªã³ã¯ççž®ããŒã«ã䜿çšãããŠããŸãã ãããã¯åãªãçµæã§ãã
ããããã¯ç§ãåœç¶ã®ãã£ããã³ã«ãªããŸãã äœããã¹ãã§ãããã? ãŸãããµãŒãã¹ãå¥ã®ãããŒãžã£ãŒãå¥ã®ããŒã ã«ç§»ãå¿
èŠããããŸãã ããŒã ãªãŒããŒããŸã èŸããŠããªãå Žåããã®å¥ã®ããŒã ã«ã¯ããµãŒãã¹ãå€å
ã®ãããªãã®ã§ããããšãç解ãããšãã«ããã®ãµãŒãã¹ã«ã€ããŠå°ãªããšãäœããç解ããŠãã人ãå«ããå¿
èŠããããŸãã
éèŠãªããšã¯ã移管æé ãè¡æžã§æžããªããã°ãªããªãããšã§ãã ç§ãã¡ã®å Žåããã¹ãŠãæ©èœããå¿ èŠããããããéåžžã¯ãããç£èŠããŠããŸãã ãããŒãžã£ãŒã¯ããããè¿ éã«æäŸããå¿ èŠããããåŸã§ãããã©ããªããã¯ã圌ãã«ãšã£ãŠãã¯ãããã»ã©éèŠã§ã¯ãããŸããã
å€å
ãäœã次ã®æ¹æ³ã¯ããå€æ³šããŠããã®ã»ããæ©ãã§ãããã®åŸãããŒã ã«åŒãç¶ããŸãããã§ãã 誰ããããŒã å
ã§ããã€ãã®èšç»ãã€ãŸãé çªãæã£ãŠããããšã¯æããã§ãã å€ãã®å ŽåãäŒæ¥é¡§å®¢ã¯ãã¢ãŠããœãŒãµãŒãäŒç€Ÿã®æè¡éšéãšåãããšãè¡ããšèããŠããŸãã åæ©ã¯ç°ãªããŸããã ã¢ãŠããœãŒã·ã³ã°ã«ã¯å¥åŠãªæè¡ç解決çãšå¥åŠãªã¢ã«ãŽãªãºã ç解決çããããŸãã
ããšãã°ãããŸããŸãªäºæãã¬å Žæã« Sphinx ãé
眮ãããµãŒãã¹ããããŸããã ç§ãäœãããªããã°ãªããªãã£ãã®ãã¯åŸã§è©±ããŸãã
ã¢ãŠããœãŒã·ã³ã°æ¥è ã¯ç¬èªã«äœæãããã¬ãŒã ã¯ãŒã¯ãæã£ãŠããŸãã ããã¯ã以åã®ãããžã§ã¯ãããã³ããŒïŒããŒã¹ãããåãªã PHP ã§ãããããããçš®é¡ã®ãã®ãèŠã€ããããšãã§ããŸãã å±éã¹ã¯ãªããã¯ããã¡ã€ã«å ã®è€æ°ã®è¡ãå€æŽããããã«è€é㪠Bash ã¹ã¯ãªããã䜿çšããå¿ èŠãããããããã®å±éã¹ã¯ãªããã 8 çªç®ã®ã¹ã¯ãªããã«ãã£ãŠåŒã³åºãããå Žåã«å€§ããªæ¬ ç¹ã«ãªããŸãã ãã®çµæããããã€ã¡ã³ã ã·ã¹ãã ãå€æŽããå¥ã®ãã®ãéžæãããããããŸãããããµãŒãã¹ã¯æ©èœããŸããã ç°ãªããã©ã«ããŒéã«ããã« XNUMX ã€ã®ãªã³ã¯ãé 眮ããå¿ èŠãããããã§ãã ãããã¯ãXNUMX åã®ã¬ã³ãŒãã¯æ©èœããããXNUMX äžåã®ã¬ã³ãŒããæ©èœããªããªãããšãèµ·ãããŸãã
åŒãç¶ããã£ããã³ãåããããŠããã ããŸãã å€éšå§èšãµãŒãã¹ã®åãå ¥ãã¯å¿ é ã®æç¶ãã§ãã å€éšå§èšãµãŒãã¹ãå°çãããã®ã®ãã©ãã«ãåãå ¥ããããªãã£ããšãã人ã¯ããŸãã? ãã¡ãããããã¯å€ç«ãããµãŒãã¹ã»ã©äººæ°ã¯ãããŸããããããã§ã人æ°ããããŸãã
ãµãŒãã¹ã確èªãããµãŒãã¹ãèŠçŽãããã¹ã¯ãŒããå€æŽããå¿
èŠããããŸãã 圌ããç§ãã¡ã«ãµãŒãã¹ãæäŸãããšããããã°ã€ã³ == 'admin' && ãã¹ã¯ãŒã == 'admin'...ããšãã管çããã«ãããããããã³ãŒãã«çŽæ¥æžãããŠããããšããããŸããã ç§ãã¡ã¯åº§ã£ãŠèããŠããŸããã2018 幎ã«ãããæžããŠãã人ã¯ããã§ããããïŒ
ã¹ãã¬ãŒãžå®¹éã®ãã¹ããå¿ èŠã§ãã ãã®ãµãŒãã¹ãã©ããã§éçšããåã«ãXNUMX äžä»¶ã®ã¬ã³ãŒãã§äœãèµ·ããããæ€èšããå¿ èŠããããŸãã
æ¹åã®ããã«ãµãŒãã¹ãéãããšã¯æ¥ããããããšã§ã¯ãããŸããã ããã®ãµãŒãã¹ã¯åãä»ããŸãããã¿ã¹ã¯ã 20 åãããŸãããããå®è¡ããŠããåãä»ããŸãããšèšã£ãå Žåãããã¯æ£åžžã§ãã ããªãããããŒãžã£ãŒãèšçœ®ããŠãããšããäºå®ããããžãã¹ããéãç¡é§ã«ããŠãããšããäºå®ã«ãã£ãŠãããªãã®è¯å¿ãå·ã€ããããã¹ãã§ã¯ãããŸããã ããããã°ãäŒæ¥ã¯ããã«æ¯åºãå¢ããããšã«ãªããŸãã
ãã€ããããããžã§ã¯ããå€éšå§èšããããšã決å®ãããšãã®ã±ãŒã¹ããããŸããã
äºå®éãã«çŽåããããããå¯äžã®å質åºæºã§ããã ããããç§ãã¡ãå¥ã®ãã€ããã ãããžã§ã¯ããäœæããçç±ã§ããããã¯ãã¯ããã€ãããã§ãããªããã®ã§ããã ãããã®ãµãŒãã¹ã¯åãå
¥ãããã管çäžã®æ段ãéããŠãããããããªãã®ã³ãŒãã§ãããããããŒã ã§ãããããããªãã®ãããŒãžã£ãŒã§ãããšèšãããŸããã å®éããã®ãµãŒãã¹ã¯ãã§ã«åçãäžãå§ããŠããŸãã åæã«ãå®éã«ã¯ã圌ãã¯ãŸã å€å
ã§ããã誰ã圌ããã©ã®ããã«åããŠããããç解ããŠãããããããŒãžã£ãŒã¯åœŒãã®ä»äºãæåŠããããšæåãå°œãããŠããŸãã
ãã XNUMX ã€ã®çŽ æŽãããã³ã³ã»ããããããŸããããã¯ã²ãªã©éçºã§ãã ããéšé (éåžžã¯ããŒã±ãã£ã³ã°éšé) ã仮説ããã¹ãããããšèãããµãŒãã¹å
šäœãã¢ãŠããœãŒã·ã³ã°ããããã«æ³šæããå Žåã ãã©ãã£ãã¯ãæµå
¥ãå§ãã圌ãã¯æžé¡ãéããè«è² æ¥è
ãšæžé¡ã«çœ²åããæ¥åãéå§ããŠããèšããŸãããçãããããã«ã¯ãµãŒãã¹ããããŸãããã§ã«ãã©ãã£ãã¯ãããããéãããããããŸããåãå
¥ããŸããããã ç§ãã¡ã¯ããªãããã©ãããŠãããªããšãããã®ïŒãã£ãŠæãã§ããã
ãããŠãå€ç«ãããµãŒãã¹ãååŸãããã XNUMX ã€ã®æ¹æ³: ããããŒã ãçªç¶è² è·ãããã£ãŠããããšã«æ°ä»ãããšããçµå¶é£ã¯ããã®ããŒã ã®ãµãŒãã¹ãå¥ã®ããŒã ã«ç§»ããŸããããè² è·ã¯å°ããã§ããããšèšããŸãã ãããŠãããã第äžããŒã ã«ç§»ç®¡ããç£ç£ãå€ããããšã«ãªãã ãããŠæçµçã«ã¯ãŸãå€å
ãçãŸããã®ã§ãã
å€å ã®åé¡ã¯äœã§ããïŒ
ç¥ããªã人ã¯ããªãã§ãããããããã¯ã¹ãŠã§ãŒãã³ã§å»ºé ãããæŠèŠã¯ãµã§ãé²æ°ŽåŸ 5 åã§æ²æ²¡ããããšã§æåã§ãã ã¡ãªã¿ã«ãã¹ãŠã§ãŒãã³åœçã¯ãã®ããã«èª°ãåŠåããŸããã§ããã ãã®è¹ã¯ããã®ãããªè¹ã®äœãæ¹ãç¥ããªãã£ã XNUMX äžä»£ã®æè¡è
ã«ãã£ãŠå»ºé ãããŸããã èªç¶ãªå¹æã
ã¡ãªã¿ã«ãè¹ã¯ãã£ãšæªã圢ã§æ²æ²¡ããå¯èœæ§ããããŸããããšãã°ãåµã®ã©ããã§çããã§ã«è¹ã«ä¹ã£ãŠãããšãã§ãã ãããŠãã¢ãžã£ã€ã«ã«ããã°ãæ©æã«å€±æããã®ã¯è¯ãããšã ãšããã®ã§ã圌ã¯ããã«æººæ»ããŸããã
æ©æã«å€±æããŠããéåžžã¯åé¡ã¯ãããŸããã ããšãã°ãæ¿èªäžã«æ¹èšã®ããã«éä¿¡ãããŸããã ããããè³éãæè³ãã段éã§ãã§ã«å€±æããŠããŸã£ãå Žåãåé¡ãçºçããå¯èœæ§ããããŸãã ããžãã¹ã§èšããšããã®ãçµæãã
å€ç«ãããµãŒãã¹ãå±éºãªçç±:
- çªç¶ãµãŒãã¹ãåæ¢ããå ŽåããããŸãã
- ãµãŒãã¹ã®ä¿®åŸ©ã«æéãããããããŸã£ãã修埩ãããªãã
- å®å šäžã®åé¡ã
- æ¹åãã¢ããããŒãã«é¢ããåé¡ã
- éèŠãªãµãŒãã¹ãæ éãããšãäŒç€Ÿã®è©å€ã¯å·ã€ããŸãã
å€ç«ãããµãŒãã¹ãã©ãããã?
ããäžåºŠäœãããããç¹°ãè¿ããŸãã ãŸããææžããªããã°ãªããŸããã Banki.ru ã§ã® 7 幎éã®çµéšããããã¹ã¿ãŒã¯éçºè
ã®èšèãéµåã¿ã«ããŠã¯ãããªãããéçšã¯å
šå¡ã®èšèãéµåã¿ã«ããŠã¯ãããªããšããããšãåŠã³ãŸããã 確èªããå¿
èŠããããŸãã
次ã«ãããŸãè©å€ã®è¯ããªããµãŒãã¹ã«ã¯ã誰ãèšããªãã£ãäŸåé¢ä¿ãå«ãŸããŠããå Žåããããããçžäºäœçšå³ãæžãå¿
èŠããããŸãã ããšãã°ãéçºè
ã¯ãäžéšã® Yandex.Maps ãŸã㯠Dadata ã®ããŒã«ãµãŒãã¹ãã€ã³ã¹ããŒã«ããŸããã ç¡æã®å¶éã䜿ãæããããã¹ãŠãå£ããäœãèµ·ãã£ãã®ããŸã£ããããããŸããã ãã®ãããªã¬ã€ã¯ã¯ãã¹ãŠèª¬æããå¿
èŠããããŸãããµãŒãã¹ã¯ DadataãSMSããã®ä»ã®ãã®ã䜿çšããŸãã
第äžã«ãæè¡çè² åµãžã®åãçµã¿ã§ãã äœããã®æŸèæãã€ãããããµãŒãã¹ãåãå
¥ãããããŠãäœããããå¿
èŠããããšèšããšãã¯ãããã確å®ã«è¡ãããããã«ããå¿
èŠããããŸãã ãªããªãããã®å°ããªç©Žã¯ããã»ã©å°ãããªãããšãå€æããããããèœã¡ãŠããŸããããããªãããã§ãã
建ç¯ã«é¢ããã¿ã¹ã¯ã§ã¯ãã¹ãã£ã³ã¯ã¹ã«ã€ããŠã®è©±ãããŸããã ãµãŒãã¹ã® 50 ã€ã¯ããªã¹ãã®å ¥åã« Sphinx ã䜿çšããŠããŸããã ããŒãžåå²ããããªã¹ãã§ãããæ¯æ©ã€ã³ããã¯ã¹ãåäœæãããŸããã ãã㯠5 ã€ã®ã€ã³ããã¯ã¹ããçµã¿ç«ãŠãããŠããŸããã40 ã€ã®å€§ããªã€ã³ããã¯ã¹ã¯æ¯æ©ã€ã³ããã¯ã¹ããããã XNUMX ã€ã¯ããžã§åºå®ãããå°ããªã€ã³ããã¯ã¹ã§ããã æ¯æ¥ãçæããããã©ããã®ç¢ºçã XNUMX% ã§ãããããèšç®äžã«ææ°ãã¯ã©ãã·ã¥ããã¡ã€ã³ ããŒãžã§ã®ãã¥ãŒã¹ã®æŽæ°ãåæ¢ããŸããã æåã¯ã€ã³ããã¯ã¹ã®åäœæã« XNUMX åããããŸãããããã®åŸã€ã³ããã¯ã¹ãå¢å ããããæç¹ã§ã€ã³ããã¯ã¹ã®åäœæã« XNUMX åãããå§ããŸããã ãããåãåºãããšããç§ãã¡ã¯å®å µã®ããæ¯ãã€ããŸãããããå°ãæéãçµãŠã°ãã€ã³ããã¯ã¹ããã«ã¿ã€ã ã§åäœæãããããšã¯æããã ã£ãããã§ãã ããã¯ç§ãã¡ã®ããŒã¿ã«ã«ãšã£ãŠã¯å€±æã§ããããXNUMX æéãã¥ãŒã¹ããããŸãããããã ãã§ããããžãã¹ã¯åæ¢ããŸããã
å€ç«ãããµãŒãã¹ã®äœ¿çšãèšç»ãã
å®éãDevOps ã¯éä¿¡ã«é¢ãããã®ã§ããããããããè¡ãã®ã¯éåžžã«å°é£ã§ãã ããªãã¯ååãšè¯å¥œãªé¢ä¿ãä¿ã¡ãããšæã£ãŠããŸãããååããããŒãžã£ãŒã«èŠå¶ã課ãå Žåã圌ãã¯ãã®ãããªããšããã人ã
ã«å¯ŸããŠçžåããææ
ãæ±ããããããŸããã
ããããã¹ãŠã®ç¹ã«å ããŠããã XNUMX ã€éèŠãªç¹ããããŸããããã¯ãç¹å®ã®æ åœè ããç¹å®ã®ãµãŒãã¹ããšãå±éæé ã®ç¹å®ã®ã»ã¯ã·ã§ã³ããšã«è²¬ä»»ãè² ããªããã°ãªããªããšããããšã§ãã 人ãããªããŠããã®åé¡å šäœãç 究ããããã«ä»ã®äººãéããªããã°ãªããªãå Žåãããã¯å°é£ã«ãªããŸãã
ããããã¹ãŠã圹ã«ç«ãããå€ç«ãããµãŒãã¹ããŸã å€å
ã®ãŸãŸã§ã誰ããããåŒãç¶ããããããããã¥ã¡ã³ããæžãããŠãããããã®ãµãŒãã¹ã«åŒã³åºãããããŒã ãäœãããããšããªãå Žåãç°¡åãªæ¹æ³ããããŸã - ããçŽããã¹ãŠãã
ã€ãŸãããµãŒãã¹ã®èŠä»¶ãæ°ãã«åãäžããå¥åŠãªæè¡çãœãªã¥ãŒã·ã§ã³ã䜿çšããã«ãããåªãããã©ãããã©ãŒã äžã§ãããåªããæ°ãããµãŒãã¹ãäœæããŸãã ãããŠæŠéäžã«ããã«ç§»è¡ããŸãã
Yii 1 ã§ãµãŒãã¹ãå©çšãããšãã«ãYii 1 ã§ããŸãæžããéçºè
ãäžè¶³ããŠããããããã以äžéçºã§ããªãããšãããã£ããšããç¶æ³ããããŸããããã¹ãŠã®éçºè
㯠Symfony XNUMX ã§ããŸãæžããŸãã äœããããïŒ ç§ãã¡ã¯æéãå²ãåœãŠãããŒã ãå²ãåœãŠããããŒãžã£ãŒãå²ãåœãŠããããžã§ã¯ããæžãçŽãããã©ãã£ãã¯ãã¹ã ãŒãºã«åãæ¿ããŸããã
ãã®åŸãå€ããµãŒãã¹ãåé€ã§ããŸãã ããã¯ãæ§æ管çã·ã¹ãã ããäžéšã®ãµãŒãã¹ãååŸããŠåé€ãããã®åŸãéçºè ã«çè·¡ãæ®ããªãããã«ãå®çšŒåäžã®ãã¹ãŠã®è»äž¡ãç¡å¹ã«ãªã£ãŠããããšã確èªããå¿ èŠãããå Žåã«äœ¿çšãããç§ã®ãæ°ã«å ¥ãã®æé ã§ãã ãªããžããªã¯ Git å ã«æ®ããŸãã
ç§ã話ãããã£ãã®ã¯ããã ãã§ããè°è«ããæºåã¯ã§ããŠããŸããããŒãã¯ããªãã«ã§ããå€ãã®äººããã®äžã§æ³³ããŸããã
ã¹ã©ã€ãã«ã¯èšèªãçµ±äžãããšæžãããŠããŸããã äŸãšããŠã¯ãåçã®ãµã€ãºå€æŽããããŸãã æ¬åœã« XNUMX ã€ã®èšèªã«å³å¯ã«å¶éããå¿ èŠãããã®ã§ãããã? ãªããªããPHP ã§ã®ç»åã®ãµã€ãºå€æŽã¯ãå®éã«ã¯ Golang ã§è¡ãããšãã§ããããã§ãã
å®éãä»ã®å®è·µãšåæ§ãããã¯ãªãã·ã§ã³ã§ãã ããããå Žåã«ãã£ãŠã¯ãããã¯æãŸãããªãããšãããããŸãã ãããã50 人èŠæš¡ã®äŒç€Ÿã«æè¡éšéãããããã®ãã¡ 45 人ã PHP ã®ã¹ãã·ã£ãªã¹ãã§ãæ®ãã® 3 人ã PythonãAnsibleãPuppet ãªã©ãç¥ã£ãŠãã DevOps ã§ããã®ãã¡ã® XNUMX 人ã ããããã€ãã®æ©èœãèšè¿°ããŠããããšãç解ããå¿ èŠããããŸãã Go ã®ç»åãµã€ãºå€æŽãµãŒãã¹ã®ãããªãã®ã§ããµãŒãã¹ãçµäºãããšå°éç¥èã䌎ããŸãã åæã«ãç¹ã«åžå°ãªå Žåã¯ããã®èšèªã«ç²Ÿéããåžå Žåºæã®éçºè ãæ¢ãå¿ èŠããããŸãã ã€ãŸããçµç¹ã®èŠ³ç¹ãããããšãããã¯åé¡ã§ãã Devops ã®èŠ³ç¹ããèŠããšããµãŒãã¹ã®ãããã€ã«äœ¿çšããæ¢è£œã® Playbook ã»ãããè€è£œããã ãã§ãªããããããæåããæžãçŽãå¿ èŠããããŸãã
çŸåšãNode.js äžã§ãµãŒãã¹ãæ§ç¯ããŠããŸãããããã¯ãããããã®éçºè ãå¥ã®èšèªã䜿çšããŠè¿ãã«çœ®ããã©ãããã©ãŒã ã«ãããŸããã ããããç§ãã¡ã¯åº§ã£ãŠããã®è©Šåã«ã¯ãããããæã䟡å€ããããšèããŸããã ã€ãŸããããã¯ããªãã座ã£ãŠèããã¹ãåé¡ãªã®ã§ãã
ãµãŒãã¹ãã©ã®ããã«ç£èŠããŠããŸãã? ãã°ãã©ã®ããã«åéããŠç£èŠããŸãã?
Elasticsearch ã§ãã°ãåéã㊠Kibana ã«çœ®ããŸãããæ¬çªç°å¢ããã¹ãç°å¢ãã«å¿ããŠãããã§ç°ãªãã³ã¬ã¯ã¿ãŒã䜿çšãããŸãã ã©ããã®æšãããã©ããä»ã®äœããèŠããŠããŸããã ãŸããç¹å®ã®ãµãŒãã¹ã§ã¯ãTelegraf ãã€ã³ã¹ããŒã«ããå¥ã®å Žæã§åå¥ã«æ®åœ±ããŠããå ŽæããŸã ããã€ããããŸãã
åãç°å¢ã§ Puppet ãš Ansible ãå ±åãããã«ã¯ã©ãããã°ããã§ãã?
å®éãçŸåš XNUMX ã€ã®ç°å¢ããããXNUMX ã€ã¯ Puppetããã XNUMX ã€ã¯ Ansible ã§ãã ç§ãã¡ã¯ãããã®ãã€ããªããåã«åãçµãã§ããŸãã Ansible ã¯åæã»ããã¢ããã«é©ãããã¬ãŒã ã¯ãŒã¯ã§ãããPuppet ã¯ãã©ãããã©ãŒã äžã§çŽæ¥å®è·µçãªäœæ¥ãå¿ èŠãªãããåæã»ããã¢ããã«ã¯é©ããŠããŸãããPuppet ã¯æ§æã®åæãä¿èšŒããŸãã ããã¯ããã©ãããã©ãŒã èªäœãææ°ã®ç¶æ ã«ç¶æãããããšãæå³ããé§é€ããããã·ã³ãææ°ã®ç¶æ ã«ç¶æããã«ã¯ãããçšåºŠã®é »åºŠã§åžžã«ãã¬ã€ããã¯ãå®è¡ããå¿ èŠããããŸãã ãããéãã§ãã
äºææ§ãã©ã®ããã«ç¶æããŸãã? Ansible ãš Puppet ã®äž¡æ¹ã«æ§æããããŸãã?
ããã¯ç§ãã¡ã®å€§ããªèŠçã§ãããç§ãã¡ã¯æã®äºææ§ãç¶æããä»ãã®ãã¹ãŠããã©ããã«é²ãæ¹æ³ãèããŠããŸãã Puppet ã¯ããã±ãŒãžãããŒã«ã¢ãŠãããŠããã«ããã€ãã®ãªã³ã¯ãç¶æããããšãã° Ansible ã¯ã³ãŒããããŒã«ã¢ãŠãããŠããã§ææ°ã®ã¢ããªã±ãŒã·ã§ã³æ§æã調æŽããŠããããšãããããŸããã
ãã¬ãŒã³ããŒã·ã§ã³ã¯ Ruby ã®ããŸããŸãªããŒãžã§ã³ã«ã€ããŠã§ããã ã©ã®ãããªè§£æ±ºçã§ããããïŒ
ç§ãã¡ã¯ããå Žæã§ããã«ééããŸããããããŠç§ãã¡ã¯ãããåžžã«é ã®äžã«çããŠãããªããã°ãªããŸããã ã¢ããªã±ãŒã·ã§ã³ãšäºææ§ã®ãªã Ruby äžã§åäœããéšåããªãã«ããåé¢ããŠãããã ãã§ãã
ä»å¹Žã®ã«ã³ãã¡ã¬ã³ã¹
DevOpsDays ã¢ã¹ã¯ã¯ 7æ11æ¥ã«ãã¯ãããªã¹ã§éå¬ãããŸãã ã¬ããŒãã®å¿åã¯XNUMXæXNUMXæ¥ãŸã§åãä»ããŠãããæžããŸã 話ãããããšãããã°ãç§ãã¡ã«è©±ããŠãã ãããåå è ç»é²ã¯åä»äžã§ãã®ã§ããã²ãåå ãã ããïŒ
åºæïŒ habr.com