ãã®è¨äºã§ã¯ãèªåãæ°å¹´Site Reliability Engineering (SRE)ãå®è·µãã¤ã¤ãSREã«ã¤ãã¦èãã¦ãããã¨ãã¾ã¨ããã å æéå¬ãããMackerel Drink Up #8 Tokyoã¨å æ¥éå¬ããã次ä¸ä»£Webã«ã³ãã¡ã¬ã³ã¹ 2019ã§ã¯ãSREã«ã¤ãã¦éä¸çã«è°è«ããæ©ä¼ã«æµã¾ãããããè³å ã¡ã¢ãªã«ãã£ãã·ã¥ããã¦ãããã¡ã«ãSREã«é¢ããç§çãªè«èãã¾ã¨ãã¦ããã
(以éã§ã¯ãSREæ¬ã®åèã«ãªãããæè¡é ååãæãã¨ãã¯SREãè·ç¨®åãæãã¨ãã«SREsã¨è¡¨è¨ããã)
SREã¨ã®é¢ãã
ãªãSREã«é¢å¿ããã£ãã®ã
2015å¹´ã«ã¡ã«ã«ãªãããSREãã¼ã ãçºè¶³ããã¨ãã«ãSREsã®åå¨ãç¥ããSREsã¯ã·ã¹ãã 管çè ãWebãªãã¬ã¼ã·ã§ã³ã¨ã³ã¸ãã¢ãã¤ã³ãã©ã¨ã³ã¸ãã¢ã¨ãã£ãæ¢åã®è·ç¨®ãç½®ãæãã¦ãããã®ã ã¨ç解ããã å½æãèªåã注ç®ããã®ã¯ãSREsã®ä»äºé åã«ã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ãªã³ã°ãå«ã¾ãããã¨ã¨ãæ¥åæéã«å¯¾ãã¦ã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ãªã³ã°ãå ããå²åã ã£ãã 2014å¹´åå¾ã§ã¯ãSREsã®åå¨ãç¥ãããåãããInfrastructure As Codeãªã©ã®æ¦å¿µã®ç»å ´ã«ãããããããã®ã¤ã³ãã©ã¨ã³ã¸ãã¢ã¯åã«ãªãã¬ã¼ã·ã§ã³ããã人ã§ã¯ãªããã³ã¼ããæ¸ãã¦ããã®ã ã¨ããèªèãåºã¾ã£ã¦ããã¨æãã
ããããé ã®ä¸ã§ã¯ã³ã¼ããæ¸ããã¨ãèªèãã¦ãã¦ããå®éã«ã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ãªã³ã°ãããã¦ããçæ³ã®ç¶æ ã¨ç¾ç¶ã§ã¯ã®ã£ããããã£ãã ããã§ãçæ³ã®ç¶æ ãä½ç¾ãã¦ããã§ãããGoogleãFacebookãªã©ã®ä¼æ¥ãå ·ä½çãªã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ãªã³ã°æéã®å²åã«ã¾ã§è¨åãã¦ãããã¨ãèªåã®å°è±¡ã«æ®ã£ã¦ããã
ã¾ããSREã調ã¹ã¦ãããã¡ã«ãã·ã¹ãã ã®ä¿¡é ¼æ§ã100%ã«ã¯ã§ããªãã¨ããåæã«åºã¥ããã¨ã©ã¼ãã¸ã§ããã¨ããèªåã«ã¨ã£ã¦ã¯æ°ããèãæ¹ãçºè¦ããã ããã«ãããæåã¯ï¼SREã¨ã¯ããã¾ã§å®æ§çã§ãã£ãã·ã¹ãã éç¨ã«é¢ããææ決å®ææããå®éåããããã®æ¹æ³è«ã§ããã¨ããå°è±¡ããã£ããã¨ãè¦ãã¦ããã
SREæ¬
ãã°ãããã¦ã2016å¹´ã«ã¯Googleã®SREsãSREæ¬ã®åçãåºçããã Webä¸ã®è¨èª¬ã ãã§ã¯SREãããç解ã§ãã¦ããªãã¨æãã¦ãããããå½æèªåããã£ã¦ããã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ãªã³ã°ã«éä¸ããã«ã¯ã©ããããã¨ããåé¡æèã解決ããããã«ã主è¦ãªç« ã社å ã§è¼ªèªããã
輪èªã«ãããä¿¡é ¼æ§ã®å ·ä½çå®ç¾©ã¨ææ¨ã§ããSLI/SLOãSREsã®æ¥ã ã®ã¿ã¹ã¯åé¡(Software EngineeringãSystem EngineeringãToilãOverhead)ã¨ãã£ãæ¹æ³è«ãå¦ãã ã ãã®çµæãGoogleã®ãããªå é²çä¼æ¥ã§ãã£ã¦ããå®å¸¸çãªä½æ¥(Toil)ãã¼ãã«ã¯ã§ããªãããToilãOverheadãè¨ãä¸ãããªãããã«ã¨ã³ã¸ãã¢ãªã³ã°ã«è²»ããæéã管çããçµç¹çãªæ¹æ³è«ã¾ã§è°è«ãã¦ãããã¨ã«è¦ªè¿æãè¦ããã社å ã§SREæ¬è¼ªèªä¼ãå§ãã¾ãã / âGitHub - sysbooks/site-reliability-engineering: Readling book 'Site Reliability Engineerâ¦â https://t.co/jGONejqMNM #sre
— yuuk1 (@yuuk1t) 2016å¹´7æ19æ¥
ããã«ãã®ç¿å¹´ã®2017å¹´ã«æ¥æ¬èªã®ç¿»è¨³æ¸ãåºçãããã åæ¸ãèªãã ã¨ãã¯ãçããæ¢ããããªæ°æã¡ã§æ¹æ³è«ãããã«èªåã®ç°å¢ã«é©ç¨ã§ãããã¨ãã£ãè¦ç¹ã§ããèªãã§ããªãã£ãã ããããæ¯èªã§èªãããããããè¦éãã¦ããSREsã®å 人éã®æãã®ãããªãã®ãæãåããã ç¹ã«åºæãã¯ããã«ã1ç« ã§ã¯ããªãSREã®ãããªæ¦å¿µãæ§ç¯ããã«è³ã£ãã®ããç¥ããã¨ãã§ããã
èªåãèããSRE
èªåãªãã®åé¡æèã¨ããã解決ããããã®SREã®æ¦å¿µã®å¦ç¿ã¨ãã®å®è·µãéãã¦ãèªåãèããSREã¨ãããã®ãå¾ã ã«ã§ãããã£ã¦ããã 以éã§ã¯ãèªåãèããSREã¨ã¯ãªã«ããæ¸ãã¦ããã
SREã¨ã¯ãªã«ã
SREæ¬ã®ãã¯ããã«ãã«ã¯ã次ã®ããã«æ¸ããã¦ããã
ããã§ã¯ããµã¤ããªã©ã¤ã¢ããªãã£ã¨ã³ã¸ãã¢ãªã³ã°(SRE)ã¨ã¯ãã£ããä½ãªã®ã§ããããã ãã®ååãããã®å 容ãã¯ã£ããã¨ã¯è¡¨ç¾ã§ãã¦ããªããã¨ã¯èªãããããã¾ããã
ãã®ãã¨ã«ã説æãç¶ãã¦ããã®ã ããç¾æç¹ã§ã¯ãä¸è¨ã§è¨ãåãã®ã¯é£ããã
ããèªåã誰ãã«SREã¨ã¯ãªã«ãã¨èãããããä»ãªãããµã¤ãä¿¡é ¼æ§ã"å¶å¾¡"ããããã®æè¡ãã¨çããã ããã§ããå¶å¾¡ã¨ã¯ãä¿¡é ¼æ§ãåä¸ããããã¨ãã§ããããç¶æãããã¨ãã§ããããä½ä¸ããããã¨ãã§ãããã¨ãæãã éå»ã«SREã«ã¤ãã¦èª¬æããã¨ãã¯ãåè 2ã¤ã説æãããã¨ãå¤ãã£ãã
ããããèªåã¯ãä¿¡é ¼æ§ãããã¦ä½ä¸ããããã¨ãåæã¨ããæ¹æ³è«ã«çç®ããã ä¸è¬çãªæè¦ã§ããã°ãä¿¡é ¼æ§ãä¸ãããªãã¦ããããªãã¨æããããããªãããSREæ¬ã«ã¯ãä¿¡é ¼æ§100%ã¯åºæ¬çã«éæä¸å¯è½ã§ããã¨ãããã©ã¤ãªååããã¨ã«ã4ç« ã§ã¯SLOã®éå°éæãé¿ããã¨ãããã¨ãç´¹ä»ããã¦ããã å®éããããªã«é«ãä¿¡é ¼æ§ã¯ãããªãããããªããã¨æããã¨ãæ£ç´ãã£ãã ä¿¡é ¼æ§ã¨å¤æ´é度ã¯ãã¬ã¼ããªãã¨ãªããã¨ããããé害ã®ä¸»ãªåå ã¯ãã¥ã¼ãã³ã¨ã©ã¼ã§ãããã¨ãèããã¨ãç®å ã®ä¿¡é ¼æ§ãã¨ããããåä¸ãããããã°ãã·ã¹ãã ã«å¤æ´ãå ããªãã»ãããããã¨ã«ãªãã ããã¾ã§ã®èªåã®çµé¨ã§ã¯ãä¿¡é ¼æ§ãä½ãã¦å°ãã¨ããããã¯ããããæé»çã«ä¿¡é ¼æ§100%ãç®æãã¦ãã¾ããã·ã¹ãã ãå¤æ´ãããã®ã«ä¿¡é ¼æ§ãä½ä¸ãããéå°ãªæãããã£ã¦ä¸å ¨ãæãããã«å¤æ´ãé ããªã£ãããããããå¤æ´ããªãã£ãããããã¨ã«å°ã£ã¦ãããã¨ãå¤ãã£ãã ã·ã¹ãã ã®å¤æ´ã«ã¯ããã®ãã¨ã®å¤æ´ãéããããã®ãå«ã¾ããããã«ãå¤æ´ããªããã¨ã«ããããããªãå¤æ´é度ã®ä½ä¸ãã¾ããã¦ãã¾ããã¨ãããã
ããã¯ãã£ã¦ããã¦ã¼ã¶ã¼ã«æ確ã«ä¸ä¾¿ãæããããã»ã©ãä¿¡é ¼æ§ãä½ä¸ãããããã«ã¯ãããªãã ã·ã¹ãã ã®å¤æ´ã«å¯¾ãã¦ãã©ãã¾ã§å½±é¿ãã§ããããããªãã£ãããåé¡ããã£ã¦ãããã«æ°ã¥ããªãå¯è½æ§ããããªãã§ãå¤æ´ãå ãããã¨ã¯åæã®ãããªãã®ã§ããã ããããå¤æ´å½±é¿ãéããã¦ããããå¤æ´ã«å¯¾ãããã¹ãããã£ãããåé¡ã«ããæ°ã¥ããããåé¡ããã£ã¦ãèªå復æ§ã§ãããããã®å¾ã®æ ¹æ¬å¯¾çãã§ããä½å¶ããã£ãããããã¨ã§ãå®å¿ãã¦å¤æ´ã§ããããã«ãªãã å®å¿ãã¦å¤æ´ã§ããã®ã§ããã°ãå¤æ´é度ã¯ããã£ã¦ããã¯ãã§ããã ãã®ããã«ãå¾è¿°ããä¿¡é ¼æ§ã®é層ã«ããä¿¡é ¼æ§ãå¶å¾¡ããããã®æ§é ãæ§ç¯ãã¦ãããã¨ã§ãä¿¡é ¼æ§ã"å¶å¾¡"ã§ãã¦ããç¶æ ã§ãå¤æ´é度ãé«ãã¦ãããã 100%ã®ä¿¡é ¼æ§ãæ§ç¯ãããã¨ã¯é£ããããã¨ã©ã¼ã許容ããåæãããã°ããã¨ã¯ç¨åº¦ã®åé¡ã¨ãããã¨ã«ãªãã
ãªãã¢ãã¿ãªã³ã°ãããã®ãã®ã¨ãããæ·±ãã¦ããã¨ãç£è¦ããã¦ãããã¨ã§å®å¿ãã¦å¤æ´ã§ããããã«ãªããããå¤æ´é度ãåä¸ããã£ã¦ããå®ãããæ»ãã«è»¢ããããã¨ãããã¢ãã¿ãªã³ã°ã®ãããããã¨ããã§ããã / âPHPerã®ããã®Wâ¦â https://t.co/uHRpyHPYPO
— yuuk1 (@yuuk1t) 2018å¹´3æ10æ¥
ä¿¡é ¼æ§ã¨SLI/SLO
ä¿¡é ¼æ§ã«ã¯ããããã®å®ç¾©ã®ããããããã SREæ¬ã¯ãæ¸ç±"Practical Reliability Engineering"ã®å®ç¾©ã§ãããã·ã¹ãã ãæ±ããããæ©è½ããå®ããããæ¡ä»¶ã®ä¸ã§ãå®ããããæéã«ããããé害ãèµ·ãããã¨ãªãå®è¡ãã確çããæ¡ç¨ãã¦ããã
SLIã¨SLOãé©åã«è¨å®ãããã¨ã¯ãSREãå®è·µããä¸ã§æãéè¦ã§ããã ããããSLIã妥å½ãã©ããã確ããããã¨ã¨SLOãè¨æ¸¬ãããã¨ãé£ãããã¨ãããã ä¾ãã°ãSREæ¬ã§ã¯ãSLIã®ä¾ã¨ãã¦ãµã¼ãã¹ã®ã¬ã¤ãã³ã·ãæãããã¦ããã ã¬ã¤ãã³ã·ã¨ä¸å£ã«ãã£ã¦ããªã¯ã¨ã¹ãæ°ã¯è¨å¤§ãªã®ã§ãçµ±è¨çãªå¤ãç¨ããå¿ è¦ããããå¹³åå¤ãªã®ããä¸å¤®å¤ãªã®ãã95ãã¼ã»ã³ã¿ã¤ã«ãªã®ãã99ãã¼ã»ã³ã¿ã¤ã«ãªã®ãã¨ãã£ãé¸æè¢ãããã ããã«ããªã¯ã¨ã¹ãã®ä¸ã«ã¯ãã¼ããã©ã³ãµããã®ãã«ã¹ãã§ãã¯ããã¦ã§ãã¯ãã¼ã©ã¼ããã®ãªã¯ã¨ã¹ããªã©ã種é¡ã®ç°ãªããªã¯ã¨ã¹ããããã å ãã¦ãã¨ã³ããã¤ã³ãã«ãã£ã¦ã¬ã¤ãã³ã·ã®å·®ã大ããå ´åã«ãã¨ã³ããã¤ã³ããã¨ã«ã¬ã¤ãã³ã·ãè¨æ¸¬ããããã¾ã¨ãã¦ãã¾ãã®ãã¨ãã£ãé¸æè¢ãããã
SLI/SLOããªãã¨SREã¯å§ã¾ããªãã®ã§ãã¿ã¼ã²ããã¨ãªãã·ã¹ãã åä½ã§ãæéãã¼ã¹ã®å¯ç¨æ§ç®æ¨ãMTTR(Mean Time To Recovery)ãé害çºçåæ°ãªã©è¨æ¸¬ãæ¯è¼çç°¡åãªãã®ããè¨æ¸¬ãã¯ãããã¨ããã¨æã£ã¦ããã ãããããååæãã¨ãªã©å®æçã«SLI/SLOãé©åãããããã¯ããªã¼ãã¼ã¨SREsãè¦ç´ãã¦ããã°ããã SLI/SLOã®è¨è¨ã®å ·ä½çãªä¾ãªã©ã¯ãæ¸ç±The Site Reliability Workbook*1ã詳ããã
ä¿¡é ¼æ§ã®é層
(Betsy Beyer et. al.ç·¨, "SRE ãµã¤ããªã©ã¤ã¢ããªãã£ã¨ã³ã¸ãã¢ãªã³ã°", ãªã©ã¤ãªã¼ã¸ã£ãã³, p108å³III -1ãµã¼ãã¹ã®ä¿¡é ¼æ§ã®é層)
ä¿¡é ¼æ§ãè¨ç»çã«æ§ç¯ããã«ã¯ãä¸è¨ã®ãããªä¿¡é ¼æ§é層ãæ§ç¯ããå¿ è¦ãããã ã¾ããä¿¡é ¼æ§æ§ç¯ã®ããã®åºç¤ã¨ãªãã®ããä¿¡é ¼æ§ã測å®ããææ³ã¨ãã¦ã®ã¢ãã¿ãªã³ã°ã ã ããããªããã°ããµã¼ãã¹ãReliableãªç¶æ ã«ããã®ããããããããããªãããç£è¦é ç®ã«ãããããã°ãã¦ã¼ã¶ã¼ã«å½±é¿ãããã®ã«ããã«æ°ã¥ãã¦ããªããã¨ã«ãªãã ä¿¡é ¼æ§ãé«ããããããã¯å®å¿ãã¦å¤æ´ãã¦ããããã¨ããåé¡æèãããå ´åãã¾ãã¯ãã¢ãã¿ãªã³ã°ããè¦ç´ãããã®é層ã®ä¸ããä¸ã§ç»ã£ã¦ããã¨ããã¨æã
ä¿¡é ¼æ§ã¨å¤æ´é度ã®ä¸¡ç«
å ã«ãä¿¡é ¼æ§ã¨å¤æ´é度ã¯ãã¬ã¼ããªãã¨ãªãã¨æ¸ããããã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ãªã³ã°ã«ãããããã両ç«ã§ãããã¨ãããã 人éã®åä½æéã¯è¨ç®æ©ã®åä½æéã«æ¯ã¹ã¦é ãããã復æ§æéãçãããã«ã¯ããªãã¬ã¼ã·ã§ã³ãã§ããã ãã½ããã¦ã§ã¢ã«ä»»ããã®ãçãè¯ãã ä»®ã«SLIã¨ãã¦MTTRãè¨å®ããã¦ããã¨ããã¨ãã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ãªã³ã°ã«ããä¿¡é ¼æ§ãåä¸ãã¦ããã¨è¨ããã ãªãã¬ã¼ã·ã§ã³ãèªååããã¦ããã¨ãæ®æ®µã®å¤æ´ãé«éåããçµæã¨ãã¦ä¿¡é ¼æ§ã¨å¤æ´é度ã®ããããã®åä¸ã両ç«ã§ããã¨è¨ããã
SREãã¨ã³ã¸ãã¢ãªã³ã°ã®ãªãã§ãã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ãªã³ã°ãéè¦ãã¦ããã®ã¯ããã¬ã¼ããªãã®è§£æ±ºã®ããã§ããã¨èãã¦ããã
å¤æ´é度ã®è¨æ¸¬
ä¿¡é ¼æ§ãååé«ãç¶æ ã§ããã°ã次ã¯å¤æ´é度ãè¨æ¸¬ããå¿ è¦ãã§ã¦ããã å¤æ´é度ãè¨æ¸¬ã§ãã¦ããªãã¨ãä¿¡é ¼æ§ãé«ãã§ãã¦ããããã®ããã«å´åãããããã¦ããã±ã¼ã¹ã«æ°ã¥ããªãå¯è½æ§ãããã
ããã§ãSREæ¬ã«æ¸ããã¦ããããã«ãSREããã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ã®ãã¼ã ãå¾æ¥ã®ã·ã¹ãã 管çãåæ§æãããã®ã¨ã¨ããã¨ããã¨ãã¨ã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ããã£ã¦ãããããã¯ãéçºã®ã¢ããã¼ãã«çç®ããã DevOpsã®æèã«ããã¦ãããããã¯ãéçº(Dev)ã®ã¢ããã¼ãã§ããç¶ç¶çã¤ã³ãã°ã¬ã¼ã·ã§ã³ãªã©ãOpsã«ã¦æ¡ç¨ããã¦ãã£ãçµç·¯ãããã
å¤æ´é度ãè¨æ¸¬ããããã«ãã¢ã¸ã£ã¤ã«éçºã®ææ³ãã¨ãããããã¨ãããã å ·ä½çã«ã¯ããããã¯ãéçºã¨åæ§ã«ããã¸ã§ã³ãè¨å®ããæ©è½éçºã®ããã®ãã¼ãããããè¨å®ããã¹ããªã³ããã¨ã«ããã¯ãã°ãç©ã¿ããã©ã³ãã³ã°ãã¼ã«ã¼ã«ããããã¯ãã°ã«è¦ç©ãããã¤ã³ããè¨å®ããããã·ãã£ãè¨æ¸¬ããã¨ãã£ããã®ã ã(åã¯ãæ¸ç±ã¢ã¸ã£ã¤ã«ãªè¦ç©ãã¨è¨ç»ã¥ãã ï½ä¾¡å¤ããã½ããã¦ã§ã¢ãè²ã¦ãæ¦å¿µã¨ææ³ï½ ã ããèªãã§ã¢ã¸ã£ã¤ã«éçºãåå¼·ããã) ç´æ¥ã®çµç·¯ã¨ãã¦ã¯ãSREæ¬ã«ã¯Toilã®å²åã¯50%以ä¸ã«æããã¨ãããã©ã¯ãã£ã¯ã¹ããããToilã®å²åãã©ã®ç¨åº¦ãã確èªããå¿ è¦ããã£ãã ããããToilã¯çæéã§ãããå²ãè¾¼ã¿ã§ãããæ°ãå¤ããã¾ãã¯Toilã¨Engineeringã®åºå¥ã¯å®ã¯é£ããã¨ãã£ãããã«è¨æ¸¬ãé£ãããªããããªæ§è³ªããã¤ã ãããã£ã¦ãç´æ¥Toilãè¨æ¸¬ããã®ã§ã¯ãªããããã·ãã£ãè¨æ¸¬ãããã¨ã«ããã ããã·ãã£ãä½ä¸ããã¹ããªã³ãã«ã¯ãã©ããªè¦å ããã£ããã確èªãããã®è¦å ãåãé¤ããããªã¿ã¹ã¯ãããã¯ãã°ã«ç©ãã ãããã¦ããã è¦ã¯ãããããã¨ãã§ãã¦ããã°ããã®ã§ãããããç´æ¥çã«è¨æ¸¬ãããã¨ãããã¨ã§ããã
ãããã¯æ¨ªä¸²ã®ãã©ãããã©ã¼ã ãã¼ã ã¨ãã¦ã®åãçµã¿ã ã£ããããµã¼ãã¹éçºãã¼ã ã«ããã¦ãåæ§ã ã¨æãã ãµã¼ãã¹éçºãã¼ã ã«ããã¦ã¯ããã§ã«ãããã¯ããªã¼ãã¼ãåå¨ãããªã¼ãã¼ããã¼ããããã決å®ãã¦ãããã¨ãããã ãã®ã¨ãã¯ãSREã¨ãã¦ã®ãã¼ãããããããããã¯ãã®ãã¼ããããã«çµã¿è¾¼ãã¨ããèãæ¹ã«ãªãã
ä¿¡é ¼æ§ã¨è²»ç¨
å¤æ´é度以å¤ã«ããä¿¡é ¼æ§(ã¬ã¹ãã³ã¹ã¿ã¤ã )ã¨è²»ç¨ã®ãã¬ã¼ããªããããã ä¾ãã°ãã¤ã³ã¹ã¿ã³ã¹ãµã¤ãºã大ããã«ããããã¤ã³ã¹ã¿ã³ã¹ã®åæ°ã大ããã«ãããããã¨ãçªçºçãªè² è·ã«èãããããªããä¿¡é ¼æ§ã¯åä¸ããã ãããããã£ãã·ãã£ãä½åã«ãã¤ãã¨ã§è²»ç¨ã¯é«ããªã£ã¦ãã¾ãã¨ãããã¨ãããã
ã¯ãã¯ãããããã®äºä¾ã§ã¯ãå®é¨ãããä¸ã§ãã¦ã¼ã¶ã¼å½±é¿ãå®éåãããããã¯ããªã¼ãã¼ã¨ã®åè°ã®æ«ãããã¦GPUããCPUã«ç§»è¡ããã¦ããã 本番/ステージング環境GPUぼくめつ大作戦 - クックパッド開発者ブログ ããã¯ãä¿¡é ¼æ§ãå¶å¾¡ããä¸ã§ãè²»ç¨ãåæ¸ããã¨ããSREã®åãçµã¿ã®ä¾ã¨ãããã
æè¸ããå·¥å¦ã¸
æ¸ç±ãã¦ã§ããªãã¬ã¼ã·ã§ã³ãã§ã¯ãã¾ãããã«ã¦èè ã次ã®ããã«è¿°ã¹ã¦ããã
ã¦ã§ããªãã¬ã¼ã·ã§ã³ã¯æè¸ã§ãããç§å¦ã§ã¯ãªãã æ£è¦ã®å¦æ ¡æè²ã»è³æ ¼ã»æ¨æºã¯(å°ãªãã¨ãä»ã¯ã¾ã )ãªãã æã ã®ãã£ã¦ãããã¨ã¯ãå¦ç¿ã«ãç¿å¾ã«ãæéããããããã®å¾ãèªåèªèº«ã®ã¹ã¿ã¤ã«ã模索ããªããã°ãªããªã代ç©ã§ããã ãæ£ããæ¹æ³ãã¯ã©ãã«ãåå¨ããªãã ããã«ããã®ã¯ã(ã¨ããããä»ã¯)ãã¾ãããã¨ããäºå®ã¨ã次ã¯ãã£ã¨è¯ãããã¨ããè¦æã ãã ã
ä¸æ¹ã§ãSREæ¬ã§ã¯ãåºæã«ã¦èè ã®ä¸äººã§ããMark Burgess*2ã¯æ¬¡ã®ããã«è¿°ã¹ã¦ããã
Principles of Network and System Administration[Bur99]ã®å°å ¥é¨ã§ãã·ã¹ãã 管çã¯ãã¥ã¼ãã³ã³ã³ãã¥ã¼ã¿ã¨ã³ã¸ãã¢ãªã³ã°ã®å½¢ã®ä¸ã¤ã ã¨ç§ã¯ä¸»å¼µãã¾ããã ã¬ãã¥ã¼ã¢ã®ä¸ã«ã¯ãã¾ã ããã¯ã¨ã³ã¸ãã¢ãªã³ã°ã¨å¼ã¹ãã»ã©ã®æ®µéã«ã¯æ¥ã¦ããªããã¨å¼·ãå¦å®ãã人ããã¾ããã ãã®æç¹ã§ã¯ãç§ã¯ãã®åéã¯è¦å¤±ããã¦ãç¬èªã®éè¡å¸«çãªæåã«ã¨ããããé²ãã¹ãæ¹åãè¦ããªããªã£ã¦ããã¨æãã¦ãã¾ããã ããã Google ã¯æ確ã«ç·ãå¼ããæ¥ããã¹ãã·ã¹ãã 管çã®å§¿ãç¾å®ã®åå¨ã«ããã®ã§ãã ããã¦è¦ç´ãããå½¹å²ãSREãããªãã¡Site Reliability Engineerã¨å¼ã°ãããã®ã§ããã
"ã¨ã³ã¸ãã¢ãªã³ã°ã¨å¼ã¹ãã»ã©ã®æ®µéã«ã¯æ¥ã¦ããªã"ã"ç¬èªã®éè¡çãªæå"ã¨ããè¨èãæãã®ã¯ãåè¿°ã§ããã¨ããã®æè¸ã«ãããã¨è§£éãã¦ããã èªèº«ã®çµé¨ã«ããã¦ããå¤ããã¼ã¸ã§ã³ã®MySQLã¯ã©ã¹ã¿ã®åãæ¿ãä½æ¥ãæ²è¸ã®ãããªãªãã¬ã¼ã·ã§ã³ã§ä¹ãåããã¨ããã£ãã*3
SREã®ç»å ´ã«ãããæè¸(Art)ããå·¥å¦(Engineering)ã¸ã¨ç§»ãå¤ããå ããã¿ãã¦ããããã«æãã
æåã¯ãå·¥å¦ã§ã¯ãªãç§å¦ã¨æ¸ãã¦ããããç§å¦ã¯æç®ã«ãã£ã¦ã¯çå¦ã®ã¿ãæããã¨ããããããªã®ã§ãå·¥å¦ã¨ããã SREã®Eã¯Engineeringãªã®ã§ãå·¥å¦ãªã®ã¯å½ããåãªã®ã ããããã¾ã§ã¯ã¨ã³ã¸ãã¢ãªã³ã°ã¨ããã¤ã¤ããæè¸ããã¯ããã¯ã®ã¿ã«ãªããã¡ã§ãã£ãããã«æãã ã¨ã¯ãã£ã¦ããæè¸ãä¸è¦ã¨ãããã¨ã§ã¯ãªããããããã¯ãå·¥å¦ã¨æè¸ã®ä¸¡è¼ªã§åãã¦ãããã¨ã«ãªãã¨èãã¦ããã
- 工学と理学の違い
- http://www.el.gunma-u.ac.jp/~kobaweb/lablife/kougaku3.pdf
- 工学と技術 | Adachi Lab.
- 工学 2014.02.16-02.22 | 原島 博 ホームページ
ã¾ã¨ãã¨ä»å¾
ãã®è¨äºã§ã¯ãèªåãSREã«é¢å¿ããã£ãçµç·¯ã¨è§£éã®å¤é·ãèªåãªãã®SREã®ããæ¹ãã¾ã¨ããã ãã®ããã«ãä¿¡é ¼æ§ã軸ã«æ®ãããã¨ã«ãããæã ã®ãã£ã¦ãããã¨ããããã¨ãã¦ãããã¨ãããã¶ãä½ç³»ã ã¦ã¦èª¬æã§ããããã«ãªã£ãã¨æãã¦ããã ã¦ã§ããªãã¬ã¼ã·ã§ã³ã§ã¯ããããã¯ã¼ã¯ã»ã«ã¼ãã£ã³ã°ã»ã¹ã¤ããã³ã°ã»ãã¡ã¤ã¢ã¦ã©ã¼ã«ã»è² è·åæ£ã»é«å¯ç¨æ§ã»é害復æ§ã» TCPãUDPã®ãµã¼ãã¹ã»NOCã®ç®¡çã»ãã¼ãã¦ã§ã¢ä»æ§ã»è¤æ°ã®Unixç°å¢ã»è¤æ°ã®ã¦ã§ããµã¼ãæè¡ã»ãã£ãã·ã¥æè¡ã»ãã¼ã¿ãã¼ã¹æè¡ã»ã¹ãã¬ã¼ã¸ã¤ã³ãã©ã»æå·æè¡ã»ã¢ã«ã´ãªãºã ã»å¾ååæã»ãã£ãã·ãã£è¨ç»ç«æ¡ãªã©ã®æè¡ãçµã¿åããã¦ãã·ã¹ãã ãéç¨ããã ããããæã ã¯ãã¼ã¿ãã¼ã¹ã®éçºè ã§ã¯ãªãããBGPãªãã¬ã¼ã¿ã¼ã§ããªãããOSéçºè ã§ããªããããã¼ãã¦ã§ã¢æè¡è ã§ããªãã ã§ã¯ä½ããã人ãªã®ãã¨ããã¨ãä»ã§ã¯SREã®å°é家ã¨ããã°ããã*4
ä»å¾ã¯ã2019å¹´ã®å±æã§ãç´¹ä»ãããæ 人ã®è·¡ãæ±ãã æ 人ã®æ±ãããã¨ãããæ±ãããã¨ããè¨èã§ããã¨ãåã«æ¹æ³è«ãé©ç¨ããã ãã«çãããSREsã®å 人ã®æ±ãããã¨ãããæ±ãã¦ããããã çµç¹ã¨ãã¦ã¯ãå·¥å¦ã¨ãã¦ã®ã¢ããã¼ããã¨ãããã¦ãããã¨ã«ãªãã ãããã巨大ã¯ã©ã¦ãäºæ¥è ã®ãµã¼ãã¹ã®çºå±ã«ããå ¨å¡ãSREããã£ã¦ãããã¨ã«ãªãã¨æãã ãããªä¸ã§ãä»SREsã§ãã人ãã¡ã¯ãè¦ç´ æè¡ãã¯ã©ã¦ãäºæ¥è ã«åã£ã¦ä»£ãã£ã¦ãããè¯ããæªããä»äºãæ¸ã£ã¦ããä¸ã§ãSREãã©ããã£ã¦æ¥½ããã§ãããã¨ããã¨ãããéè¦ã«ãªã£ã¦ããã ããã ã¦ã§ãã®ä¸çã§ã®æè¡ã®é²åã®æ¹åæ§ã¨ãã¦ã¯ãウェブシステムの運用自律化に向けた構想 - 第3回ウェブサイエンス研究会 - ゆううきブログã«ç§è¦ãã¾ã¨ãã¦ããã ä»ã«ã¯ãã·ã¹ãã ã®ãã¹ã¦ãæ©æ¢°ã«ããèªå¾å¶å¾¡ããããã¸ã§ã³ã«å¯¾ããã¢ã³ããã¼ã¼ã¨ãã¦ãããã¡ã½ããã® なめらかなシステムを目指して ãåèã«ãªãã ã¾ããèªåèªèº«ã¨ãã¦ã¯ã分散型データセンターOSとリアクティブ性を持つコンテナ実行基盤技術のこれから - 人間とウェブの未来ã«æ¸ããã¦ãããããªã¦ã§ãã®ä¸ã®é層ã«ã¦ãåæ£åãã¼ã¿ã»ã³ã¿ã¼ã®ãããªæ°ããåºç¤ãåæã«SRE Researcherããã£ã¦ãããã¨ã«ãªãã¨æãã
æå¾ã«ãSREæ¬ã®æ¸è©ãèªã¿æ¹ã¨ãã¦ãèªåã®èãã«è¿ããã®ãã¿ã¤ããã®ã§ä»¥ä¸ã«ãªã³ã¯ãç´¹ä»ãã¦ããã
次ä¸ä»£Webã«ã³ãã¡ã¬ã³ã¹2019ã§ã®ã@kannyã¨@deeeetã¨è°è«ããæ§å㯠é²ç»ã§è¦è´ã§ããã
SREæ¬èªã¿ãªãããåºä¸ã¯ãªã¼ããããã¨ãè¨ã£ã¦å¤§åã³ãã¦ã
— yuuk1 (@yuuk1t) 2016å¹´8æ2æ¥
SREæ¬ã«ãå°æ°ã®è±éçã¡ã³ãã¼ã®ãã¼ã³ã¢ã¦ãã«ãããã¬ã¿ã¬ã¿ã®ã·ã¹ãã ã®å¯ç¨æ§ãå¼·å¶çã«å¼ãä¸ããããã¨ãæ¸ãã¦ã¦ã大åã³
— yuuk1 (@yuuk1t) 2016å¹´8æ4æ¥
SREæ¬å¼ãã§ããããã¯ãªã¨ã¤ãã£ããªsshããæè¡çè² åµã®ã³ã¬ã¹ããã¼ã«ãã¨ãã§ã¦ãã¦å¤§åã³
— yuuk1 (@yuuk1t) 2016å¹´8æ17æ¥
åé ã«ã¯ããããªçµç¹ã«é©ç¨ã§ãã¾ãã¨ãããã©ãè¶ å¤§è¦æ¨¡ã·ã¹ãã ã ããããã®åæãæ·ããã¦ãããã¨ãããããªã®ã§ãé¨åçãªè¦ç´ ãçä¼¼ãã¦ããã§SREã§ãã£ã¦ã®ããªããéãæ°ããã¦ãã¦ãèªåã®çµç¹ã«ãããã¦ãã¶ã¤ã³ãã¾ãããã¨ããæ°æã¡ã«ãªã£ã¦ããã
— yuuk1 (@yuuk1t) 2017å¹´1æ16æ¥
SRE ãµã¤ããªã©ã¤ã¢ããªãã£ã¨ã³ã¸ãã¢ãªã³ã°èªãã§ã æ¥æ¬èªã§ããããèªãã¦æé«
— yuuk1 (@yuuk1t) 2017å¹´8æ11æ¥
31ç« "SREã«ãããã³ãã¥ãã±ã¼ã·ã§ã³ã¨ã³ã©ãã¬ã¼ã·ã§ã³"ã§ãå¹³å以ä¸ã«æçãªãã¼ãã£ã³ã°ã®ä¾ã¨ãã¦ããããã¯ã·ã§ã³ãã¼ãã£ã³ã°ã¨ãããã®ãæãããã¦ãã¦ããã¯ã¯ã¦ãªã§ãã£ã¦ããPWG(ããã©ã¼ãã³ã¹ã¯ã¼ãã³ã°ã°ã«ã¼ã)ã¨ã ãããåãã§ããã£ã¦ãªã£ã
— yuuk1 (@yuuk1t) 2017å¹´8æ11æ¥
*1:ã¾ã é¨åçã«ããèªãã¦ããªã
*2:PuppetãChefã®å身ã§ããCFEngineã®ä½è
*3:å½æã¯ååã¨MySQL4æ²è¸ã¨å¼ãã§ãã
*4:ããã¾ã§ãã¦ã§ããªãã¬ã¼ã·ã§ã³ã®å°é家ã¨è¨ãã¦ããã®ã§ã¯ããã®ã ãã©ããã¦ã§ããªãã¬ã¼ã·ã§ã³ã®ä¸èº«ã説æãããã¨ããã¨ã¨ããã«é£ãããªã