äžç13ãåœã®Dodo Pizzaã«ã¯600ãè¶ ãããã¶å±ãããããã¶å±ã®ããã»ã¹ã®ã»ãšãã©ã¯ãç§ãã¡èªèº«ãäœæããŠç®¡çããŠããDodo ISæ å ±ã·ã¹ãã ã«ãã£ãŠç®¡çãããŠããŸãããããã£ãŠãã·ã¹ãã ã®ä¿¡é Œæ§ãšå®å®æ§ã¯çåã®ããã«éèŠã§ãã
çŸåšã瀟å ã®æ å ±ã·ã¹ãã ã®å®å®æ§ãšä¿¡é Œæ§ã¯SREïŒãµã€ãä¿¡é Œæ§ãšã³ãžãã¢ãªã³ã°ïŒããŒã ã«ãã£ãŠãµããŒããããŠããŸãããåžžã«ããã§ãããšã¯éããŸããã§ããã
èæ¯ïŒéçºè ãšã€ã³ãã©ã¹ãã©ã¯ãã£ã®äžŠåäžç
é·å¹Žãç§ã¯å žåçãªãã«ã¹ã¿ãã¯éçºè ïŒããã³å°ãã®ã¹ã¯ã©ã ãã¹ã¿ãŒïŒãšããŠéçºããåªããã³ãŒãã®èšè¿°æ¹æ³ãåŠã³ãExtreme Programmingã®å®è·µãé©çšããç§ã觊ãããããžã§ã¯ãã®WTFã®æ°ãç±å¿ã«æžãããŸããããããããœãããŠã§ã¢éçºã§çµéšãç©ãã»ã©ãã¢ããªã±ãŒã·ã§ã³ã®ä¿¡é Œæ§ã®é«ãç£èŠããã³è¿œè·¡ã·ã¹ãã ãé«å質ã®ãã°ãå®å šãªèªåãã¹ããããã³ãµãŒãã¹ã®é«ãä¿¡é Œæ§ãä¿èšŒããã¡ã«ããºã ã®éèŠæ§ã«æ°ã¥ããŸããããããŠããŸããŸãé »ç¹ã«ã圌ã¯ã€ã³ãã©ããŒã ã«ãå£æ ¹ãè¶ããŠãèŠå§ããŸããã
ç§ã®ã³ãŒããåäœããç°å¢ãç解ããã°ããã»ã©ãé©ããããŸãããœãããŠã§ã¢ã®äžçã§ã®ãã¹ãŠããã¹ãŠã®äººã«å¯Ÿããèªåãã¹ããCIãé »ç¹ãªãªãªãŒã¹ãå®å šãªãªãã¡ã¯ã¿ãªã³ã°ãããã³ã³ãŒãã®æææš©ã®å ±æã¯ãæããäžè¬çã§èŠªãã¿æ·±ããã®ã§ããåæã«ããã€ã³ãã©ã¹ãã©ã¯ãã£ãã®äžçã§ã¯ãèªåãã¹ãããªããã»ãããã¥ã¢ã«ã¢ãŒãã§æ¬çªã·ã¹ãã ã«å€æŽãå ããããšã¯äŸç¶ãšããŠæ£åžžã§ãããããã¥ã¡ã³ãã¯å€ãã®å Žåãå人ã®é ã ãã«ãããã³ãŒãã«ã¯ãããŸããã
ãã®æåçããã³æè¡çæ Œå·®ã¯ãæ··ä¹±ã ãã§ãªãåé¡ãåŒãèµ·ãããŸããéçºãã€ã³ãã©ã¹ãã©ã¯ãã£ãããã³ããžãã¹ã®äº€å·®ç¹ã«ãããŠã§ããã€ã³ãã©ã¹ãã©ã¯ãã£ã®åé¡ã®äžã«ã¯ãããŒããŠã§ã¢ã«è¿æ¥ããŠãããããŒã«ã®éçºãæ¯èŒçäžååãªããã察åŠãé£ãããã®ããããŸãããããããã¹ãŠã®Ansibleãã¬ã€ããã¯ãšBashã¹ã¯ãªãããå®å šãªãœãããŠã§ã¢è£œåãšããŠæ€èšãå§ãããããã«åãèŠä»¶ãé©çšãããšãæ®ãã®éšåã¯ç¡å¹ã«ãªãå¯èœæ§ããããŸãã
åé¡ã®ããã¥ãŒããã©ã€ã¢ã³ã°ã«
ããããç§ã¯é ãããå§ããŸã-ããããã¹ãŠã®ãã³ã¹ãå¿ èŠãšãããåé¡ã§ã
éçºè ã®åé¡
2幎åãç§ãã¡ã¯ãã¶å±ã®å€§èŠæš¡ãªãããã¯ãŒã¯ãç§ãã¡èªèº«ã®ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ãªãã§ã¯çããããªãããšã«æ°ä»ãããããæžãããšã«ããŸããã
- ã¯ãŒã«ãªããŒã ãç·šæããŸããã
- 6ãæéã圌ãã¯äŸ¿å©ã§çŸããã¢ããªã±ãŒã·ã§ã³ãäœæããŸããã
- çŸå³ããããã¢ãŒã·ã§ã³ã§ã°ã©ã³ãããŒã³ããããã¯ã¢ããããŸããã
- ãããŠãåæ¥ã«åœŒãã¯ç¡äºã«è·ãäžããŸããã
ãã¡ãããæåã¯ããããã®æµ ç¬ããããŸããããäœããããŸãèŠããŠããŸããéçºæã«ã匱ããµãŒããŒãæ¬çªç°å¢ã«ãããã€ãããŸãããã»ãšãã©ãã¢ããªã±ãŒã·ã§ã³ããã®ãªã¯ãšã¹ããåŠçããèšç®æ©ã§ããã¢ããªã±ãŒã·ã§ã³ã®å ¬è¡šåã«ããããå¢ããå¿ èŠããããŸãã-ç§ãã¡ã¯Azureã«äœãã§ãããããã¯ãã¿ã³ãã¯ãªãã¯ããããšã§è§£æ±ºããŸããã
ãããã誰ããã®ãã¿ã³ãæŒããŠããŸãããã€ã³ãã©ã¹ãã©ã¯ãã£ããŒã ã¯ãã¢ããªã±ãŒã·ã§ã³ãä»æ¥ãªãªãŒã¹ãããŠããããšããç¥ããŸããã§ããã圌ãã¯ããéèŠã§ã¯ãªãããµãŒãã¹ã®çæã®ç£èŠã¯ã¢ããªã±ãŒã·ã§ã³ããŒã ã®è²¬ä»»ã§ãããšæ±ºå®ããŸããããããŠãããã¯ãšã³ãéçºè ïŒããã¯Dodoã§ã®åœŒã®æåã®ãããžã§ã¯ãã§ããïŒã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ã®ã¡ã³ããŒã倧äŒæ¥ã§ãããè¡ã£ãŠãããšæ±ºå®ããŸããã
ãã®éçºè ã¯ç§ã§ãããããããç§ã¯æçœã ãéèŠãªã«ãŒã«ãæãã€ããŸããïŒ
, , , . .
ä»ã¯é£ãããããŸãããè¿å¹Žãããã°ã©ããŒãæªçšã®äžçã調ã¹ãŠäœãå£ããªãããã«ããããã®å€æ°ã®ããŒã«ãç»å ŽããŸããïŒPrometheusãZipkinãJaegerãELKã¹ã¿ãã¯ãKustoã
ãã ããå€ãã®éçºè ã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ãDevOpsãSREãšåŒã°ãããã®ã«é¢ããŠæ·±å»ãªåé¡ãæ±ããŠããŸãããã®çµæãããã°ã©ããŒ
ã¯ã€ã³ãã©ã¹ãã©ã¯ãã£ããŒã ã«äŸåããŸããããã¯çã¿ã誀解ãæã«ã¯çžäºã®ææªãåŒãèµ·ãããŸãã
圌ãã¯ã·ã¹ãã ãçŸå®ããåé¢ããŠèšèšããã©ãã§ã©ã®ããã«ã³ãŒããå®è¡ãããããèæ ®ããŠããŸãããããšãã°ãã¯ã©ãŠãã§ã®ç掻ã®ããã«éçºãããŠããã·ã¹ãã ã®ã¢ãŒããã¯ãã£ãšèšèšã¯ããªã³ãã¬ãã¹ã§ãã¹ããããŠããã·ã¹ãã ã®èšèšãšã¯ç°ãªããŸãã
圌ãã¯ãã³ãŒãã«é¢é£ãããã°ãåé¡ã®æ§è³ªãç解ããŠããŸãããããã¯ãåé¡ãè² è·ãã¯ãšãªãã©ã³ã·ã³ã°ããããã¯ãŒã¯ãŸãã¯ããŒããã©ã€ãã®ããã©ãŒãã³ã¹ã«é¢é£ããŠããå Žåã«ç¹ã«é¡èã§ããéçºè ã¯åžžã«ãã®ç¥èãæã£ãŠãããšã¯éããŸããã
圌ãã¯ãã³ãŒãã®ä¿å®ã«äœ¿çšãããäŒç€Ÿã®è³éããã®ä»ã®ãªãœãŒã¹ãæé©åããããšã¯ã§ããŸãããç§ãã¡ã®çµéšã§ã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ããŒã ã¯ãåé¡ããéã§æºããã ãã§ããããšãã°ãéçšç°å¢ã§ããŒã¿ããŒã¹ãµãŒããŒã®ãµã€ãºãå¢ãããŸãããããã£ãŠãå€ãã®å Žåãã³ãŒãã®åé¡ã¯ããã°ã©ãã«ããå±ããŸããããªãããã®çç±ã§ãã€ã³ãã©ã¹ãã©ã¯ãã£ã®ã³ã¹ããå¢å ãå§ããã ãã§ãã
ã€ã³ãã©åé¡
ãå察åŽãã«ãå°é£ããããŸãã
é«å質ã®ã³ãŒãããªããã°ãæ°åã®ãµãŒãã¹ãšç°å¢ã管çããããšã¯å°é£ã§ããçŸåšãGitHubã«ã¯450ãè¶ ãããªããžããªããããŸãããããã®ããã€ãã¯éçšãµããŒããå¿ èŠãšããŸãããããã€ãã¯æ»ãã§æŽå²ã®ããã«ä¿åãããŠããŸãããéèŠãªéšåã¯ãµããŒãããå¿ èŠããããµãŒãã¹ãå«ãã§ããŸãã圌ãã¯ã©ããã«ãã¹ãããå¿ èŠããããç£èŠããã°ã®åéãåäžãªCI / CDãã€ãã©ã€ã³ãå¿ èŠã§ãã
ããããã¹ãŠã管çããããã«ãæè¿ãAnsibleãç©æ¥µçã«äœ¿çšããŸãããAnsibleãªããžããªã«ã¯ä»¥äžãå«ãŸããŠããŸãïŒ
- 60ã®åœ¹å²;
- ãã¬ã€ããã¯102åã
- Pythonããã³Bashã§ã®ãã€ã³ãã£ã³ã°ã
- Vagrantã§ã®æåãã¹ãã
ããã¯ãã¹ãŠãè³¢ã人ã«ãã£ãŠæžãããããæžãããŸãããããããã€ã³ãã©ã¹ãã©ã¯ãã£ã®ä»ã®éçºè ãããã°ã©ããŒããã®ã³ãŒããç©æ¥µçã«äœ¿çšãå§ãããšããã«ããã¬ã€ããã¯ãå£ãã圹å²ãéè€ããŠãèã§èŠãããŠãããŸãããšãããããŸããã
ãã®çç±ã¯ããã®ã³ãŒãããœãããŠã§ã¢éçºã®äžçã§å€ãã®æšæºçãªææ³ã䜿çšããŠããªãã£ãããã§ãã CI / CDãã€ãã©ã€ã³ããªãããã¹ãã¯è€éã§äœéã ã£ãããã誰ããé¢åã§ãæéããªããããæåã§å®è¡ã§ãããããã«æ°ãããã¹ããäœæããŠããŸããããã®ãããªã³ãŒãã¯ã2人以äžã§äœæ¥ãããšç Žæ» ããŸãã
ã³ãŒãã®ç¥èãªãã«ã€ã³ã·ãã³ãã«å¹æçã«å¯Ÿå¿ããããšã¯å°é£ã§ããåå3æã«PagerDutyã«ã¢ã©ãŒããæ¥ãããäœãã©ã®ããã«èª¬æããããã°ã©ããŒãæ¢ãå¿ èŠããããŸããããšãã°ããããã®500ã®ãšã©ãŒã¯ãŠãŒã¶ãŒã«åœ±é¿ãäžããŸãããä»ã®ãšã©ãŒã¯ã»ã«ã³ããªãµãŒãã¹ã«é¢é£ä»ããããŠããŸããããšã³ãã«ã¹ã¿ããŒã«ã¯ããã衚瀺ããããæãŸã§ãã®ãããªãã¹ãŠãæ®ãããšãã§ããŸããããããæã®3æã«ããã°ã©ããèµ·ããã®ã¯é£ããã®ã§ããµããŒãããã³ãŒããã©ã®ããã«æ©èœããããç解ããããšããå§ãããŸãã
å€ãã®ããŒã«ã§ã¯ãã¢ããªã±ãŒã·ã§ã³ã³ãŒãã«åã蟌ãå¿ èŠããããŸããã€ã³ãã©ã¹ãã©ã¯ãã£ã®æ åœè ã¯ãäœãç£èŠããã©ã®ããã«ãã°ã«èšé²ãã远跡ã®ããã«äœã«æ³šæãæãã¹ãããç¥ã£ãŠããŸããããããå€ãã®å Žåãããããã¹ãŠãã¢ããªã±ãŒã·ã§ã³ã³ãŒãã«åã蟌ãããšãã§ããŸããããããŠãäœãã©ã®ããã«åã蟌ããããããªã人ã
ãå£ããé»è©±ãã100åç®ãäœãã©ã®ããã«ç£èŠãããã説æããã®ã¯äžæå¿«ã§ããã¢ããªã±ãŒã·ã§ã³ã§åå©çšããããã«ããã°ã©ããŒã«æž¡ãå ±æã©ã€ãã©ãªãŒãæžãæ¹ãç°¡åã§ãããã ãããããè¡ãã«ã¯ãåãèšèªã§åãã¹ã¿ã€ã«ã§ãã¢ããªã±ãŒã·ã§ã³éçºè ã䜿çšããã®ãšåãã¢ãããŒãã§ã³ãŒããèšè¿°ã§ããå¿ èŠããããŸãã
ããžãã¹äžã®åé¡
ããžãã¹ã«ã¯ã察åŠããå¿ èŠã®ãã2ã€ã®å€§ããªåé¡ããããŸãã
ä¿¡é Œæ§ãšå¯çšæ§ã«é¢é£ããã·ã¹ãã ã®äžå®å®æ§ã«ããçŽæ¥çãªæ倱ã
2018幎ã«ã¯ã51ã®é倧ãªã€ã³ã·ãã³ãããããã·ã¹ãã ã®é倧ãªèŠçŽ ãåèšã§20æéãè¶ ããŠæ©èœããŸããã§ãããééçã«ã¯ãããã¯æªé éããã³æªé éã®æ³šæã«ããçŽæ¥æ倱ã®2500äžã«ãŒãã«ã§ãããããŠãåŸæ¥å¡ã顧客ããã©ã³ãã£ã€ãºå çåºã®ä¿¡é Œãã©ãã»ã©å€±ã£ããã¯èšç®ã§ããŸããã
çŸåšã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãµããŒãã³ã¹ããåæã«ãå瀟ã¯2018幎ã®ç®æšãèšå®ããŸããïŒãããã§ãªã¢ãããã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã®ã³ã¹ãã3åã«åæžããããšã§ããããããããŒã å ã®ããã°ã©ããŒãDevOpsãšã³ãžãã¢ãããã®åé¡ã®è§£æ±ºã«è¿ã¥ãããšã¯ã§ããŸããã§ãããããã«ã¯çç±ããããŸãã
- , ;
- , operations ( DevOps), ;
- , .
?
ãããã®åé¡ããã¹ãŠè§£æ±ºããã«ã¯ã©ãããã°ããã§ããïŒãã®è§£æ±ºçã¯ãGoogleã®ããµã€ãä¿¡é Œæ§ãšã³ãžãã¢ãªã³ã°ããšããæ¬ã§èŠã€ããŸããããããèªãã ãšããç§ãã¡ã¯ç解ããŸãã-ãããç§ãã¡ãå¿ èŠãšãããã®ã§ãã
ãããããã¥ã¢ã³ã¹ããããŸããããããã¹ãŠå®è£ ããã«ã¯äœå¹Žãããããã©ããããå§ããªããã°ãªããŸãããæåã«æã£ãŠããåæããŒã¿ãæ€èšããŠãã ããã
ã€ã³ãã©ã¹ãã©ã¯ãã£å šäœãã»ãŒãã¹ãŠMicrosoft Azureã«ååšããŸãããšãŒããããã¢ã¡ãªã«ãäžåœãªã©ãããŸããŸãªå€§éžã«ãŸãããç¬ç«ãã販売ã¯ã©ã¹ã¿ãŒãããã€ããããŸããçç£ãç¹°ãè¿ããå€ç«ããç°å¢ã«äœãã§ããããŒãã¹ã¿ã³ããšãéçºããŒã çšã®æ°åã®DEVç°å¢ããããŸãã
ç§ãã¡ããã§ã«è¡ã£ãåªããSREãã©ã¯ãã£ã¹ã®ãã¡ã
- ã¢ããªã±ãŒã·ã§ã³ãšã€ã³ãã©ã¹ãã©ã¯ãã£ãç£èŠããããã®ã¡ã«ããºã ïŒãã¿ãã¬ïŒ2018幎ãç§ãã¡ã¯ããããè¯ãã£ããšæã£ãŠããŸãããããã§ã«ãã¹ãŠãæžãçŽããŠããŸãïŒã
- 24/7 on-call;
- ;
- ;
- CI/CD- ;
- , ;
- SRE .
ããããæåã«è§£æ±ºãããã£ãåé¡ããããŸãã
ãã€ã³ãã©ã¹ãã©ã¯ãã£ããŒã ãéè² è·ã§ãããçŸåšã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ãããã°ããŒãã«ãªæ¹åã®ããã®ååãªæéãšåŽåããããŸããã§ãããããšãã°ãéåžžã«é·ãéå¿ èŠã§ããããElasticsearchãã¹ã¿ãã¯ããåãé€ãããšãããªã¹ã¯ãåé¿ããããã«å¥ã®ã¯ã©ãŠããããã€ããŒããã€ã³ãã©ã¹ãã©ã¯ãã£ãè€è£œããããšãã§ããŸããã§ããïŒããã§ããã«ãã¯ã©ãŠãã§ãã§ã«è©Šãã人ã¯ç¬ããããããŸããïŒã
ã³ãŒãã®ã«ãªã¹ãã€ã³ãã©ã¹ãã©ã¯ãã£ã³ãŒãã¯ç¡ç§©åºã§ãããŸããŸãªãªããžããªã«æ£åšããŠãããã©ãã«ãææžåãããŠããŸããããã¹ãŠã¯å人ã®ç¥èã«äŸåããä»ã«ã¯äœããããŸããã§ãããããã¯å·šå€§ãªç¥è管çã®åé¡ã§ããã
ãããã°ã©ããŒãšã€ã³ãã©ã¹ãã©ã¯ãã£ãšã³ãžãã¢ãããŸãããããªãããçºéããDevOpsã«ã«ãã£ãŒããã£ããšããäºå®ã«ããããããããŸã ãã®åé¢ããããŸãããç°ãªãèšèªã話ããç°ãªãããŒã«ã䜿çšããããŸã£ããç°ãªãçµéšãæã€2ã€ã®ã¯ã©ã¹ã®äººã ããã¡ããã圌ãã¯åéã§ãããã³ãã¥ãã±ãŒã·ã§ã³ãåã£ãŠããŸãããå®å šã«ç°ãªãçµéšã®ããã«ããã°ãã°ãäºããç解ããŠããŸããã
ãªã³ããŒãã£ã³ã°SREããŒã
ãããã®åé¡ã解決ããSREãžã®ç§»è¡ãéå§ããããã«ããªã³ããŒãã£ã³ã°ãããžã§ã¯ããç«ã¡äžããŸãããããã ããå€å žçãªãªã³ããŒãã£ã³ã°ã§ã¯ãªãã£ã-çŸåšã®ããŒã ã«äººã ãè¿œå ããããã«æ°å ¥ç€Ÿå¡ïŒæ°äººïŒãèšç·Žãããããã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ãšã³ãžãã¢ãšããã°ã©ããŒã®æ°ããããŒã ã®äœæã§ãã-æ¬æ ŒçãªSREæ§é ãžã®ç¬¬äžæ©ã
ãããžã§ã¯ãã«4ãæãå²ãåœãŠã3ã€ã®ç®æšãèšå®ããŸããã
- ã€ã³ãã©ã¹ãã©ã¯ãã£ããŒã ã§ã®è·åãšéçšæŽ»åã«å¿ èŠãªç¥èãšã¹ãã«ã«ã€ããŠããã°ã©ãããã¬ãŒãã³ã°ããŸãã
- IaCãèšè¿°-ã³ãŒãå ã®ã€ã³ãã©ã¹ãã©ã¯ãã£å šäœã®èª¬æããããŠãããã¯CI / CDããã¹ããåããæ¬æ ŒçãªãœãããŠã§ã¢è£œåã§ãªããã°ãªããŸããã
- ãã®ã³ãŒãããã€ã³ãã©ã¹ãã©ã¯ãã£å šäœãåäœæããAzureã§ããŠã¹ã䜿çšããŠä»®æ³ãã·ã³ãæåã§ã¯ãªãã¯ããããšãå¿ããŸãã
åå è ïŒ9人ããã®ãã¡6人ã¯éçºããŒã ã3人ã¯ã€ã³ãã©ã¹ãã©ã¯ãã£ã4ãæéã圌ãã¯éåžžã®ä»äºãèŸããŠãæå®ãããã¿ã¹ã¯ã«æ²¡é ããå¿ èŠããããŸãããããžãã¹ã®ãçåœããç¶æããããã«ãã€ã³ãã©ã¹ãã©ã¯ãã£ããããã«3人ãå€åãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãæ±ããåŸæ¹ãã«ããŒããŸããããã®çµæããããžã§ã¯ãã¯èãã䌞ã³ã5ãæ以äžããããŸããïŒ2019幎5æãã10æãŸã§ïŒã
ãªã³ããŒãã£ã³ã°ã®2ã€ã®æ±ïŒåŠç¿ãšå®è·µ
ãªã³ããŒãã£ã³ã°ã¯ããã¬ãŒãã³ã°ãšã³ãŒãã«ããã€ã³ãã©ã¹ãã©ã¯ãã£ã®äœæ¥ã®2ã€ã®éšåã§æ§æãããŠããŸããã
ãã¬ãŒãã³ã°ãå°ãªããšã1æ¥3æéã¯ãã¬ãŒãã³ã°ã«å²ãåœãŠãããŸããã
- åèæç®ã®ãªã¹ãããèšäºãæ¬ãèªãïŒLinuxããããã¯ãŒã¯ãSRE;
- ç¹å®ã®ããŒã«ãšãã¯ãããžãŒã«é¢ããè¬çŸ©ã§;
- Linuxãªã©ã®ãã¯ãããžãŒã¯ã©ãã§ãè€éãªã±ãŒã¹ãšã±ãŒã¹ãåæããŸããã
ãã1ã€ã®åŠç¿ããŒã«ã¯å éšãã¢ã§ããããã¯æ¯é±ã®äŒè°ã§ã10åã§å šå¡ïŒäœãèšãããããšããã人ïŒãã圌ãã1é±éã§ã³ãŒãã«å®è£ ãããã¯ãããžãŸãã¯æŠå¿µã«ã€ããŠè©±ããŸãããããšãã°ãVasyaã¯Terraformã¢ãžã¥ãŒã«ãæäœããããã®ãã€ãã©ã€ã³ãå€æŽããPetyaã¯Packerã䜿çšããŠã€ã¡ãŒãžã¢ã»ã³ããªãæžãçŽããŸããã
ãã¢ã®åŸãç§ãã¡ã¯Slackã®åãããã¯ã®äžã§ãã£ã¹ã«ãã·ã§ã³ãéå§ããŸãããããã§ã¯ãé¢å¿ã®ããåå è ããã¹ãŠãéåæã§ãã詳现ã«è°è«ããããšãã§ããŸããããããã£ãŠã10人ã§ã®é·ãäŒè°ãé¿ããŸããããåæã«ãããŒã ã®å šå¡ãã€ã³ãã©ã¹ãã©ã¯ãã£ã§äœãèµ·ãã£ãŠããã®ããã©ãã«åãã£ãŠããã®ããããç解ããŠããŸããã
ç·Žç¿ããªã³ããŒãã£ã³ã°ã®2çªç®ã®éšåã¯ãã³ãŒãå ã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã®äœæ/説æã§ãããã®éšåã¯ããã€ãã®æ®µéã«åãããŠããŸãã
ã€ã³ãã©ã¹ãã©ã¯ãã£ã®ãªããŒã¹ãšã³ãžãã¢ãªã³ã°ãããã¯ãäœãã©ãã«å±éãããã©ã®ããã«æ©èœããã©ã®ãµãŒãã¹ãæ©èœããã©ã®ãã·ã³ãšãã®ãµã€ãºãå±éãããããåæããæåã®æ®µéã§ãããã¹ãŠãå®å šã«ææžåãããŸããã
æŠå¿µãç§ãã¡ã¯ããŸããŸãªãã¯ãããžãŒãèšèªãã¢ãããŒããå®éšããã€ã³ãã©ã¹ãã©ã¯ãã£ãã©ã®ããã«èª¬æã§ããããã©ã®ããŒã«ã䜿çšããå¿ èŠãããããçºèŠããŸããã
ã¹ãã«ã³ãŒããããã«ã¯ãã³ãŒãèªäœã®èšè¿°ãCI / CDãã€ãã©ã€ã³ã®äœæããã¹ããããã³ãã¹ãŠã®ããã»ã¹ã®æ§ç¯ãå«ãŸããŸãã説æããã³ãŒããèšè¿°ããéçºã€ã³ãã©ã¹ãã©ã¯ãã£ããŒãããäœæããæ¹æ³ãç¥ã£ãŠããŸããã
åäœæãšã¯ãè² è·ãã¹ããšæ¬çªç°å¢ãæå³ããŸããããã¯ããªã³ããŒãã£ã³ã°åŸã«è¡ãããã¯ãã ã£ã4çªç®ã®ã¹ããŒãžã§ãããå¥åŠãªããšã«ãããããã®å©çã¯ãéåžžã«é »ç¹ã«äœæ/åäœæãããæªäœ¿çšç°å¢ããã®å©çãããã¯ããã«å°ãªããããçŸæç¹ã§ã¯å»¶æãããŠããŸãã
代ããã«ããããžã§ã¯ãã¢ã¯ãã£ããã£ã«åãæ¿ããŸãããå°ããªãµãã³ãã³ãã«åå²ãããããŸã§ã«å°éããŠããªãã£ãã°ããŒãã«ã€ã³ãã©ã¹ãã©ã¯ãã£ãããžã§ã¯ããåãäžããŸããããããŠãã¡ãããç§ãã¡ã¯æèšã«åå ããŸããã
IaCçšã®ããŒã«
- Terraform .
- Packer Ansible .
- Jsonnet Python .
- Azure, .
- VS Code â IDE, , , , .
- â , .
ã€ã³ãã©ã¹ãã©ã¯ãã£ã§ã®æ¥µç«¯ãªããã°ã©ãã³ã°ãã©ã¯ãã£ã¹
ããã°ã©ããŒãšããŠç§ãã¡ãæã£ãŠããäž»ãªãã®ã¯ãç§ãã¡ãä»äºã§äœ¿çšãããšã¯ã¹ããªãŒã ããã°ã©ãã³ã°ã®å®è·µã§ãã XPã¯ãæè¯ã®éçºã¢ãããŒããå®è·µãããã³äŸ¡å€ã®çµã蟌ã¿ãçµã¿åãããã¢ãžã£ã€ã«ãœãããŠã§ã¢éçºæ¹æ³è«ã§ãã
ããšãããã«ã€ããŠç¥ããªããŠãããšã¯ã¹ããªãŒã ããã°ã©ãã³ã°ã®ææ³ã®å°ãªããšãäžéšã䜿çšããªãããã°ã©ãã¯äžäººãããŸãããåæã«ãã€ã³ãã©ã¹ãã©ã¯ãã£ã®äžçã§ã¯ããããã®ãã©ã¯ãã£ã¹ã¯ãGoogle SREã®ãã©ã¯ãã£ã¹ãšéåžžã«éè€ããŠããã«ããããããããã€ãã¹ãããŠããŸãã
XPãã©ã®ããã«ã€ã³ãã©ã¹ãã©ã¯ãã£ã«é©åããããã«ã€ããŠã®å¥ã®èšäºããããŸãããããããç°¡åã«èšããšãXPãã©ã¯ãã£ã¹ã¯ãå¶éãé©å¿ããã£ãŠããã€ã³ãã©ã¹ãã©ã¯ãã£ã³ãŒãã§ãæ©èœããŸãããæ©èœããŸãã家ã§ããããé©çšãããå Žåã¯ããããã®ãã©ã¯ãã£ã¹ãé©çšããçµéšã®ãã人ãæåŸ ããŠãã ããããããã®ãã©ã¯ãã£ã¹ã®ã»ãšãã©ã¯ãSREã«é¢ããåãæ¬ã§äœããã®åœ¢ã§èª¬æãããŠããŸãã
ããŸããã£ããããããŸããããããã¯ãããŸããã
éäžã§æè¡çããã³äººçºçãªåé¡
ãããžã§ã¯ãã«ã¯2çš®é¡ã®åé¡ããããŸããã
- æè¡çïŒãéãã®äžçã®éçãä»ã®äººãããªãããã«äœ¿çšããªããã°ãªããªãã£ãç¥èãšçã®ããŒã«ã®æ¬ åŠããããã¯ã©ã®ããã°ã©ããŒã«ãšã£ãŠãäžè¬çãªåé¡ã§ãã
- 人éïŒããŒã å ã®äººã ã®çžäºäœçšãã³ãã¥ãã±ãŒã·ã§ã³ãææ決å®ããã¬ãŒãã³ã°ãããã«ãããç¶æ³ã¯æªåãããããããã«è©³ãã説æããå¿ èŠããããŸãã
ä»ã®ããã°ã©ãã³ã°ããŒã ãšåãããã«ããªã³ããŒãã£ã³ã°ããŒã ã®éçºãéå§ããŸãããã¿ãã¯ãã³ã«ãããšãããŒã ã圢æããéåžžã®æ®µéããããšäºæ³ããŠããŸããïŒåµãé 絊ããããŠæçµçã«ã¯çç£æ§ãšçç£çãªä»äºã«è¡ããŸãããããã£ãŠã圌ãã¯åœåãã³ãã¥ãã±ãŒã·ã§ã³ãææ決å®ãåæããããã®å°é£ãããã€ãããããšãå¿é ããŠããŸããã§ããã
2ãæãçµéããŸããããåµã®æ®µéã¯ç¶ããŸããããããžã§ã¯ãã®çµããè¿ãã«ãªã£ãŠåããŠãç§ãã¡ãèŠåŽããäºãã«é¢é£ããŠãããšèªèããªãã£ããã¹ãŠã®åé¡ã¯ãå ±éã®æ ¹æ¬çãªåé¡ã®çµæã§ããããšãããããŸãã-ãŸã£ããç°ãªã人ã ã®2ã€ã®ã°ã«ãŒããããŒã ã«éãŸã£ãïŒ
- é·å¹Žã®çµéšãæã€çµéšè±å¯ãªããã°ã©ããŒã§ããã圌ãã¯ä»äºã§ç¬èªã®ã¢ãããŒããç¿æ £ã䟡å€èŠ³ãéçºããŠããŸããã
- ç¬èªã®çµéšãæã€ã€ã³ãã©ã¹ãã©ã¯ãã£ã®äžçã®å¥ã®ã°ã«ãŒãã圌ãã¯ç°ãªãéèµ·ãç°ãªãç¿æ £ãæã£ãŠããŸãããããŠåœŒãã¯ãŸãã圌ããé©åã«çããæ¹æ³ãç¥ã£ãŠãããšæããŸãã
1ã€ã®ããŒã ã§ã®ç掻ã«é¢ãã2ã€ã®èŠæ¹ã®è¡çªããããŸãããç§ãã¡ã¯ããã«ãããèŠãããšã¯ã§ãããäœæ¥ãéå§ã§ããªãã£ããããå€ãã®æéããšãã«ã®ãŒãç¥çµã倱ã£ãŠããŸããã
ãããããã®è¡çªãåé¿ããããšã¯äžå¯èœã§ãã匷åãªããã°ã©ããŒãšåŒ±ãã€ã³ãã©ã¹ãã©ã¯ãã£ãšã³ãžãã¢ããããžã§ã¯ãã«æåŸ ãããšãç¥èãäžæ¹åã«äº€æãããŸããããã©ãããããããæ©èœããŸãã-ä»ã®äººã飲ã¿èŸŒã人ãããŸãããããŠãç¹å®ã®æ··åç©ãååŸããå¿ èŠãããããããç åããéåžžã«é·ããªãå¯èœæ§ããããšããäºå®ã«åããå¿ èŠããããŸãïŒãã®å Žåã1幎åŸã«ã¯ããŒã ãå®å®ãããããšãã§ããŸããããæãæè¡çã«åŒ·åãªãšã³ãžãã¢ã®1人ã«å¥ããåããŸããïŒã
ãã®ãããªããŒã ã ããç·šæãããå Žåã¯ã匷åãªã¢ãžã£ã€ã«ã³ãŒããã¹ã¯ã©ã ãã¹ã¿ãŒããŸãã¯å¿ççæ³å£«ã«é»è©±ããããšãå¿ããªãã§ãã ãããå€å圌ãã¯å©ããã§ãããã
ãªã³ããŒãã£ã³ã°çµæ
ãªã³ããŒãã£ã³ã°ãããžã§ã¯ãïŒ2019幎10æã«çµäºïŒã®çµæã«åºã¥ããŠã次ã®ããšãè¡ããŸããã
- ç¬èªã®CIãã€ãã©ã€ã³ãåããDEVã€ã³ãã©ã¹ãã©ã¯ãã£ã管çããé«å質ã®ãœãããŠã§ã¢è£œåã®ãã¹ãããã®ä»ã®å±æ§ãåãããæ¬æ ŒçãªãœãããŠã§ã¢è£œåãäœæããŸããã
- å€åã®æºåãã§ããŠãã人ã®æ°ãåå¢ãããçŸåšã®ããŒã ã®è² æ ãåãé€ããŸããã6ãæåŸããããã®äººã ã¯æ¬æ ŒçãªSREã«ãªããŸãããããã§ãåžå Žã«ç«ãã€ããããNTFã®ããã°ã©ããŒããŒã ã«çžè«ããããéçºè åãã«ç¬èªã®ã©ã€ãã©ãªãäœæãããã§ããŸãã
- SRE. , , .
- : , , , .
: ,
éçºè ããã®ããã€ãã®æŽå¯ãç§ãã¡ã®çæãèžãŸãªãã§ãã ãããããªãèªèº«ãšä»ã®ç¥çµãšæéãç¯çŽããŠãã ããã
ã€ã³ãã©ã¹ãã©ã¯ãã£ãŒã¯éå»ã®ãã®ã§ããæ°å ¥çïŒ15幎åïŒã§JavaScriptã®åŠç¿ãå§ãããšãããããã°çšã«NotePad ++ãšFirebugãçšæããŠããŸãããããã§ãããããã®ããŒã«ã䜿çšããŠè€éã§çŸããããšãè¡ãå¿ èŠããããŸããã
ã€ã³ãã©ã¹ãã©ã¯ãã£ãæäœãããšããšåãããã«æããŸããçŸåšã®ããŒã«ã®ã¿ãäœæãããŠããããããã®å€ãã¯ãŸã ãªãªãŒã¹ãããŠããããããŒãžã§ã³0.12ïŒhiãTerraformïŒã§ãããå€ãã®ããŒã«ã¯ä»¥åã®ããŒãžã§ã³ãšã®äžäœäºææ§ãå®æçã«å£ããŠããŸãã
ç§ã«ãšã£ãŠããšã³ã¿ãŒãã©ã€ãºéçºè ãšããŠããã®ãããªãã®ãæ¬çªç°å¢ã§äœ¿çšããã®ã¯ã°ãããŠããŸããããããä»ã«ã¯ãããŸããã
ããã¥ã¡ã³ãããèªã¿ãã ãããããã°ã©ããŒãšããŠãç§ãããã¯ã«è¡ãããšã¯ãã£ãã«ãããŸãããç§ã¯èªåã®ããŒã«ãååã«ç解ããŠããŸãããç§ã®å¥œããªããã°ã©ãã³ã°èšèªãç§ã®å¥œããªãã¬ãŒã ã¯ãŒã¯ãšããŒã¿ããŒã¹ã§ããã©ã€ãã©ãªãªã©ã®ãã¹ãŠã®è¿œå ããŒã«ã¯éåžžåãèšèªã§èšè¿°ãããŠããããããã€ã§ããœãŒã¹ã³ãŒãã確èªã§ããŸãã IDEã¯åžžã«ãå¿ èŠãªãã©ã¡ãŒã¿ãšå Žæãéç¥ããŸããç§ãééã£ãŠããŠããç°¡åãªãã¹ããå®è¡ããããšã§ããã«ããããŸãã
ããã¯ã€ã³ãã©ã¹ãã©ã¯ãã£ã§ã¯æ©èœããŸãããç¥ã£ãŠããå¿ èŠã®ããããŸããŸãªãã¯ãããžãå€æ°ãããŸãããããããã¹ãŠãæ·±ãç¥ãããšã¯äžå¯èœã§ãããå€ãã¯æªç¥ã®èšèªã§æžãããŠããŸãããããã£ãŠãããã¥ã¡ã³ãã泚ææ·±ãèªãã§ïŒãããŠæžããŠïŒãã ããã圌ãã¯ãã®ç¿æ £ããªããšããã«é·ãäœãã§ããŸããã
ã€ã³ãã©ã¹ãã©ã¯ãã£ã³ãŒãå ã®ã³ã¡ã³ãã¯é¿ããããŸãããéçºã®äžçã§ã¯ãã³ã¡ã³ãã¯æªãã³ãŒãã®å åã§ãã圌ãã¯ããã«æ代é ãã«ãªããåãã€ãå§ããŸããããã¯ãéçºè ãä»ã®æ¹æ³ã§èªåã®èããè¡šçŸã§ããªãã£ãããšã瀺ããŠããŸããã€ã³ãã©ã¹ãã©ã¯ãã£ã§äœæ¥ããå Žåãã³ã¡ã³ããæªãã³ãŒãã®å åã§ãããã³ã¡ã³ããªãã§ã¯å®è¡ã§ããŸããããäºãã«ãããé¢é£ããŠããŠããäºãã«ã€ããŠäœãç¥ããªãæ£ãã°ã£ã楜åšã«ã¯ãã³ã¡ã³ããäžå¯æ¬ ã§ãã
å€ãã®å Žåãã³ãŒãã®äžã§ã¯ãéåžžã®æ§æãšDSLã¯é ãããŠããŸãããã®å Žåããã¹ãŠã®ããžãã¯ã¯ãã¢ã¯ã»ã¹ãããŠããªããããæ·±ãå Žæã§çºçããŸããããã«ãããã³ãŒããžã®ã¢ãããŒãããã¹ããã³ãŒãã®äœ¿çšæ¹æ³ã倧ããå€ãããŸãã
éçºè ãã€ã³ãã©ã¹ãã©ã¯ãã£ã«å ¥ãã®ãæããªãã§ãã ããã圌ãã¯ããœãããŠã§ã¢éçºã®äžçããæçšãªïŒãããŠæ°é®®ãªïŒãã©ã¯ãã£ã¹ãšã¢ãããŒããããããããšãã§ããŸããSREã«ã€ããŠã®æ¬ã«èšèŒãããŠããGoogleã®ãã©ã¯ãã£ã¹ãšã¢ãããŒãã䜿çšããŠãå©çãäžããŠå¹žãã«ãªããŸãã
PS: , , , .
PPS: DevOpsConf 2019 . , , : , , DevOps-, .
PPPS: , DevOps-, DevOps Live 2020. : , - . , DevOps-. â « » .
, DevOps Live , , CTO, .