
ããŒãã 翻蚳ã: ãã®èšäºã®èè
(Luc Perkins) ã¯ãLinkerdãSMI (Service Mesh Interface)ãKuma ãªã©ã®ãªãŒãã³ ãœãŒã¹ ãããžã§ã¯ãã®æ¬æ å°ã§ãã CNCF ã®éçºè
ã¢ããã±ãŒãã§ã (ãšããã§ããªã Istio ããã®ãªã¹ãã«èŒã£ãŠããªãã®ãçåã«æã£ãããšã¯ãããŸããã?)ã ããµãŒãã¹ ã¡ãã·ã¥ããšåŒã°ããæµè¡ã®èªå€§å®£äŒã DevOps ã³ãã¥ããã£ã«ããã«çè§£ããŠãããããã®ãã 16 ã€ã®è©Šã¿ãšããŠã圌ã¯ããã®ãããªãœãªã¥ãŒã·ã§ã³ãæäŸãã XNUMX ã®å
žåçãªæ©èœããªã¹ãããŠããŸãã
Ð¡ÐµÐ³ÐŸÐŽÐœÑ â ãœãããŠã§ã¢ ãšã³ãžãã¢ãªã³ã°ã§æãããããªãããã¯ã® 1 ã€ã§ã (åœç¶ã®ããšã§ãã)ãç§ã¯ãã®æè¡ã«éåžžã«å°æ¥æ§ããããšèããŠãããïŒãã¡ãããããçã«ããªã£ããã®ãªãïŒåºãæ¡çšãããããã«ãªãããšã倢èŠãŠããŸããããããã»ãšãã©ã®äººã«ãšã£ãŠãããã¯ãŸã è¬ã®é°å²æ°ã«å ãŸããŠããŸããããã«ã ç§ã¯åœŒãããç¥ã£ãŠãã ããã䜿çšãããšããã®å©ç¹ãšãããæ£ç¢ºã«äœã§ããããæç¢ºã«å®çŸ©ããããšãå°é£ã«ãªãããšããããããŸã (ããªãã®è¬èãªåãå«ããŠ)ããã®èšäºã§ã¯ãããŸããŸãªããšãåæããŠç¶æ³ãæ¹åããããšããŸãã 䜿çšã·ããªãª ããµãŒãã¹ã°ãªããã*ã
* 泚: 翻蚳: ãã®èšäºã®ããããå ã¯ããŸã æ°ããçšèªã§ãããµãŒãã¹ ã¡ãã·ã¥ã衚ãããã«ããã®ç¿»èš³ (ããµãŒãã¹ ã¡ãã·ã¥ã) ã䜿çšããŸãã
ãããããŸãããã€ãã³ã¡ã³ãããããšæããŸãã
- ç§ã¯ãèªåã®æè²ã®ããã«åãçµãã ãããžã§ã¯ã以å€ã§ããµãŒãã¹ ã¡ãã·ã¥ãæ±ã£ãããšãã䜿çšããããšããããŸããã§ãããäžæ¹ãç§ã¯2015幎ã«Twitterã®å éšãµãŒãã¹ã¡ãã·ã¥ïŒåœæã¯ããµãŒãã¹ã¡ãã·ã¥ããšåŒã°ããŠããŸããã§ããïŒã®ããã¥ã¡ã³ãã倧éã«æžãã ãªã®ã§ãäœãæå³ãããã®ã§ãã
- ç§ã®ãªã¹ãã¯ããããã®ãã®ã§ãããäžå®å šã§ãã確ãã«ãç§ãç¥ããªããŠãŒã¹ã±ãŒã¹ã¯ååšããŸããããã¯ãããžãŒãé²åããŠæ®åããã«ã€ããŠãæ°ãããŠãŒã¹ã±ãŒã¹ãåºãŠããå¯èœæ§ããããŸãã
- åæã«ãæ¢åã®ãµãŒãã¹ ã¡ãã·ã¥å®è£ ã®ãã¹ãŠãããªã¹ããããŠãããŠãŒã¹ ã±ãŒã¹ã®ãã¹ãŠããµããŒãããŠããããã§ã¯ãããŸããããããã£ãŠãããµãŒãã¹ ã¡ãã·ã¥ã¯...ããšããç§ã®çºèšã¯ããäžéšã®ããããã¯ãã¹ãŠã®äžè¬çãªãµãŒãã¹ ã¡ãã·ã¥å®è£ ã¯...ããšè§£éãããå¿ èŠããããŸãã
- äŸã®é åºã¯éèŠã§ã¯ãããŸããã
çããªã¹ã:
- ãµãŒãã¹æ€åºã
- æå·åã
- èªèšŒãšæ¿èªã
- è² è·åæ£;
- åè·¯é®æ;
- èªåã¹ã±ãŒãªã³ã°;
- ã«ããªã¢ãããã€ã¡ã³ãã
- ãã«ãŒã°ãªãŒã³ãããã€ã¡ã³ãã
- å¥åº·ãã§ãã¯;
- è² è·å¶é;
- ãã©ãã£ãã¯ãã©ãŒãªã³ã°ã
- çµ¶çž;
- ãªã¯ãšã¹ãã¬ãŒãã®å¶éãå詊è¡ãã¿ã€ã ã¢ãŠãã
- ãã¬ã¡ããªãŒ;
- ç£æ»;
- èŠèŠåã
1. ãµãŒãã¹æ€åº
TL;DR: åçŽãªååã䜿çšããŠããããã¯ãŒã¯äžã®ä»ã®ãµãŒãã¹ã«æ¥ç¶ããŸãã
ãµãŒãã¹ã¯ãé©åãªååã䜿çšããŠèªåçã«äºãããèŠã€ãããããšãã§ããå¿
èŠããããŸãã service.api.production, pets/staging ãŸã㯠cassandraãã¯ã©ãŠãç°å¢ã¯åŒŸåæ§ããããè€æ°ã®ãµãŒãã¹ ã€ã³ã¹ã¿ã³ã¹ã 1 ã€ã®ååã®èåŸã«é ãããšãã§ããŸãããã®ãããªç¶æ³ã§ã¯ããã¹ãŠã® IP ã¢ãã¬ã¹ãããŒãã³ãŒãããããšã¯ç©ççã«äžå¯èœã§ããããšã¯æããã§ãã
ããã«ããããµãŒãã¹ãå¥ã®ãµãŒãã¹ãèŠã€ããå Žåããã®ãµãŒãã¹ã«ãªã¯ãšã¹ããéä¿¡ããŠãããã®ãªã¯ãšã¹ãããããã€ã³ã¹ã¿ã³ã¹ã®å ¥åã«ãªã£ãŠããŸãããšãå¿é ããå¿ èŠã¯ãããŸãããã€ãŸãããµãŒãã¹ ã¡ãã·ã¥ã¯ãã¹ãŠã®ãµãŒãã¹ ã€ã³ã¹ã¿ã³ã¹ã®å¥å šæ§ãç£èŠãããã¹ãã®ãªã¹ããå¯èœãªéãææ°ã®ç¶æ ã«ä¿ã€å¿ èŠããããŸãã
åãµãŒãã¹ ã¡ãã·ã¥ã¯ããµãŒãã¹æ€åºã¡ã«ããºã ãç°ãªãæ¹æ³ã§å®è£ ããŸããçŸåšãæãäžè¬çãªæ¹æ³ã¯ãDNS Kubernetes ãªã©ã®å€éšããã»ã¹ã«å§ä»»ããããšã§ãã以åã¯ããã®ç®çã§ Twitter ã®ååã·ã¹ãã ã䜿çšããŠããŸããã ãããã«ããµãŒãã¹ ã¡ãã·ã¥ ãã¯ãããžãŒã«ãããã«ã¹ã¿ã åœåã¡ã«ããºã ãå°å ¥ããããšãå¯èœã«ãªããŸã (ãã ãããã®ãããªæ©èœãåãã SM å®è£ ã«ã¯ãŸã åºäŒã£ãããšããããŸãã)ã
2. æå·å
TL;DR: ãµãŒãã¹éã®æå·åãããŠããªããã©ãã£ãã¯ãæé€ãããã®ããã»ã¹ãèªååããŠã¹ã±ãŒã©ãã«ã«ããŸãã
æ»æè ãå éšãããã¯ãŒã¯ã«äŸµå ¥ã§ããªãããšãç¥ã£ãŠããã®ã¯è¯ãããšã§ãããã¡ã€ã¢ãŠã©ãŒã«ã¯ãã®ç¹ã§éåžžã«åœ¹ç«ã¡ãŸããããããããã«ãŒãäŸµå ¥ãããã©ããªãã§ãããã?圌ã¯ãµãŒãã¹å ãã©ãã£ãã¯ã§äœã§ã奜ããªããšãã§ããã®ã§ãããã?ãããªããšãèµ·ããªãããšãç¥ããŸãããããã®ãããªã·ããªãªãé²ãã«ã¯ããµãŒãã¹éã®ãã¹ãŠã®ãã©ãã£ãã¯ãæå·åããããŒããã©ã¹ã ãããã¯ãŒã¯ãå®è£ ããå¿ èŠããããŸããçŸä»£ã®ãµãŒãã¹ã°ãªããã®ã»ãšãã©ã¯çžäºæ¥ç¶ãéããŠãããå®çŸããŠããŸã (çžäºTLSãmTLS)ãå Žåã«ãã£ãŠã¯ãmTLS ã¯ã¯ã©ãŠããã¯ã©ã¹ã¿ãŒå šäœã§æ©èœããŸã (ææééä¿¡ããã€ãã¯åæ§ã®æ¹æ³ã§å®çŸãããããã«ãªããšæããŸã)ã
ãã¡ãããmTLSãµãŒãã¹ã¡ãã·ã¥ã®å Žå ãªãã·ã§ã³ãåãµãŒãã¹ã¯ç¬èªã® TLS ã管çã§ããŸããããã®ããã«ã¯èšŒææžãçæãããµãŒãã¹ ãã¹ãå šäœã«é åžãããã¡ã€ã«ãããããã®èšŒææžãèªã¿èŸŒãã³ãŒããã¢ããªã±ãŒã·ã§ã³ã«çµã¿èŸŒãæ¹æ³ãèŠã€ããå¿ èŠããããŸããã¯ãããããã®èšŒææžã宿çã«æŽæ°ããããšãå¿ããªãã§ãã ããããµãŒãã¹ã¡ãã·ã¥ã¯æ¬¡ã®ãããªã·ã¹ãã ã§mTLSãèªååããŸãã ããã«ãããèšŒææžã®çºè¡ãšããŒããŒã·ã§ã³ã®ããã»ã¹ãèªååãããŸãã
3. èªèšŒãšæ¿èª
TL;DR: ãªã¯ãšã¹ãããµãŒãã¹ã«å°éããåã«ã誰ããªã¯ãšã¹ããéå§ããŠãããã確èªãããã®ãªã¯ãšã¹ãã®éä¿¡è ã«èš±å¯ãããŠããæäœã決å®ããŸãã
ãµãŒãã¹ã¯ããç¥ããããšæãã®ã¯ã 誰ã ãªã¯ãšã¹ãïŒèªèšŒïŒãè¡ãããã®æ å ±ã䜿çšããŠæ±ºå®ããŸã ãã® ãã®äž»äœã¯ãïŒèªå¯ïŒãè¡ãããšãèš±å¯ãããŸãããã®å Žåã代åè©ãwhoãã¯ä»¥äžãé ããŠããå¯èœæ§ããããŸãã
- ãã®ä»ã®ãµãŒãã¹ãããããèªèšŒããšãããŸã ãã¢ã¢ããšãã°ããµãŒãã¹
webãµãŒãã¹ã«ã¢ã¯ã»ã¹ãããdbããµãŒãã¹ ã¡ãã·ã¥ã¯éåžžãèšŒææžãå¿ èŠãªèå¥åãšããŠæ©èœããmTLS ã䜿çšããŠãããã®ã¿ã€ãã®åé¡ã解決ããŸãã - äžéšã®äººéã®ãŠãŒã¶ãŒãããããèªèšŒããšãããŸã ãªã¯ãšã¹ãããšãã°ããŠãŒã¶ãŒ
haxor69æ°ããã©ã³ããè³Œå ¥ããããšæã£ãŠããŸãããµãŒãã¹ ã¡ãã·ã¥ã¯ã次ã®ãããªããŸããŸãªã¡ã«ããºã ãæäŸããŸãã .ç§ãã¡ã®å€ãã¯ãã¢ããªã±ãŒã·ã§ã³ ã³ãŒãã§ãããå®è¡ããå¿ èŠããããŸããããªã¯ãšã¹ããæ¥ããããŒãã«ãèŠãŠ
usersãŠãŒã¶ãŒãèŠã€ããŠãã¹ã¯ãŒããæ¯èŒããåã確èªããŸãpermissionsãµãŒãã¹ ã¡ãã·ã¥ã®å Žåãããã¯ãªã¯ãšã¹ãããµãŒãã¹ã«å°éããåã«çºçããŸãã
ãªã¯ãšã¹ãã®éä¿¡å ã倿ãããããã®å¯Ÿè±¡è ã«èš±å¯ãããŠããæäœã決å®ããå¿ èŠããããŸããäžéšã®ãµãŒãã¹ã¡ãã·ã¥ã§ã¯ãYAMLãã¡ã€ã«ãŸãã¯ã³ãã³ãã©ã€ã³ã§åºæ¬çãªããªã·ãŒïŒèª°ãäœãã§ãããïŒãèšå®ã§ããŸãããä»ã®ãµãŒãã¹ã¡ãã·ã¥ã§ã¯æ¬¡ã®ãããªãã¬ãŒã ã¯ãŒã¯ãšã®çµ±åãå¯èœã§ãã ãæçµç®æšã¯ãä¿¡é Œã§ãããœãŒã¹ããã®ãªã¯ãšã¹ãã§ãããšç¢ºä¿¡ããŠããµãŒãã¹ããããããªã¯ãšã¹ããåãå ¥ããããã«ããããšã§ãã О ãã®ã¢ã¯ã·ã§ã³ã¯èš±å¯ãããŠããŸãã
4. è² è·åæ£
TL;DR: ç¹å®ã®ãã¿ãŒã³ã«åŸã£ãŠããµãŒãã¹ ã€ã³ã¹ã¿ã³ã¹éã§è² è·ã忣ããŸãã
ãµãŒãã¹ ã»ã¯ã·ã§ã³ã®ããµãŒãã¹ãã¯ãå€ãã®å Žåã倿°ã®åäžã®ã³ããŒã§æ§æãããŸããäŸãã°ã仿¥ã®ãµãŒãã¹ cache 5éšæ§æã§ãææ¥ã«ã¯11éšã«å¢ãããããããŸããããªã¯ãšã¹ã㯠cacheã¯ãç¹å®ã®ç®çã«åŸã£ãŠé
åžãããªããã°ãªããŸãããããšãã°ãã¬ã€ãã³ã·ãæå°éã«æãããã皌åäžã®ã€ã³ã¹ã¿ã³ã¹ã«å°éãã確çãæå€§åãããããŸããæãäžè¬çã«äœ¿çšãããã¢ã«ãŽãªãºã ã¯ã©ãŠã³ãããã³ ã¢ã«ãŽãªãºã ã§ãããå éæ¹åŒãªã©ãä»ã«ãå€ãã®ã¢ã«ãŽãªãºã ããããŸãã ïŒå éïŒ ã¯ãšãªïŒåªå
ã¿ãŒã²ãããéžæã§ããŸãïŒããªã³ã° ïŒæèŒªïŒ ããã·ã¥æ³ïŒäžæµãã¹ãã«ã¯äžè²«æ§ã®ããããã·ã¥æ³ã䜿çšïŒãŸãã¯æå°ã¯ãšãªæ³ïŒã¯ãšãªãæãå°ãªãã€ã³ã¹ã¿ã³ã¹ãåªå
ãããïŒã®ãããããéžæããŸãã
åŸæ¥ã®ããŒããã©ã³ãµã«ã¯ãHTTP ãã£ãã·ã¥ã DDoS ä¿è·ãªã©ã®ä»ã®æ©èœããããŸãããæ±è¥¿ãã©ãã£ã㯠(ãµãŒãã¹ ã¡ãã·ã¥ã®äžè¬çãªã¢ããªã±ãŒã·ã§ã³) ã«ã¯ããŸãé¢ä¿ããããŸãããè² è·åæ£ã«ãµãŒãã¹ ã¡ãã·ã¥ã䜿çšããå¿ èŠã¯ãããŸããããéäžç®¡çãããã³ã³ãããŒã« ãã¬ãŒã³ããåãµãŒãã¹ã®è² è·åæ£ããªã·ãŒãå®çŸ©ããã³å¶åŸ¡ã§ããããããããã¯ãŒã¯ ã¹ã¿ãã¯å ã§åã ã®ããŒã ãã©ã³ãµãŒãå®è¡ããã³æ§æããå¿ èŠããªããªããŸãã
5. åè·¯é®æ
TL;DR: åé¡ã®ãããµãŒãã¹ãžã®ãã©ãã£ãã¯ã忢ããææªã®ã·ããªãªã§ã®è¢«å®³ãå¶åŸ¡ããŸãã
äœããã®çç±ã§ãµãŒãã¹ããã©ãã£ãã¯ãåŠçã§ããªãå ŽåããµãŒãã¹ ã¡ãã·ã¥ã¯ãã®åé¡ã解決ããããã®ããã€ãã®ãªãã·ã§ã³ãæäŸããŸã (ãã®ä»ã®ãªãã·ã§ã³ã«ã€ããŠã¯ãé¢é£ããã»ã¯ã·ã§ã³ã§èª¬æããŸã)ããµãŒããããã¬ãŒãã³ã°ã¯ããµãŒãã¹ããã©ãã£ãã¯ããåæããããã®æã匷åãªãªãã·ã§ã³ã§ããããããããã ãã§ã¯æå³ããããŸãããããã¯ã¢ããèšç»ãå¿ èŠã§ããèå§ããããããšãå¯èœã§ãã () ãªã¯ãšã¹ããè¡ããµãŒãã¹ïŒãã®ããã«ãµãŒãã¹ ã¡ãã·ã¥ãèšå®ããããšãå¿ããªãã§ãã ããïŒïŒããŸãã¯ãããšãã°ãã¹ããŒã¿ã¹ ããŒãžãèµ€ãå¡ãã€ã¶ãããèœäžããã¯ãžã©ãïŒãTwitter ãããŠã³ããŠããŸããïŒã®æ¬¡ã®ããŒãžã§ã³ã®ããŒãžã«ãŠãŒã¶ãŒããªãã€ã¬ã¯ãããŸãã
ãµãŒãã¹ã°ãªããã§ã¯ã æ ã·ã£ããããŠã³ãç¶ãã ãã® ããã¯ç¶ããŸãããã®å Žåããwhenãã«ã¯ãç¹å®ã®æéã®ãªã¯ãšã¹ãã®åèšæ°ãäžŠåæ¥ç¶ã®æ°ãä¿çäžã®ãªã¯ãšã¹ããã¢ã¯ãã£ããªå詊è¡ãªã©ãæå®ããããã©ã¡ãŒã¿ã®ä»»æã®çµã¿åãããå«ããããšãã§ããŸãã
ããããåè·¯é®æãé床ã«äœ¿çšããããšã¯æãŸãããªããšæããŸãããç·æ¥æã«åããŠããã¯ã¢ããèšç»ãããããšã¯ç¥ã£ãŠãããšå®å¿ã§ãã
6. èªåã¹ã±ãŒãªã³ã°
TL;DR: æå®ãããåºæºã«åºã¥ããŠãµãŒãã¹ ã€ã³ã¹ã¿ã³ã¹ã®æ°ã墿žããŸãã
ãµãŒãã¹ã¡ãã·ã¥ã¯ã¹ã±ãžã¥ãŒã©ã§ã¯ãªãã®ã§ã 宿œãã ç¬ç«ããŠã¹ã±ãŒãªã³ã°ããŸãããã ãããã©ã³ããŒã決å®ãäžãããã®æ å ±ãæäŸããããšã¯ã§ããŸãããµãŒãã¹ ã¡ãã·ã¥ã¯ãµãŒãã¹éã®ãã¹ãŠã®ãã©ãã£ãã¯ã«ã¢ã¯ã»ã¹ã§ãããããã©ã®ãµãŒãã¹ã«åé¡ãçºçããŠããããã©ã®ãµãŒãã¹ãååã«æŽ»çšãããŠããªãã (å²ãåœãŠããã容éãç¡é§ã«ãªã£ãŠããã) ãªã©ãäœãèµ·ãã£ãŠãããã«ã€ããŠã®åºç¯ãªæ å ±ãåŸãããŸãã
ããšãã°ãKubernetes ã¯ãããã® CPU ãšã¡ã¢ãªã®äœ¿çšéã«åºã¥ããŠãµãŒãã¹ãã¹ã±ãŒãªã³ã°ããŸãã ïŒã¬ããŒããã芧ãã ããïŒ" - çŽã 翻蚳ïŒãã ããä»ã®ã¡ããªã㯠(ãã®å Žåã¯ãã©ãã£ãã¯é¢é£) ã«åºã¥ããŠã¹ã±ãŒãªã³ã°ããããšã«ããå Žåã¯ãå°çšã®ã¡ããªãã¯ãå¿
èŠã«ãªããŸãã管ç ãããè¡ãæ¹æ³ã瀺ããŸã , О ãã ããããã»ã¹èªäœã¯éåžžã«è€éã§ãããµãŒãã¹ã¡ãã·ã¥ã§ã¯ããµãŒãã¹ã€ã³ã¹ã¿ã³ã¹ã®æ°ãå¢ãããªã©ã®æ¡ä»¶ãç°¡åã«æå®ã§ããããã«ããããšã§ããããç°¡çŽ åããããšèããŠããŸãã authå®è¡ãåŸ
æ©ããŠãããªã¯ãšã¹ãã®æ°ã 1 åéã«ãããå€ãè¶
ããå Žåãã
7. ã«ããªã¢ãããã€ã¡ã³ã
TL;DR: ãµãŒãã¹ã®æ°æ©èœãŸãã¯ããŒãžã§ã³ãäžéšã®ãŠãŒã¶ãŒã«å¯ŸããŠãã¹ãããŸãã
SaaS 補åãéçºããŠããŠããã®æ°ããããŒãžã§ã³ããªãªãŒã¹ããäºå®ã ãšããŸããã¹ããŒãžã³ã°ã§ãã¹ããããšãããããŸããããŸãããããããçŸå®äžçã§ã®ãã®åäœã«ã€ããŠã¯äŸç¶ãšããŠæžå¿µãæ®ã£ãŠããŸããã€ãŸãããŠãŒã¶ãŒã®ä¿¡é Œãæãªãããšãªããå®éã®ã¿ã¹ã¯ã§æ°ããããŒãžã§ã³ããã¹ãããå¿ èŠããããŸããã«ããªã¢ãããã€ã¡ã³ãã¯ããã«æé©ã§ããäžéšã®ãŠãŒã¶ãŒã«å¯ŸããŠæ°ããæ©èœããã¢ã³ã¹ãã¬ãŒã·ã§ã³ããããšãã§ããŸãããã®ãµãã»ããã¯ãæãå¿ å®ãªãŠãŒã¶ãŒã補åã®ç¡æããŒãžã§ã³ã䜿çšããŠãããŠãŒã¶ãŒããŸãã¯ãã¢ã«ã¢ãããã«ãªãããšãå¿é¡ãããŠãŒã¶ãŒã§æ§æãããå ŽåããããŸãã
ãµãŒãã¹ ã¡ãã·ã¥ã§ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ã©ã®ããŒãžã§ã³ã誰ãåç §ã§ããããæ±ºå®ããåºæºãæå®ããããã«å¿ããŠãã©ãã£ãã¯ãã«ãŒãã£ã³ã°ããããšã§ãããå®çŸããŸããåæã«ããµãŒãã¹èªäœã«ã¯äœã倿Žã¯ãããŸããããµãŒãã¹ã®ããŒãžã§ã³ 1.0 ã§ã¯ããã¹ãŠã®ãªã¯ãšã¹ãããµãŒãã¹ãåç §ãã¹ããŠãŒã¶ãŒããéä¿¡ããããã®ãšæ³å®ããŠãããããŒãžã§ã³ 1.1 ã§ã¯ãŠãŒã¶ãŒã«ã€ããŠãåæ§ã§ãããšæ³å®ããŠããŸãããã®éã«ãå€ãããŒãžã§ã³ãšæ°ããããŒãžã§ã³éã®ãã©ãã£ãã¯ã®å²åã倿Žããæ°ããããŒãžã§ã³ãå®å®ããŠåäœãããã¢ã«ã¢ãããããŽãŒãµã€ã³ãåºããå Žåãå¢å ãããŠãŒã¶ãŒãæ°ããããŒãžã§ã³ã«ãªãã€ã¬ã¯ãããããšãã§ããŸãã
8. ãã«ãŒã°ãªãŒã³ãããã€ã¡ã³ã
TL;DR: ã¯ãŒã«ãªæ°æ©èœãå±éããŸãããããã«å ã«æ»ãæºåãããŠãããŠãã ããã
æå³ æ°ããããã«ãŒããµãŒãã¹ãå±éããå€ããã°ãªãŒã³ããµãŒãã¹ãšäžŠè¡ããŠéå§ããããšã§ãããã¹ãŠãé 調ã«é²ã¿ãæ°ãããµãŒãã¹ãããŸãæ©èœããã°ãå€ããµãŒãã¹ã¯åŸã ã«å»æ¢ããããšãã§ããŸãã ïŒæ²ããããšã«ããã€ããã®æ°ããããã«ãŒããµãŒãã¹ããã°ãªãŒã³ããµãŒãã¹ãšåãéåœã蟿ããæ¶ããŠããŸãã§ãããâŠïŒãã«ãŒã°ãªãŒã³ãããã€ã¡ã³ãã¯ãæ°ããæ©èœãã«ããŒããç¹ã§ã«ããªã¢ãããã€ã¡ã³ããšã¯ç°ãªããŸãã äžæ°ã« ãŠãŒã¶ãŒïŒäžéšã§ã¯ãªãïŒããã§ã®ãã€ã³ãã¯ãäœãåé¡ãçºçããå Žåã«åããŠãããã¯ã¢ããã®é¿é£å ŽæããçšæããŠããããšã§ãã
ãµãŒãã¹ ã¡ãã·ã¥ã¯ãããã«ãŒããµãŒãã¹ããã¹ãããåé¡ãçºçããå Žåã«ãæ©èœããŠãããã°ãªãŒã³ããµãŒãã¹ã«å³åº§ã«åãæ¿ããéåžžã«äŸ¿å©ãªæ¹æ³ãæäŸããŸããèšããŸã§ããªãããããã¯ãéãã®ãã®ã®åäœã«é¢ããå€ãã®æ å ±ãæäŸããŠããïŒä»¥äžã®ããã¬ã¡ããªãã»ã¯ã·ã§ã³ãåç §ïŒããããå®å šã«åäœããæºåãã§ããŠãããã©ãããçè§£ããã®ã«åœ¹ç«ã¡ãŸãã
ããŒãã 翻蚳ã: Kubernetesã®ããŸããŸãªãããã€ã¡ã³ãæŠç¥ïŒåè¿°ã®ã«ããªã¢ããã«ãŒ/ã°ãªãŒã³ãªã©ãå«ãïŒã®è©³çްã«ã€ããŠã¯ã以äžãåç §ããŠãã ããã .
9. å¥åº·ãã§ãã¯
TL;DR: ã©ã®ãµãŒãã¹ ã€ã³ã¹ã¿ã³ã¹ãæ£åžžã§ããããç£èŠããæ£åžžã§ãªããªã£ãã€ã³ã¹ã¿ã³ã¹ã«å¿çããŸãã
å¥åº·èšºæ ïŒå¥åº·ãã§ãã¯ïŒ ãµãŒãã¹ ã€ã³ã¹ã¿ã³ã¹ããã©ãã£ãã¯ãåä¿¡ããŠââåŠçããæºåãã§ããŠãããã©ããã倿ããã®ã«åœ¹ç«ã¡ãŸããäŸãã°ãHTTPãµãŒãã¹ã®å Žåããã«ã¹ãã§ãã¯ã¯ãšã³ããã€ã³ããžã®GETãªã¯ãšã¹ãã®ããã«èŠãããããããŸããã /healthãçã 200 OK ã¯ã€ã³ã¹ã¿ã³ã¹ãæ£åžžã§ããããšãæå³ãããã以å€ã¯ãã©ãã£ãã¯ãåä¿¡ããæºåãã§ããŠããªãããšãæå³ããŸãããµãŒãã¹ ã¡ãã·ã¥ã䜿çšãããšããã«ã¹ ãã§ãã¯ã®å®è¡æ¹æ³ãšå®è¡é »åºŠã®äž¡æ¹ãæå®ã§ããŸãããã®æ
å ±ã¯ãè² è·åæ£ãåè·¯é®æãªã©ã®ä»ã®ç®çã«äœ¿çšã§ããŸãã
ãããã£ãŠãå¥åº·èšºæã¯ãŠãŒã¹ã±ãŒã¹ãšããŠåç¬ã§äœ¿çšãããã®ã§ã¯ãªããéåžžã¯ä»ã®ç®æšãéæããããã«äœ¿çšãããŸãããŸãããã«ã¹ãã§ãã¯ã®çµæã«å¿ããŠãã¹ããŒã¿ã¹ ããŒãžã®æŽæ°ãGitHub ã§ã®åé¡ã®äœæãJIRA ãã±ããã®å ¥åãªã©ãå€éš (ä»ã®ãµãŒãã¹ ã¡ãã·ã¥ ã¿ãŒã²ãããåºæºãšãã) ã¢ã¯ã·ã§ã³ãå¿ èŠã«ãªãå ŽåããããŸãããããŠããµãŒãã¹ ã¡ãã·ã¥ã¯ãããããã¹ãŠãèªååãã䟿å©ãªã¡ã«ããºã ãæäŸããŸãã
10. è² è·å¶é
TL;DR: äžæçãªäœ¿çšéã®æ¥å¢ã«å¿ããŠãã©ãã£ãã¯ã®ã«ãŒãã倿ŽããŸãã
ãµãŒãã¹ããã©ãã£ãã¯ã§éè² è·ã«ãªã£ãå Žåããã®ãã©ãã£ãã¯ã®äžéšãäžæçã«å¥ã®å Žæã«ãªãã€ã¬ã¯ãã§ããŸãïŒã€ãŸãããããããããŸãã¯ããã¢ãããŸãïŒã ïŒå°å±ïŒ 圌ãããã«çœ®ããŸããããšãã°ãããã¯ã¢ãã ãµãŒãã¹ãããŒã¿ ã»ã³ã¿ãŒããŸãã¯æ°žç¶çãªãã®ãªã©ã§ãã ãããã¯ããã®çµæããµãŒãã¹ã¯ã¯ã©ãã·ã¥ããŠãã¹ãŠã®åŠçã忢ããã®ã§ã¯ãªããäžéšã®ãªã¯ãšã¹ãã®åŠçãç¶ç¶ããŸããè² è·å¶éã¯åè·¯ã鮿ãããããæãŸããã§ãããé床ã«äœ¿çšããããšã¯ãå§ãã§ããŸãããäžæµã®ãµãŒãã¹ãã¯ã©ãã·ã¥ããåå ãšãªãé£éçãªé害ãé²ãã®ã«åœ¹ç«ã¡ãŸãã
11. ãã©ãã£ãã¯ã®äžŠåå/ãã©ãŒãªã³ã°
TL;DR: 1 ã€ã®ãªã¯ãšã¹ããäžåºŠã«è€æ°ã®å Žæã«éä¿¡ããŸãã
å Žåã«ãã£ãŠã¯ããªã¯ãšã¹ãïŒãŸãã¯éžæãããªã¯ãšã¹ãïŒãè€æ°ã®ãµãŒãã¹ã«äžåºŠã«éä¿¡ããå¿
èŠãããããšããããŸããå
žåçãªäŸãšããŠã¯ãéçšãã©ãã£ãã¯ã®äžéšãã¹ããŒãžã³ã° ãµãŒãã¹ã«éä¿¡ããããšãæããããŸããã¡ã€ã³ã®æ¬çªWebãµãŒããŒã¯äžæµã®ãµãŒãã¹ã«ãªã¯ãšã¹ããéä¿¡ããŸã products.production ãããŠåœŒã ãã«ããããŠãµãŒãã¹ã¡ãã·ã¥ã¯ãã®ãªã¯ãšã¹ããã€ã³ããªãžã§ã³ãã«ã³ããŒãã products.stagingãŠã§ããµãŒããŒã¯ãããèªèããããŸããã
ãã©ãã£ãã¯äžŠååã®äžã«å®è£ ã§ãããµãŒãã¹ã¡ãã·ã¥ã®å¥ã®é¢é£ãŠãŒã¹ã±ãŒã¹ã¯ã ãããã«ã¯ããµãŒãã¹ã®ç°ãªãããŒãžã§ã³ã«åããªã¯ãšã¹ããéä¿¡ãããã¹ãŠã®ããŒãžã§ã³ãåãããã«åäœãããã©ããã®ç¢ºèªãå«ãŸããŸããç§ã¯ãŸã ãæ¬¡ã®ãããªçµ±åååž°ãã¹ãã·ã¹ãã ãåãããµãŒãã¹ã¡ãã·ã¥å®è£ ã«åºäŒã£ãããšããããŸããã ããããã¢ã€ãã¢èªäœã¯ææã«æããŸãã
12.æç±æ
TL;DR: ãµãŒãã¹ ã¡ãã·ã¥ããã ãããã¯ãŒã¯ã«åå²ããŸãã
å¥å ã»ã°ã¡ã³ããŒã·ã§ã³åé¢ãšã¯ããµãŒãã¹ ã¡ãã·ã¥ããäºãã®æ å ±ãäžåç¥ããªãè«ççã«åé¢ãããã»ã°ã¡ã³ãã«åå²ããæè¡ã§ããåé¢ã¯ãä»®æ³ãã©ã€ããŒã ãããã¯ãŒã¯ã®äœæã«å°ã䌌ãŠããŸããäž»ãªéãã¯ããµãŒãã¹ ã¡ãã·ã¥ã®ãã¹ãŠã®å©ç¹ (ãµãŒãã¹æ€åºãªã©) ãåŒãç¶ã享åããªãããã»ãã¥ãªãã£ã匷åãããç¹ã§ããããšãã°ãæ»æè ããµããããã® 1 ã€ã§ãµãŒãã¹ã«äŸµå ¥ã§ãããšããŠããä»ã®ãµããããã§å®è¡ãããŠãããµãŒãã¹ã確èªãããããã®ãã©ãã£ãã¯ãååãããããããšã¯ã§ããŸããã
ããã«ãçµç¹çãªã¡ãªããããããããããŸãããäŒç€Ÿã®æ§é ã«åºã¥ããŠãµãŒãã¹ããµããããã«åå²ãããµãŒãã¹ ã¡ãã·ã¥å šäœã念é ã«çœ®ããšããèªç¥è² è·ããéçºè ãè§£æŸããããšãã§ããŸãã
13. ãªã¯ãšã¹ãã¬ãŒãå¶éãå詊è¡ãã¿ã€ã ã¢ãŠã
TL;DR: æéã®ããããªã¯ãšã¹ã管çã¿ã¹ã¯ãã³ãŒãããŒã¹ã«å«ããå¿ èŠããªããªããŸããã
ãããã¯ãã¹ãŠåå¥ã®ãŠãŒã¹ã±ãŒã¹ãšèããããšãã§ããŸãããå ±éããæ©èœã 1 ã€ãããããã°ã«ãŒãåããããšã«ããŸãããå ±éããæ©èœã¯ãéåžžã¯ã¢ããªã±ãŒã·ã§ã³ ã©ã€ãã©ãªã«ãã£ãŠåŠçããããªã¯ãšã¹ã ã©ã€ããµã€ã¯ã«ç®¡çã¿ã¹ã¯ããªãããŒãããããšã§ãã Ruby on RailsãŠã§ããµãŒããŒïŒãµãŒãã¹ã¡ãã·ã¥ãšçµ±åãããŠããªãïŒãéçºããŠããŠãããã¯ãšã³ããµãŒãã¹ã«ãªã¯ãšã¹ããéä¿¡ããå Žåã ã¢ããªã±ãŒã·ã§ã³ã¯ãN åã®èŠæ±ã倱æããå Žåã«ã©ãããããèªã決å®ããå¿ èŠããããŸãããŸãããããã®ãµãŒãã¹ãåŠçã§ãããã©ãã£ãã¯ã®éãææ¡ããç¹å¥ãªã©ã€ãã©ãªã䜿çšããŠãããã®ãã©ã¡ãŒã¿ãããŒãã³ãŒãããå¿ èŠããããŸããããã«ãã¢ããªã¯ãã€è«ŠããŠãªã¯ãšã¹ããç¡é§ã«ãããïŒã¿ã€ã ã¢ãŠãïŒã決å®ããå¿ èŠããããŸããäžèšã®ãã©ã¡ãŒã¿ã倿Žããã«ã¯ãWeb ãµãŒããŒã忢ããåæ§æããŠåèµ·åããå¿ èŠããããŸãã
ãããã®æžå¿µäºé ããµãŒãã¹ ã¡ãã·ã¥ã«å§ä»»ããããšã¯ããµãŒãã¹éçºè ããããã«ã€ããŠèããå¿ èŠããªããªãã ãã§ãªããããã°ããŒãã«ãªæ¹æ³ã§ããããèŠãããšãã§ããããšãæå³ããŸããããšãã°ãA â> B â> C â> D â> E ã®ãããªè€éãªãµãŒãã¹ ãã§ãŒã³ãããå Žåã¯ããªã¯ãšã¹ãã®ã©ã€ããµã€ã¯ã«å šäœãèæ ®ããå¿ èŠããããŸããã¿ã¹ã¯ããµãŒãã¹ C ã®ã¿ã€ã ã¢ãŠããå»¶é·ããããšã§ããå ŽåããµãŒãã¹ ã³ãŒããæŽæ°ãããã« ãªã¯ãšã¹ããåãå ¥ããã㊠CI ã·ã¹ãã ãæŽæ°ããããµãŒãã¹ããããã€ãããŸã§åŸ æ©ããããšã«ãã£ãŠãéšåçã«ã§ã¯ãªãäžåºŠã«ãã¹ãŠãå®è¡ããã®ãåççã§ãã
14. ãã¬ã¡ããª
TL;DR: ãµãŒãã¹ããå¿ èŠãªæ å ± (ããã³å¿ ãããå¿ èŠã§ã¯ãªãæ å ±) ããã¹ãŠåéããŸãã
ãã¬ã¡ããªã¯ãã¡ããªãã¯ã忣ãã¬ãŒã¹ãããã³ãã°èšé²ãå«ãäžè¬çãªçšèªã§ãããµãŒãã¹ ã¡ãã·ã¥ã¯ã3 çš®é¡ã®ããŒã¿ãã¹ãŠãåéããã³åŠçããããã®ã¡ã«ããºã ãæäŸããŸããå¯èœãªãªãã·ã§ã³ã®æ°ãå€ããããããããã§ã¯ç¶æ³ãå°ãææ§ã«ãªããŸããã¡ããªã¯ã¹åéããŒã«ããã ãã°ãåéããããã«äœ¿çšã§ãããã®ä»ã®ããŒã« , , ãã ïŒäŸãã°ãClickHouseãš K8sã®å Žå - çŽïŒç¿»èš³ïŒåæ£ãã¬ãŒã¹ã«ã¯ åãµãŒãã¹ ã¡ãã·ã¥ã¯ãäžéšã®ããŒã«ããµããŒãããä»ã®ããŒã«ã¯ãµããŒãããªãå ŽåããããŸãããã®ãããžã§ã¯ããæåãããã©ããã¯è峿·±ãã ããçšåºŠã®åæããããããŸãã
ãã®å ŽåããµãŒãã¹ ã¡ãã·ã¥ ãã¯ãããžã®å©ç¹ã¯ããµã€ãã«ãŒ ã³ã³ãããŒãååãšããŠããµãŒãã¹ããäžèšã®ãã¹ãŠã®ããŒã¿ãåéã§ããããšã§ããã€ãŸããåäžã®ãã¬ã¡ããªåéã·ã¹ãã ãèªç±ã«å©çšã§ãããµãŒãã¹ ã¡ãã·ã¥ã¯ãã®ãã¹ãŠã®æ å ±ãããŸããŸãªæ¹æ³ã§åŠçã§ããŸããäŸãã°ïŒ
- CLI ã§ç¹å®ã®ãµãŒãã¹ããã®ãã°ãæ«å°Ÿã«åºåããŸãã
- ãµãŒãã¹ ã¡ãã·ã¥ ããã·ã¥ããŒããããªã¯ãšã¹ãéã远跡ããŸãã
- 忣ãã¬ãŒã¹ãåéããJaeger ãªã©ã®ã·ã¹ãã ã«è»¢éããŸãã
泚æã䞻芳çå€æïŒ äžè¬çã«èšãã°ããã¬ã¡ããªã¯åŒ·åãªãµãŒãã¹ ã¡ãã·ã¥ä»å ¥ãæãŸãããªãé åã§ããåºæ¬çãªæ å ±ãåéãããããçãã¬ã€ãã³ã·ãªã©ã®ããŽãŒã«ãã³ ã¡ããªãã¯ãããã®å Žã§è¿œè·¡ããã®ã¯åé¡ãããŸãããããã§ã«ååã«ç¢ºç«ãããååã«çè§£ãããŠããç¹æ®ãªã·ã¹ãã ã眮ãæããããšãããã©ã³ã±ã³ã·ã¥ã¿ã€ã³ ã¹ã¿ãã¯ãç»å Žããªãããšãç¥ããŸãã
15.ç£æ»
TL;DR: æŽå²ã®æèšãå¿ããè ã¯ããããç¹°ãè¿ãéåœã«ããã
ç£æ»ãšã¯ãã·ã¹ãã å ã®éèŠãªã€ãã³ãã芳å¯ããæè¡ã§ãããµãŒãã¹ ã¡ãã·ã¥ã®å Žåãããã¯ãç¹å®ã®ãµãŒãã¹ã®ç¹å®ã®ãšã³ããã€ã³ãã«èª°ããªã¯ãšã¹ããéä¿¡ãããããŸãã¯å æç¹å®ã®ã»ãã¥ãªãã£é¢é£ã€ãã³ããäœåçºçãããã远跡ããããšãæå³ããå ŽåããããŸãã
ç£æ»ããã¬ã¡ããªãšéåžžã«å¯æ¥ã«é¢é£ããŠããããšã¯æããã§ããéãã¯ããã¬ã¡ããªã¯éåžžãããã©ãŒãã³ã¹ãæè¡çãªé©åæ§ãªã©ã«é¢é£ä»ããããŠããã®ã«å¯Ÿããç£æ»ã¯å³å¯ã«æè¡çãªé åãè¶ ããæ³çåé¡ããã®ä»ã®åé¡ (GDPR ã³ã³ãã©ã€ã¢ã³ã¹ãªã©) ã«é¢é£ããå Žåãããããšã§ãã
16.èŠèŠå
TL;DR: å¥åŠãªã€ã³ã¿ãŒãã§ãŒã¹ã®æºæ³ã§ãã React.js äžæ³ã
ãã£ãšé©åãªçšèªããããããããŸããããç§ã¯ç¥ããŸãããããã§ç§ãèšãããã®ã¯ããµãŒãã¹ ã¡ãã·ã¥ãŸãã¯ãã®ã³ã³ããŒãã³ãã®äžéšãã°ã©ãã£ã«ã«ã«è¡šçŸããããšã§ãããããã®èŠèŠåã«ã¯ãå¹³åã¬ã€ãã³ã·ããµã€ãã«ãŒ ã³ã³ããã®æ§ææ å ±ããã«ã¹ ãã§ãã¯ã®çµæãã¢ã©ãŒããªã©ã®ææšãå«ããããšãã§ããŸãã
ãµãŒãã¹æåã®ç°å¢ã§äœæ¥ããå Žåãã¢ããªã¹éäžãããã¯ããã«é«ãèªç¥è² è·ãããããŸãããããã£ãŠãèªç¥çå§åã¯ã©ããªç ç²ãæã£ãŠã§ã軜æžãããã¹ãã§ãããã¿ã³ãã¯ãªãã¯ããã ãã§ç®çã®çµæãåŸãããããµãŒãã¹ ã¡ãã·ã¥ã®ã·ã³ãã«ãªã°ã©ãã£ã«ã« ã€ã³ã¿ãŒãã§ã€ã¹ã¯ããã®ãã¯ãããžã®æé·ã«ãšã£ãŠéåžžã«éèŠã«ãªãå¯èœæ§ããããŸãã
ãªã¹ãã«å«ãŸããªãã£ã
åœåã¯ãªã¹ãã«ããã«ããã€ãã®ãŠãŒã¹ã±ãŒã¹ãå«ããã€ããã§ããããããããªãããšã«ããŸããã以äžã«ãç§ã®æ±ºæã®çç±ãšãšãã«ãããã瀺ããŸãã
- ãã«ãããŒã¿ã»ã³ã¿ãŒãç§ã®èãã§ã¯ãããã¯ãŠãŒã¹ã±ãŒã¹ãšããããã¯ããµãŒãã¹ ã¡ãã·ã¥ã®çãç¹å®ã®ã¢ããªã±ãŒã·ã§ã³ããŸãã¯ãµãŒãã¹æ€åºãªã©ã®æ©èœã»ããã§ãã
- å ¥å£ãšåºå£ãããã¯é¢é£åéã§ãããç§ã¯ïŒãããã人çºçã«ïŒãæ±è¥¿ãã©ãã£ãã¯ãã®äœ¿çšäŸã«éå®ããŸãããå ¥å£ãšåºå£ã«ã€ããŠã¯å¥ã®èšäºã§èª¬æããŸãã
ãŸãšã
ãšããããããã§çµããã§ãïŒç¹°ãè¿ããŸããããã®ãªã¹ãã¯éåžžã«æ¡ä»¶ä»ãã§ãããäžå®å šã§ããå¯èœæ§ãé«ãã§ããäœãèŠèœãšããééãããã£ããšæããå Žåã¯ãTwitterã§ãé£çµ¡ãã ããïŒïŒã瀌åäœæ³ãå®ã£ãŠãã ããã
翻蚳è ããã®è¿œäŒž
ãã®èšäºã®ã¡ã€ã³ã€ã©ã¹ãã¯ãããïŒGregory MacKinnon èïŒãã¢ããªã±ãŒã·ã§ã³ïŒç·è²ïŒã®äžéšã®æ©èœãããããã®éã®æ¥ç¶ãæäŸãããµãŒãã¹ ã¡ãã·ã¥ïŒéè²ïŒã«ç§»è¡ããæ§åã瀺ããŠããŸãã
ç§ãã¡ã®ããã°ããèªã¿ãã ãã:
- «";
- «";
- «'ã
åºæïŒ habr.com
