ç§ãã¡ã®äŒç€Ÿã¯ãSRE ããŒã ã®æ°äººç ä¿®ãé²ããŠãããšããã§ãã ç§ã¯éçºåŽãããã®è©±ã«åå ããŸããã ãã®éçšã§ãä»ã®éçºè ãšå ±æãããèããæŽå¯ãæãã€ããŸããã ãã®æ¯ãè¿ãã®èšäºã§ã¯ãäœãèµ·ãã£ãŠããã®ããã©ã®ããã«èµ·ãã£ãŠããã®ãããããŠã©ã®ããã«ããŠèª°ãããã®ç¶æ³ãšå ±åãç¶ããããšãã§ããã®ãã«ã€ããŠè©±ããŸãã
瀟å ã€ãã³ãã§ã®è¬æŒãããšã«å·çããé£èŒèšäºã®ç¶ãã§ãã
éçºãã©ãŒã©ã :
1. ç®±ã®ãªãã·ã¥ã¬ãŒãã£ã³ã¬ãŒã®ç«: åæ£ã·ã¹ãã ã«ãããã³ã³ã»ã³ãµã¹ã®åé¡ã
2. ã³ãŒããšããŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã ïŒããªãã¯ããã«ããïŒ
3. C# ã¢ãã«ã䜿çšãã Typescript ã³ã³ãã©ã¯ãã®çæã ïŒé²è¡äž...ïŒ
4. Raft ã³ã³ã»ã³ãµã¹ ã¢ã«ãŽãªãºã ã®æŠèŠã ïŒé²è¡äž...ïŒ
...
ç§ãã¡ã¯ã¢ã€ãã¢ãå®è¡ããããã« SRE ããŒã ãèšç«ããããšã«ããŸãã
ããŒã ã«ã¯æ¬¡ã®ãã¬ãŒãã³ã°ã¿ã¹ã¯ããããŸããã
- ç§ãã¡ã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã«ã€ããŠèª¬æããŸããã€ã³ãã©ã¹ãã©ã¯ãã£ã¯äž»ã« Microsoft Azure å ã«ã³ãŒãåœ¢åŒ (Terraform ãšãã®åšå²ã®ãã®) ã§çµã¿èŸŒãŸããŠããŸãã
- éçºè ã«ã€ã³ãã©ã¹ãã©ã¯ãã£ã®æäœæ¹æ³ãæããŸãã
- éçºè ã«ä»»åã®æºåããããŸãã
ã³ãŒããšããŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã®æŠå¿µãå°å ¥ããŸã
éåžžã®äžçã¢ãã« (å€å žçãªç®¡ç) ã§ã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ã«é¢ããç¥èã¯æ¬¡ã® XNUMX ã€ã®å Žæã«ãããŸãã
- ãããã¯å°é家ã®é ã®äžã«ããç¥èã®åœ¢ã§ã
- ãããã¯ããã®æ
å ±ã¯äžéšã®ã¿ã€ãã©ã€ã¿ãŒã«é¢ãããã®ã§ããããã®äžéšã¯å°é家ã«ç¥ãããŠããŸãã ããããéšå€è
ãïŒããŒã å
šäœãçªç¶æ»äº¡ããå Žåã«åããŠïŒäœãæ©èœããã©ã®ããã«æ©èœããããç解ã§ãããã©ããã¯äºå®ã§ã¯ãããŸããã ãã·ã³ã«ã¯ãã¢ã¯ã»ãµãªãcron ãžã§ããè
è¿«ãªã©ãå€ãã®æ
å ±ãååšããå¯èœæ§ããããŸã (ã.
ãã£ã¹ã¯ã®åãä»ã ) ãã£ã¹ã¯ãšãèµ·ããåŸãããšã®ç¡éã®ãªã¹ãã§ãã å®éã«äœãèµ·ãã£ãŠããã®ããç解ããã®ã¯é£ããã§ãã
ã©ã¡ãã®å Žåããç§ãã¡ã¯äŸåãããšããçœ ã«é¥ã£ãŠããããšã«æ°ã¥ããŸãã
- ãããã¯ãæ»ãã¹ãéåœã«ãããç æ°ã«ãªãããããæã«èœã¡ãæ°åãäžå®å®ã«ãªããåçŽã«åçŽã«è§£éããã人ããã
- ãããã¯ãç©ççã«äœåããæ©æ¢°ããã§ãããããèœã¡ãããçãŸãããããŠãé©ããäžäŸ¿ããããããŸãã
èšããŸã§ããªããçæ³çã«ã¯ãã¹ãŠã人éãèªã¿ããããä¿å®ãããããé©åã«èšè¿°ãããã³ãŒãã«å€æããå¿ èŠããããŸãã
ãããã£ãŠãã³ãŒããšããŠã®ã€ã³ãã©ã¹ãã©ã¯ã㣠(Incfa Structure as Code - IaC) ã¯ãã³ãŒãã®åœ¢åŒã§ã®æ¢åã®ã€ã³ãã©ã¹ãã©ã¯ãã£å šäœã®èšè¿°ãšããããæäœããããããå®éã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãå®è£ ããããã®é¢é£ããŒã«ã§ãã
ãªããã¹ãŠãã³ãŒãã«å€æããã®ã§ãããã?人éã¯æ©æ¢°ã§ã¯ãããŸããã 圌ãã¯ãã¹ãŠãæãåºãããšã¯ã§ããŸããã 人éãšæ©æ¢°ã®åå¿ã¯ç°ãªããŸãã èªååããããã®ã¯ãã¹ãŠã人éãè¡ããã®ãããé«éã«ãªãå¯èœæ§ããããŸãã æãéèŠãªããšã¯ãå¯äžã®çå®ã®æ å ±æºã§ãã
æ°ãã SRE ãšã³ãžãã¢ã¯ã©ãããæ¥ãã®ã§ãããã?ããã§ãæ°ãã SRE ãšã³ãžãã¢ãæ¡çšããããšã«ããŸããããã©ããã調éããã°ããã®ã§ãããã? æ£è§£ãäºçŽããŠãã ãã (
ç§ãã¡ã¯ç€Ÿå€ã®äººæåžå Žã§åœŒããé·ãéæ¢ãç¶ããŸããã ããããç§ãã¡ã®èŠæã«åã人ãèŠã€ãããªãã£ãããšãèªããªããã°ãªããŸããã ç§ã¯èªåã®ä»²éã®äžããæ¢ããªããã°ãªããŸããã§ããã
åé¡ ã³ãŒããšããŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£
次ã«ãã€ã³ãã©ã¹ãã©ã¯ãã£ãã³ãŒãã«ããŒãã³ãŒãã£ã³ã°ããæ¹æ³ã®äŸãèŠãŠã¿ãŸãããã ã³ãŒãã¯ããæžãããŠãããã³ã¡ã³ããšã€ã³ãã³ãããããé«å質ã§ãã
Terraforma ã®ã³ãŒãäŸã
Ansible ã®ã³ãŒãäŸã
çãããããããšãŠãç°¡åã ã£ããããã®ã«ïŒ ç§ãã¡ã¯çŸå®ã®äžçã«ããŠããã€ã§ãããªããé©ãããé©ããåé¡ãæ瀺ããæºåãã§ããŠããŸãã ããã§ã圌ããªãã§ã¯ãã£ãŠãããŸããã
1. æåã®åé¡ã¯ãã»ãšãã©ã®å ŽåãIaC ã¯ãã皮㮠DSL ã§ããããšã§ãã
DSL ã¯æ§é ã®èšè¿°ã§ãã ããæ£ç¢ºã«ã¯ãå¿ èŠãªãã®: JsonãYamlãç¬èªã® DSL (HCL 㯠Terraform ã§äœ¿çšããã) ãèæ¡ããããã€ãã®å€§äŒæ¥ããã®ä¿®æ£ã
åé¡ã¯ã次ã®ãããªããç¥ããããã®ãå«ãŸããŠããªãå¯èœæ§ãããããšã§ãã
- å€æ°;
- æ¡ä»¶;
- ããšãã°ãJson ãªã©ãã³ã¡ã³ããååšããªãå Žæã«ã¯ãããã©ã«ãã§ã¯ã³ã¡ã³ãã¯æäŸãããŸããã
- æ©èœ;
- ã¯ã©ã¹ãç¶æ¿ãªã©ã®é«ã¬ãã«ã®ããšã«ã€ããŠè©±ããŠããããã§ããããŸããã
2. ãã®ãããªã³ãŒãã® XNUMX çªç®ã®åé¡ã¯ãã»ãšãã©ã®å Žåããããç°çš®ç°å¢ã§ããããšã§ããã éåžžã座ã£ãŠ C# ãæäœããŸãã XNUMX ã€ã®èšèªãXNUMX ã€ã®ã¹ã¿ãã¯ãXNUMX ã€ã®ãšã³ã·ã¹ãã ã§ã ãããŠããã«ã¯å€çš®å€æ§ãªãã¯ãããžãŒããããŸãã
Python ã䜿çšãã bash ã Json ãæ¿å ¥ãããããã»ã¹ãèµ·åããã®ã¯ãéåžžã«çŸå®çãªç¶æ³ã§ãã ãããåæãããšãä»ã®ãžã§ãã¬ãŒã¿ãŒãããã« 30 åã®ãã¡ã€ã«ãçæããŸãã ããããã¹ãŠã«ãããŠãå ¥åå€æ°ã¯ Azure Key Vault ããåä¿¡ãããGo ã§èšè¿°ããã Drone.io ã®ãã©ã°ã€ã³ã«ãã£ãŠãŸãšãããããããã®å€æ°ã¯ãjsonnet ãã³ãã¬ãŒã ãšã³ãžã³ããã®çæã®çµæãšããŠçæããã yaml ãééããŸãã ããã»ã©å€æ§ãªç°å¢ãããå Žåãå³å¯ã«é©åã«èšè¿°ãããã³ãŒããäœæããããšã¯éåžžã«å°é£ã§ãã
XNUMX ã€ã®ã¿ã¹ã¯ã®ãã¬ãŒã ã¯ãŒã¯å ã§ã®åŸæ¥ã®éçºã«ã¯ XNUMX ã€ã®èšèªãå¿ èŠã§ãã ããã§ã¯å€æ°ã®èšèªãæ±ããŸãã
3. XNUMX çªç®ã®åé¡ã¯ãã¥ãŒãã³ã°ã§ãã ç§ãã¡ã¯ããã¹ãŠããã£ãŠãããã¯ãŒã«ãªãšãã£ã¿ãŒ (Ms Visual StudioãJetbrains Rider) ã«æ £ããŠããŸãã ãããŠããšãç§ãã¡ãæãã ãšããŠãã圌ãã¯ç§ãã¡ãééã£ãŠãããšèšãã§ãããã ããã¯æ®éã§èªç¶ãªããšã®ããã«æããŸãã
ããããè¿ãã®ã©ããã« VSCode ããããããã«ã¯äœããã®åœ¢ã§ã€ã³ã¹ããŒã«ãããŠããããµããŒããããŠããããŸãã¯ãµããŒããããŠããªããã©ã°ã€ã³ãããã€ããããŸãã æ°ããããŒãžã§ã³ãç»å ŽããŸãããããµããŒããããŠããŸããã§ããã é¢æ° (ãããååšãããšããŠã) ã®å®è£ ãžã®å¹³å¡ãªç§»è¡ã¯ãè€éã§èªæã§ã¯ãªãåé¡ã«ãªããŸãã å€æ°ã®åçŽãªååå€æŽã¯ãæ°åã®ãã¡ã€ã«ãããªããããžã§ã¯ãã§ã®åçã«çžåœããŸãã 圌ãããªãã«å¿ èŠãªãã®ã眮ããŠããããªããããªãã¯å¹žéã§ãã ãã¡ããããã¡ãã¡ã«ããã¯ã©ã€ããããããªãŒãã³ã³ããªãŒãããããã©ããã§ãã©ãŒããããããŠããŸã (ãã ããWindows äžã® terraform ã§ã¯æ©èœããŸããã§ãã)ã
ãã®èšäºã®å·çæç¹
å¿ããæãæ¥ãŸãã...
- ãããã°
- ãªãã¡ã¯ã¿ãªã³ã°ããŒã«ã
- èªåå®äºã
- ã³ã³ãã€ã«äžã«ãšã©ãŒãæ€åºããŸãã
ããããªè©±ã§ãããããã«ããéçºæéãé·ããªããå¿ ç¶çã«çºçãããšã©ãŒã®æ°ãå¢å ããŸãã
ææªãªã®ã¯ãã³ãŒããèšèšããæ¹æ³ããã¡ã€ã«ããã©ã«ããŒã«æŽçããæ¹æ³ãå解ããæ¹æ³ãã³ãŒããä¿å®ããããèªã¿ãããããæ¹æ³ãªã©ã§ã¯ãªãããã®ã³ãã³ããã©ããã£ãŠæ£ããæžããã«ã€ããŠèããªããã°ãªããªãããšã§ããã©ããããããééã£ãŠæžããŠããŸã£ãããã§ãã ã
åå¿è ãšã㊠Terraform ãåŠãŒããšããŠããŸãããIDE ã¯ãŸã£ãã圹ã«ç«ã¡ãŸããã è³æãããå Žåã¯ãäžã«å ¥ã£ãŠèŠãŠãã ããã ããããæ°ããããã°ã©ãã³ã°èšèªãå ¥åããããšãããšãIDE ã¯ãã®ãããªåããããšæããŠãããŸããããã®ãããªãã®ã¯ååšããŸããã å°ãªããšã int ãŸã㯠string ã¬ãã«ã§ã¯ã ããã¯å€ãã®å Žå䟿å©ã§ãã
ãã¹ãã«ã€ããŠã¯ã©ãã§ããïŒ
ãããã°ã©ããŒã®çããããã¹ãã«ã€ããŠã¯ã©ãã§ãã?ããšå°ããŸãã çé¢ç®ãªäººã¯æ¬çªç°å¢ã§ãã¹ãŠããã¹ãããŸãããããã¯å°é£ã§ãã ããã¯ãWeb ãµã€ãããã® terraform ã¢ãžã¥ãŒã«ã®åäœãã¹ãã®äŸã§ãã
圌ãã¯è¯ãããã¥ã¡ã³ããæã£ãŠããŸãã ç§ã¯ãããã¥ã¡ã³ããšãã¬ãŒãã³ã°ã«å¯Ÿãã Microsoft ã®ã¢ãããŒããåžžã«å¥œãã§ããã ãã ãããããå®ç§ãªã³ãŒãã§ã¯ãªãããšãç解ããã®ã«ãããããããã§ããå¿
èŠã¯ãããŸããã å³åŽã®æ€èšŒã«æ³šç®ããŠãã ããã
åäœãã¹ãã®åé¡ã¯ãããªããšç§ã Json åºåã®æ£ç¢ºãããã§ãã¯ã§ããããšã§ãã 5 ã€ã®ãã©ã¡ãŒã¿ãå ¥åãããšã2000 è¡ã® Json ãããã¯ãã¹ãäžããããŸããã ããã§äœãèµ·ãã£ãŠããã®ããåæãããã¹ãçµæãæ€èšŒã§ããŸã...
Go 㧠Json ã解æããã®ã¯å°é£ã§ãã ãŸããGo ã§èšè¿°ããå¿ èŠããããŸããGo ã§ã® terraform ã¯ãèšè¿°ããèšèªã§ãã¹ãããããã®è¯ãæ¹æ³ã§ããããã§ãã ã³ãŒãèªäœã®æ§æã¯éåžžã«åŒ±ãã§ãã åæã«ãããã¯ãã¹ãã«æé©ãªã©ã€ãã©ãªã§ãã
Microsoft èªäœãã¢ãžã¥ãŒã«ãäœæãããã®æ¹æ³ã§ãã¹ãããŠããŸãã ãã¡ãããªãŒãã³ãœãŒã¹ã§ãã ç§ã話ããŠããããšã¯ãã¹ãŠãããªããæ¥ãŠä¿®æ£ããŠããããŸãã ãªãŒãã³ãœãŒã¹ã® VS ã³ãŒã ãã©ã°ã€ã³ãterraformsãã©ã€ããŒçšã®ãã©ã°ã€ã³ã®äœæãªã©ããã¹ãŠã XNUMX é±éã§åº§ã£ãŠä¿®æ£ã§ããŸãã ãããããããã€ãã®ã¢ãã©ã€ã¶ãŒãäœæãããªã³ã¿ãŒãè¿œå ãããã¹ãçšã®ã©ã€ãã©ãªãæäŸããŸãã ç§ã¯äœã§ãã§ããŸãã ããããããã¯ç§ããã¹ãããšã§ã¯ãããŸããã
ãã¹ã ãã©ã¯ãã£ã¹ ã³ãŒããšããŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£
次ãžç§»ããŸãããã IaC ã«ãã¹ãããªããIDE ãšãã¥ãŒãã³ã°ãæªãå Žåã¯ãå°ãªããšããã¹ã ãã©ã¯ãã£ã¹ãããã¯ãã§ãã Google Analytics ã«ã¢ã¯ã»ã¹ããŠãTerraform ã®ãã¹ã ãã©ã¯ãã£ã¹ãš C# ã®ãã¹ã ãã©ã¯ãã£ã¹ãšãã XNUMX ã€ã®æ€çŽ¢ã¯ãšãªãæ¯èŒããŸããã
äœãèŠããŸããïŒ å·é
·ãªçµ±èšã¯ç§ãã¡ã«æå©ã§ã¯ãããŸããã ææã®éã¯åãã§ãã C# éçºã§ã¯ãåã«è³æã溢ããŠããŠãè¶
ãã¹ã ãã©ã¯ãã£ã¹ããããå°é家ã«ãã£ãŠæžãããæ¬ãããããŸãããã®æ¬ãæ¹å€ããä»ã®å°é家ã«ãã£ãŠæžãããæ¬ããããŸãã èšå€§ãªå
¬åŒããã¥ã¡ã³ããèšäºããã¬ãŒãã³ã° ã³ãŒã¹ããããŠçŸåšã¯ãªãŒãã³ãœãŒã¹éçºãè¡ãããŠããŸãã
IaC ãªã¯ãšã¹ãã«é¢ããŠã¯ãããã§ã¯ãhighload ãŸã㯠HashiConf ã¬ããŒããå ¬åŒããã¥ã¡ã³ããããã³ Github äžã®å€æ°ã®åé¡ããæ å ±ãå°ããã€åéããããšããŠããŸãã ãããã®ã¢ãžã¥ãŒã«ãäžè¬ã«é åžããã«ã¯ã©ãããã°ããã§ãã?ãŸããããããã©ãããã°ããã§ãããã? ããã¯æ¬åœã«åé¡ã®ããã§ã... ã³ãã¥ããã£ããããGithub ã«ã¯ã©ããªè³ªåã«å¯ŸããŠã 10 件ã®ã³ã¡ã³ããäžããããŸãã ããããæ£ç¢ºã«ã¯ããã§ã¯ãããŸããã
æ®å¿µãªãããçŸæç¹ã§ã¯å°é家ãçŸãå§ããã°ããã§ãã ä»ã®ãšãããã®æ°ã¯å°ãªãããŸãã ãããŠã³ãã¥ããã£èªäœãåæ©çãªã¬ãã«ã§æŽ»åããŠããŸãã
ããã¯äžäœã©ããžè¡ãã®ããäœããã¹ããªã®ã
ãã¹ãŠãæšãŠãŠ C# ã«æ»ããã©ã€ããŒã®äžçã«æ»ãããšãã§ããŸãã ããããããã§ã¯ãããŸããã 解決çãèŠã€ãããªãã®ã«ããªããããããããªããšãããå¿ èŠãããã®ã§ããããã 以äžã«ç§ã®äž»èŠ³çãªçµè«ã瀺ããŸãã ã³ã¡ã³ãã§ç§ãšè°è«ããããšãã§ããŸããããã¯èå³æ·±ãã§ãããã
å人çã«ãç§ã¯ããã€ãã®ããšã«è³ããŠããŸãã
- ãã®åéã®éçºã¯éåžžã«æ¥éã«é²ãã§ããŸãã DevOps ã®ãªã¯ãšã¹ãã®ã¹ã±ãžã¥ãŒã«ã¯æ¬¡ã®ãšããã§ãã
ãã®è©±é¡ã¯èªå€§åºåãããããŸããããçäœãæé·ããŠãããšããäºå®èªäœãåžæãäžããŠãããŸããäœããããã»ã©æ¥éã«æé·ããã°ãäœããã¹ãããäœããã¹ãã§ã¯ãªãããæããŠãããè³¢ã人ãå¿ ãçŸããŸãã 人æ°ãé«ãŸããšãæçµçã«èª°ãã vscode çšã®ãã©ã°ã€ã³ã jsonnet ã«è¿œå ããæéãã§ããããã«ãªãã§ããããããã«ãããctrl+shift+f ã§ãã©ã°ã€ã³ãæ€çŽ¢ããã®ã§ã¯ãªããé¢æ°ã®å®è£ ã«é²ãããšãã§ããããã«ãªããŸãã ç©äºãé²åããã«ã€ããŠãããå€ãã®ãããªã¢ã«ãç»å ŽããŸãã Google ããã® SRE ã«é¢ããæžç±ã®ãªãªãŒã¹ã¯ããã®å¥œäŸã§ãã
- åŸæ¥ã®éçºã§ã¯ãããã§ããŸãé©çšã§ããæè¡ãšå®è·µãéçºãããŠããŸãã ã¯ãããã¹ããç°çš®ç°å¢ãäžååãªããŒã«ã«ã¯åŸ®åŠãªéãããããŸããã䟿å©ã§åœ¹ã«ç«ã€èšå€§ãªæ°ã®ãã©ã¯ãã£ã¹ãèç©ãããŠããŸãã
ç°¡åãªäŸ: ãã¢ããã°ã©ãã³ã°ã«ããã³ã©ãã¬ãŒã·ã§ã³ã ãããç解ããã®ã«ãšãŠã圹ç«ã¡ãŸãã è¿ãã«åãããã«äœããç解ããããšããŠããé£äººããããšãäžç·ã«ç解ãæ·±ãŸããŸãã
ãªãã¡ã¯ã¿ãªã³ã°ãã©ã®ããã«è¡ãããããç解ãããšããã®ãããªç¶æ³ã§ããªãã¡ã¯ã¿ãªã³ã°ãå®è¡ããã®ã«åœ¹ç«ã¡ãŸãã ã€ãŸããäžåºŠã«ãã¹ãŠãå€æŽããããšã¯ã§ããŸããããååãå€æŽãã次ã«å Žæãå€æŽããŠãããäžéšã匷調衚瀺ããããšãã§ããŸãããã ããããã«ã¯ååãªã³ã¡ã³ãããããŸããã
ãŸãšã
ç§ã®æšè«ã¯æ²èŠ³çã«èŠãããããããŸããããç§ã¯åžæãæã£ãŠæªæ¥ã«ç®ãåããç§ãã¡ïŒãããŠããªããã¡ïŒã«ãšã£ãŠãã¹ãŠãããŸãããããšãå¿ããé¡ã£ãŠããŸãã
èšäºã®åŸåéšåã¯çŸåšæºåäžã§ãã ãã®äžã§ãã¢ãžã£ã€ã«éçºãã©ã¯ãã£ã¹ã䜿çšããŠåŠç¿ããã»ã¹ãæ¹åããã€ã³ãã©ã¹ãã©ã¯ãã£ãæäœããããšããæ¹æ³ã«ã€ããŠèª¬æããŸãã
åºæïŒ habr.com