çŽtranslãïŒãã®èšäºã®èè ïŒLuc PerkinsïŒã¯ãLinkerdãSMIïŒService Mesh InterfaceïŒãKumaãªã©ã®ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã®æ¬æ å°ã§ããCNCFã®éçºè æè·è ã§ãïŒã¡ãªã¿ã«ãIstioããã®ãªã¹ãã«ãªãçç±ãçåã«æã£ãããšã¯ãããŸãããïŒïŒã ãïŒããµãŒãã¹ã¡ãã·ã¥ã®èªå€§å®£äŒãDevOpsã³ãã¥ããã£ã«ç解ãæ·±ããããã®å¥ã®è©Šã¿ãšããŠã圌ã¯ãã®ãããªãœãªã¥ãŒã·ã§ã³ãæäŸãã16ã®ç¹åŸŽçãªæ©èœãæããŠããŸãããµãŒãã¹ã¡ãã·ã¥ã¯ã
ä»æ¥ã®ãœãããŠã§ã¢ãšã³ãžãã¢ãªã³ã°ã§æãããããªãããã¯ã®1ã€ã§ãïŒãããŠåœç¶ã®ããšãªããããã§ãïŒïŒããã®ãã¯ãããžãŒã¯éåžžã«ææã§ãããåºãæ¡çšãããããšã倢èŠãŠããŸãïŒãã¡ããããããçã«ããªã£ãŠããå ŽåïŒãããããããã§ãã»ãšãã©ã®äººã«ãšã£ãŠè¬ã®ãããŒã«å²ãŸããŠããŸãããŸããã¯ãããããç¥ã£ãŠããã®ã§ããã®å©ç¹ãšãããæ£ç¢ºã«äœã§ãããïŒããªãã®è¬èãªåãå«ãïŒãå®åŒåããã®ã¯é£ããããšããããããŸãããã®èšäºã§ã¯ãããµãŒãã¹ã°ãªããã*ã䜿çšããããã®ããŸããŸãªã·ããªãªããªã¹ãããããšã«ãããç¶æ³ãæ¹åããããšããŸãã
â»çŽ transl ãïŒãã®èšäºã®ãã以éã§ã¯ãããã翻蚳ïŒããµãŒãã¹ã¡ãã·ã¥ãïŒã§ãããããã«æ°ããçšèªã®ãµãŒãã¹ã¡ãã·ã¥ã«äœ¿çšãããŸãã
ããããæåã«ãããã€ãã³ã¡ã³ãããããšæããŸãã
- , . , service mesh Twitter 2015 ( « ») Linkerd, - .
- â . , , .
- åæã«ãæ¢åã®ãã¹ãŠã®ãµãŒãã¹ã¡ãã·ã¥å®è£ ãããããã¹ãŠã®ãŠãŒã¹ã±ãŒã¹ããµããŒãããŠããããã§ã¯ãããŸããããããã£ãŠãããµãŒãã¹ã¡ãã·ã¥ã¯...ãã®ãããªç§ã®è¡šçŸã¯ããåå¥ã§ããããããããã¹ãŠã®äžè¬çãªãµãŒãã¹ã¡ãã·ã¥ã®å®è£ ã¯...ããšèªãå¿ èŠããããŸãã
- äŸã®é åºã¯éèŠã§ã¯ãããŸããã
çããªã¹ãïŒ
- ãµãŒãã¹ã®çºèŠ;
- æå·å;
- èªèšŒãšæ¿èª;
- è² è·åæ£;
- åè·¯é®æ;
- èªåã¹ã±ãŒãªã³ã°;
- ã«ããªã¢å±é;
- éç·è²ã®å±éã
- å¥åº·èšºæ;
- è² è·å¶é;
- ãã©ãã£ãã¯ãã©ãŒãªã³ã°;
- 絶çž;
- ã¬ãŒãå¶éãåè©Šè¡ãããã³ã¿ã€ã ã¢ãŠãã
- ãã¬ã¡ããªãŒ;
- ç£æ»;
- èŠèŠåã
1.ãµãŒãã¹ãã£ã¹ã«ããªãŒ
TL; DRïŒåçŽãªååã䜿çšããŠãããã¯ãŒã¯äžã®ä»ã®ãµãŒãã¹ã«æ¥ç¶ããŸãã
äŸãã°ã -ãµãŒãã¹ã¯ãèªåçã«é©åãªååãçµç±ããŠäºãããçºèŠãããããšãã§ããã¯ã
service.api.production
ãpets/staging
ãŸãã¯cassandra
ãã¯ã©ãŠãç°å¢ã¯å埩åãããã1ã€ã®ååã§ãµãŒãã¹ã®è€æ°ã®ã€ã³ã¹ã¿ã³ã¹ãé ãããšãã§ããŸãããã®ãããªç¶æ³ã§ã¯ããã¹ãŠã®IPã¢ãã¬ã¹ãããŒãã³ãŒãã£ã³ã°ããããšã¯ç©ççã«äžå¯èœã§ããããšã¯æããã§ãã
ããã«ããããµãŒãã¹ãå¥ã®ãµãŒãã¹ãèŠã€ããå Žåãã¢ã€ãã«ç¶æ ã®ã€ã³ã¹ã¿ã³ã¹ã®å ¥ãå£ã«å°éããããšãæããã«ããã®ãµãŒãã¹ã«ãªã¯ãšã¹ããéä¿¡ã§ããå¿ èŠããããŸããã€ãŸãããµãŒãã¹ã¡ãã·ã¥ã¯ããã¹ãŠã®ãµãŒãã¹ã€ã³ã¹ã¿ã³ã¹ã®ç¶æ ãç£èŠãããã¹ãã®ãªã¹ããææ°ã®ç¶æ ã«ä¿ã€å¿ èŠããããŸãã
åãµãŒãã¹ã¡ãã·ã¥ã¯ããµãŒãã¹æ€åºã¡ã«ããºã ãç°ãªãæ¹æ³ã§å®è£ ããŸããçŸæç¹ã§æãäžè¬çãªæ¹æ³ã¯ãDNSKubernetesãªã©ã®å€éšããã»ã¹ã«å§ä»»ããããšã§ãã以åãTwitterã§ã¯ããã®ç®çã§FinagleããŒãã³ã°ã·ã¹ãã ã䜿çšããŠããŸãããããã«ããµãŒãã¹ã¡ãã·ã¥ãã¯ãããžãŒã«ãããã«ã¹ã¿ã ã®åœåã¡ã«ããºã ãåºçŸãããããšãã§ããŸãïŒãã ãããã®æ©èœãåããSMã®å®è£ ã«ã¯ãŸã ééããŠããŸããïŒã
2.æå·å
TL; DRïŒãµãŒãã¹éã®æå·åãããŠããªããã©ãã£ãã¯ãåãé€ããããã»ã¹ãèªååããŠã¹ã±ãŒã©ãã«ã«ããŸãã
æ»æè ãå éšãããã¯ãŒã¯ã«äŸµå ¥ã§ããªãããšãç¥ã£ãŠãããšäŸ¿å©ã§ãããã¡ã€ã¢ãŠã©ãŒã«ã¯ãããããŸãåŠçããŸããããããããã«ãŒãäžã«å ¥ããšã©ããªããŸããïŒåœŒã¯ãµãŒãã¹å ãã©ãã£ãã¯ã§ããããããšãäœã§ãã§ããŸããïŒãããèµ·ãããªãããšãé¡ããŸãããããã®ã·ããªãªãé²ãã«ã¯ããµãŒãã¹éã®ãã¹ãŠã®ãã©ãã£ãã¯ãæå·åããããŒããã©ã¹ããããã¯ãŒã¯ãå®è£ ããå¿ èŠããããŸããææ°ã®ãµãŒãã¹ã¡ãã·ã¥ã®ã»ãšãã©ã¯ãçžäºTLSãä»ããŠãããå®çŸããŸããïŒçžäºTLSãmTLSïŒãå Žåã«ãã£ãŠã¯ãmTLSã¯ã¯ã©ãŠããšã¯ã©ã¹ã¿ãŒå šäœã§æ©èœããŸãïŒææééä¿¡ã¯ãã€ãåæ§ã®æ¹æ³ã§é 眮ããããšæããŸãïŒã
ãã¡ãããmTLSã®å ŽåããµãŒãã¹ã¡ãã·ã¥ã¯ãªãã·ã§ã³ã§ããåãµãŒãã¹ã¯ç¬èªã®TLSãåŠçã§ããŸãããããã¯ã蚌ææžãçæãããµãŒãã¹ãã¹ãéã§é åžãããã¡ã€ã«ãããããã®èšŒææžãããŒãããã³ãŒããã¢ããªã±ãŒã·ã§ã³ã«å«ããæ¹æ³ãèŠã€ããå¿ èŠãããããšãæå³ããŸããã¯ããå®æçã«ãããã®èšŒææžãæŽæ°ããããšãå¿ããªãã§ãã ããããµãŒãã¹ã°ãªããã¯ãSPIFFEãªã©ã®ã·ã¹ãã ã§mTLSãèªååããŸããããã«ããã蚌ææžã®çºè¡ãšããŒããŒã·ã§ã³ã®ããã»ã¹ãèªååãããŸãã
3.èªèšŒãšæ¿èª
TL; DRïŒèª°ããªã¯ãšã¹ããéå§ãããã決å®ãããªã¯ãšã¹ãããµãŒãã¹ã«å°éããåã«äœãèš±å¯ããããã決å®ããŸãã
å€ãã®å ŽåããµãŒãã¹ã¯ã誰ãèŠæ±ãè¡ã£ãŠãããïŒèªèšŒïŒãç¥ãããã®æ å ±ã䜿çšããŠããµããžã§ã¯ãã«äœãèš±å¯ãããïŒæ¿èªïŒã決å®ããŸãããã®å Žåããwhoããšããçºé³ã¯é衚瀺ã«ã§ããŸãã
- ä»ã®ãµãŒãã¹ãããã¯ããã¢èªèšŒããšåŒã°ããŸããããšãã°ããµãŒãã¹
web
ããµãŒãã¹ã«ã¢ã¯ã»ã¹ããããšããŸãdb
ããµãŒãã¹ã¡ãã·ã¥ã¯éåžžãmTLSã§ãããã®åé¡ã解決ããŸãããã®å Žåã蚌ææžã¯å¿ èŠãªèå¥åãšããŠæ©èœããŸãã - -. « ». ,
haxor69
. , , JSON Web Tokens.
. ,users
, ,permissions
.. service mesh , .
ãªã¯ãšã¹ãã®éä¿¡è ãç¹å®ãããããã®ãµããžã§ã¯ãã«äœãèš±å¯ãããã決å®ããå¿ èŠããããŸããäžéšã®ãµãŒãã¹ã¡ãã·ã¥ã§ã¯ãããŒã¹ã©ã€ã³ããªã·ãŒïŒèª°ãäœãå®è¡ã§ãããïŒãYAMLãã¡ã€ã«ãŸãã¯ã³ãã³ãã©ã€ã³ã§å®çŸ©ã§ããŸãããä»ã®ãµãŒãã¹ã¡ãã·ã¥ã§ã¯ãOpen PolicyAgentãªã©ã®ãã¬ãŒã ã¯ãŒã¯ãšã®çµ±åãæäŸããŸããæçµçãªç®æšã¯ããµãŒãã¹ãä¿¡é Œã§ãããœãŒã¹ããã®ãã®ã§ããããã®ã¢ã¯ã·ã§ã³ãèš±å¯ãããŠããããšãå®å šã«æ³å®ããŠããµãŒãã¹ããã¹ãŠã®èŠæ±ã確å®ã«åãå ¥ããããã«ããããšã§ãã
4.è² è·åæ£
TL; DRïŒç¹å®ã®ãã¿ãŒã³ã«åŸã£ããµãŒãã¹ã€ã³ã¹ã¿ã³ã¹éã®è² è·åæ£ã
ãµãŒãã¹éšéå ã®ããµãŒãã¹ãã¯ãå€ãã®å Žåãå€ãã®åäžã®ã€ã³ã¹ã¿ã³ã¹ã§æ§æãããŸããããšãã°ãä»æ¥ã®ãµãŒãã¹
cache
ã¯5ã€ã®ã³ããŒã§æ§æãããŠãããææ¥ã¯ãã®æ°ã11ã«å¢ããå¯èœæ§ããããŸããå®å
ã®ãªã¯ãšã¹ãcache
ã¯ãç¹å®ã®ç®æšã«åŸã£ãŠé
åžããå¿
èŠããããŸããããšãã°ãåŸ
ã¡æéãæå°åããããæ£åžžãªã€ã³ã¹ã¿ã³ã¹ã«å°éããå¯èœæ§ãæ倧åããŸããæãäžè¬çã«äœ¿çšãããã©ãŠã³ãããã³ã¢ã«ãŽãªãºã ïŒã©ãŠã³ãããã³ïŒã§ãããä»ã«ãå€ãã®ã¢ã«ãŽãªãºã ããããŸããããšãã°ãå éïŒå éïŒèŠæ±ã®æ¹æ³ïŒåªå
ã¿ãŒã²ãããéžæã§ããŸãïŒãç°ç¶ïŒãªã³ã°ïŒãªã©ã§ããããã·ã¥ïŒã¢ããã¹ããªãŒã ãã¹ãã«äžè²«ããããã·ã¥ã䜿çšïŒãŸãã¯æå°ã®èŠæ±æ¹æ³ïŒæå°ã®èŠæ±æ°ã®ã€ã³ã¹ã¿ã³ã¹ãåªå
ãããŸãïŒã
åŸæ¥ã®ããŒããã©ã³ãµãŒã«ã¯ãHTTPãã£ãã·ã³ã°ãDDoSä¿è·ãªã©ã®ä»ã®æ©èœããããŸãããæ±è¥¿ã®ãã©ãã£ãã¯ïŒã€ãŸããããŒã¿ã»ã³ã¿ãŒå ãæµãããã©ãã£ãã¯-çŽTranslãïŒã«ã¯ããŸãé¢ä¿ãããŸããïŒãµãŒãã¹ã®äžè¬çãªäœ¿çšæ³ïŒã¡ãã·ã¥ïŒããã¡ãããè² è·åæ£ã«ãµãŒãã¹ã¡ãã·ã¥ã䜿çšããå¿ èŠã¯ãããŸããããéäžç®¡çã¬ã€ã€ãŒããåãµãŒãã¹ã®åæ£ããªã·ãŒãå®çŸ©ããã³å¶åŸ¡ã§ããããããããã¯ãŒã¯ã¹ã¿ãã¯ã§åå¥ã®ããŒããã©ã³ãµãŒãéå§ããã³æ§æããå¿ èŠããªããªããŸãã
5.åè·¯é®æ
TL; DRïŒåé¡ã®ãããµãŒãã¹ãžã®ãã©ãã£ãã¯ãåæ¢ããææªã®ã·ããªãªã§ã®æå·ãå¶åŸ¡ããŸãã
äœããã®çç±ã§ãµãŒãã¹ããã©ãã£ãã¯ãåŠçã§ããªãå ŽåããµãŒãã¹ã¡ãã·ã¥ã¯ãã®åé¡ã解決ããããã®ããã€ãã®ãªãã·ã§ã³ãæäŸããŸãïŒãã®ä»ã«ã€ããŠã¯ã察å¿ããã»ã¯ã·ã§ã³ã§èª¬æããŸãïŒãåç·é®æã¯ããµãŒãã¹ããã©ãã£ãã¯ããåæããããã®æãæ·±å»ãªæ¹æ³ã§ãããã ããããã ãã§ã¯æå³ããããŸãããããã¯ã¢ããèšç»ãå¿ èŠã§ããã¯ãšãªãå®è¡ãããµãŒãã¹ã«ããã¯ãã¬ãã·ã£ãŒïŒããã¯ãã¬ãã·ã£ãŒïŒãæäŸããå ŽåããããŸãïŒãã®ããã«ãµãŒãã¹ã¡ãã·ã¥ãèšå®ããããšãå¿ããªãã§ãã ããïŒïŒããŸãã¯ãããšãã°ãããŒãžã®ã¹ããŒã¿ã¹ãèµ€ã§æè²ãããŠãŒã¶ãŒããèœäžããã¯ãžã©ãïŒÂ«TwitterããŠã³ããŠããŸã "ïŒã
ãµãŒãã¹ã°ãªããã¯ãåã«ããå€ãã決å®ããªããšããšäœæ¬¡ã«äœãèµ·ããã§ãããããã®å Žåããwhenãã«ã¯ãæå®ããããã©ã¡ãŒã¿ãŒã®ä»»æã®çµã¿åããïŒç¹å®ã®æéã®èŠæ±ã®ç·æ°ã䞊åæ¥ç¶ã®æ°ãä¿çäžã®èŠæ±ãã¢ã¯ãã£ããªåè©Šè¡ãªã©ïŒãå«ããããšãã§ããŸãã
åè·¯é®æãæªçšããããªããããããŸããããç·æ¥äºæ ã«åããç·æ¥æ察å¿èšç»ãããããšãç¥ã£ãŠãããšããã§ãããã
6.èªåãºãŒã
TL; DRïŒæå®ãããåºæºã«åºã¥ããŠãµãŒãã¹ã€ã³ã¹ã¿ã³ã¹ã®æ°ãå¢æžããŸãã
ãµãŒãã¹ã¡ãã·ã¥ã¯ã¹ã±ãžã¥ãŒã©ã§ã¯ãªããããç¬èªã«ã¹ã±ãŒã«ã¢ãŠãããããšã¯ãããŸããããã ããã©ã®ãã©ã³ããŒã決å®ãäžããã«åºã¥ããŠæ å ±ãæäŸã§ããŸãããµãŒãã¹ã¡ãã·ã¥ã¯ãµãŒãã¹éã®ãã¹ãŠã®ãã©ãã£ãã¯ã«ã¢ã¯ã»ã¹ã§ãããããåé¡ãçºçããŠãããµãŒãã¹ãè² è·ãéåžžã«åŒ±ããµãŒãã¹ïŒå²ãåœãŠãããé»åãç¡é§ã«ãªã£ãŠããïŒãªã©ãäœãèµ·ãã£ãŠãããã«é¢ããè±å¯ãªæ å ±ããããŸãã
äŸãã°ãKubernetesã¯ããããã®CPUãšã¡ã¢ãªäœ¿çšéã«å¿ãããµãŒãã¹ãã¹ã±ãŒã«ïŒç§ãã¡ã®è©±ããåç §ããŠãã ããKubernetesã§èªåã¹ã±ãŒãªã³ã°ãšãªãœãŒã¹ç®¡çãã -çŽTRANSLãããïŒãã ããä»ã®ã¡ããªãã¯ïŒãã®å Žåã¯ãã©ãã£ãã¯ã«é¢é£ããïŒã«åºã¥ããŠã¹ã±ãŒãªã³ã°ããå Žåã¯ãç¹å¥ãªã¡ããªãã¯ãå¿ èŠã«ãªããŸãããã¥ãŒããªã¢ã«ãã®ãããªçªçµã¯ãããªãããããè¡ãæ¹æ³ãç¹äœ¿ãIstioãããã³ããã¡ããŠã¹ããããã»ã¹èªäœã¯éåžžã«è€éã§ããã
auth
ä¿çäžã®ãªã¯ãšã¹ãã®æ°ã1åéã®ãããå€ãè¶
ããå Žåã¯ããµãŒãã¹ã€ã³ã¹ã¿ã³ã¹ã®æ°ãå¢ããããªã©ã®æ¡ä»¶ãèš±å¯ããã ãã§ããµãŒãã¹ã¡ãã·ã¥ãåçŽåããå¿
èŠããããŸãã
7.ã«ããªã¢å±é
TL; DRïŒãŠãŒã¶ãŒã®ãµãã»ããã§æ°ããæ©èœãŸãã¯ãµãŒãã¹ããŒãžã§ã³ãè©ŠããŠãã ããã
SaaS補åãéçºããŠããŠããã®ã¯ãŒã«ãªæ°ããããŒãžã§ã³ãå±éããäºå®ã§ãããšããŸããããããªãã¯ã¹ããŒãžã³ã°ã§ããããã¹ãããŸããããããŠããã¯ããŸããããŸãããããããããã§ããå®éã®ç¶æ³ã§ã®åœŒå¥³ã®è¡åã«ã¯äžå®ã®æžå¿µããããŸããèšãæããã°ããŠãŒã¶ãŒã®ä¿¡é Œãå±éºã«ãããããšãªããå®éã®ã¿ã¹ã¯ã§æ°ããããŒãžã§ã³ããã¹ãããå¿ èŠããããŸããã«ããªã¢å±éã¯ããã«æé©ã§ãããããã䜿çšãããšããŠãŒã¶ãŒã®ãµãã»ããã«æ°æ©èœããã¢ã³ã¹ãã¬ãŒã·ã§ã³ã§ããŸãããã®ãµãã»ããã¯ãæãå¿ å®ãªãŠãŒã¶ãŒã補åã®ç¡æããŒãžã§ã³ã䜿çšãããŠãŒã¶ãŒããŸãã¯ã®ãã¢ããã°ã«ãªããããšããé¡æãè¡šæãããŠãŒã¶ãŒã§ããå¯èœæ§ããããŸãã
ãµãŒãã¹ã¡ãã·ã¥ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ã©ã®ããŒãžã§ã³ã誰ãèŠããã決å®ããåºæºãæå®ããããã«å¿ããŠãã©ãã£ãã¯ãã«ãŒãã£ã³ã°ã§ããããã«ããããšã§ãããè¡ããŸããåæã«ããµãŒãã¹èªäœã«ã¯äœã®å€åããããŸããããµãŒãã¹ã®ããŒãžã§ã³1.0ã¯ããã¹ãŠã®èŠæ±ãããã衚瀺ããå¿ èŠããããŠãŒã¶ãŒããã®ãã®ã§ãããšèããŠãããããŒãžã§ã³1.1ã¯ãã®ãŠãŒã¶ãŒã«å¯ŸããŠåãããšãåæãšããŠããŸãããããŸã§ã®éãå€ãããŒãžã§ã³ãšæ°ããããŒãžã§ã³ã®éã§ãã©ãã£ãã¯ã®å²åãå€æŽããŠãå®å®ããŠåäœãããå®éšçããªæ¹æ³ã§å ã«é²ãå Žåã¯ãå¢ãç¶ãããŠãŒã¶ãŒãæ°ããããŒãžã§ã³ã«ãªãã€ã¬ã¯ãã§ããŸãã
8.éç·è²ã®å±é
TL; DRïŒã¯ãŒã«ãªæ°æ©èœãå±éããŸããããã¹ãŠãããã«å ã«æ»ãæºåãããŠãã ãããéç·å±é
ã®ãã€ã³ãã¯ãå€ãç·ã®ãµãŒãã¹ãšäžŠè¡ããŠå®è¡ããããšã«ãããæ°ããéã®ãµãŒãã¹ãå±éããããšã§ãããã¹ãŠãé 調ã«é²ã¿ãæ°ãããµãŒãã¹ãããŸãæ©èœããå Žåã¯ãå€ããµãŒãã¹ãåŸã ã«ãªãã«ããããšãã§ããŸãã ïŒæ®å¿µãªããããã€ããã®æ°ãããéããµãŒãã¹ã¯ãç·ããµãŒãã¹ã®éåœãç¹°ãè¿ããŠæ¶ããŸã...ïŒéç·å±éã¯ãæ°ããæ©èœãïŒäžéšã ãã§ãªãïŒãã¹ãŠã®ãŠãŒã¶ãŒãäžåºŠã«ã«ããŒãããšããç¹ã§ã«ããªã¢å±éãšã¯ç°ãªããŸããããã§ã®ãã€ã³ãã¯ãäœãåé¡ãçºçããå Žåã«åããŠãäºåã®é¿é£æããçšæããããšã§ãã
ãµãŒãã¹ã¡ãã·ã¥ã¯ããã«ãŒãµãŒãã¹ããã¹ãããåé¡ãçºçããå Žåã«å³åº§ã«ã°ãªãŒã³ã«åãæ¿ããéåžžã«äŸ¿å©ãªæ¹æ³ãæäŸããŸããèšããŸã§ããªãã圌ãã¯ãéãã®ä»äºã«ã€ããŠå€ãã®æ å ±ãæäŸãïŒä»¥äžã®ããã¬ã¡ããªãŒãã®é ç®ãåç §ïŒã圌ãæ¬æ ŒçãªæŸåã®æºåãã§ããŠãããã©ãããç解ããã®ã«åœ¹ç«ã¡ãŸãã
çŽ translãïŒãã®èšäºã§ãããŸããŸãªKuberneteså±éæŠç¥ïŒåè¿°ã®ã«ããªã¢ãé/ç·ãªã©ãå«ãïŒã®è©³çŽ°ããèªã¿ãã ããã
9.ãã«ã¹ãã§ãã¯
TL; DRïŒçšŒåããŠãããµãŒãã¹ã€ã³ã¹ã¿ã³ã¹ã远跡ãã皌åããŠããªããµãŒãã¹ã€ã³ã¹ã¿ã³ã¹ã«å¯Ÿå¿ããŸãããã«ã¹ãã§ãã¯ã䜿çšãããšããµãŒãã¹ã€ã³ã¹ã¿ã³ã¹ããã©ãã£ãã¯ãåä¿¡ãåŠçããæºåãã§ããŠãããã©ãããå€æããã®ã«åœ¹ç«ã¡ãŸããããšãã°ãHTTPãµãŒãã¹ã®å Žåããã«ã¹ãã§ãã¯ã¯ãšã³ããã€ã³ããžã®GETãªã¯ãšã¹ãã®ããã«èŠããå ŽåããããŸããçãã¯ãã€ã³ã¹ã¿ã³ã¹ãæ£åžžã§ããããšãæå³ããŸãããã以å€ã®å Žåã¯ããã©ãã£ãã¯ãåä¿¡ããæºåãã§ããŠããŸããããµãŒãã¹ã¡ãã·ã¥ã䜿çšãããšããã«ã¹ããã§ãã¯ããæ¹æ³ãšããã®ãã§ãã¯ãå®è¡ããé »åºŠã®äž¡æ¹ãæå®ã§ããŸãããã®æ å ±ã¯ãè² è·åæ£ãåè·¯é®æãªã©ã®ä»ã®ç®çã«äœ¿çšã§ããŸãã
/health
200 OK
ãããã£ãŠããã«ã¹ãã§ãã¯ã¯ç¬ç«ãã䜿çšäŸã§ã¯ãããŸããããéåžžã¯ä»ã®ç®æšãéæããããã«äœ¿çšãããŸãããŸãããã«ã¹ãã§ãã¯ã®çµæã«ãã£ãŠã¯ãå€éšïŒãµãŒãã¹ã°ãªããã®ä»ã®ã¿ãŒã²ããã«é¢é£ããïŒã¢ã¯ã·ã§ã³ãå¿ èŠã«ãªãå ŽåããããŸããããšãã°ãã¹ããŒã¿ã¹ããŒãžãæŽæ°ããããGitHubã§åé¡ãäœæããããJIRAãã±ããã«èšå ¥ãããããŸãããŸãããµãŒãã¹ã¡ãã·ã¥ã¯ãããããã¹ãŠãèªååããããã®äŸ¿å©ãªã¡ã«ããºã ãæäŸããŸãã
10.è² è·å¶é
TL; DRïŒäœ¿çšéã®äžæçãªæ¥å¢ã«å¿ããŠãã©ãã£ãã¯ããªãã€ã¬ã¯ãããŸãã
ãµãŒãã¹ããã©ãã£ãã¯ã§éè² è·ã«ãªã£ãŠããå Žåã¯ããã®ãã©ãã£ãã¯ã®äžéšãäžæçã«å¥ã®å Žæã«ãªãã€ã¬ã¯ãã§ããŸãïŒã€ãŸããããã§ããã³ããããã·ã§ãããããŸãïŒãããšãã°ãããã¯ã¢ãããµãŒãã¹ãããŒã¿ã»ã³ã¿ãŒããŸãã¯æ°žç¶çãªPulsarãããã¯ã«ããã®çµæããµãŒãã¹ã¯ã¯ã©ãã·ã¥ããã®ã§ã¯ãªãããªã¯ãšã¹ãã®äžéšãåŠçãç¶ãããã¹ãŠã®åŠçãåæ¢ããŸããè² è·ããã³ãããããšã¯åè·¯ãå£ããããæãŸããã§ãããããã§ãããã䜿ããããããšã¯æãŸãããããŸãããããã¯ãããŠã³ã¹ããªãŒã ãµãŒãã¹ã®ã¯ã©ãã·ã¥ãåŒãèµ·ããã«ã¹ã±ãŒãé害ãé²ãã®ã«åœ¹ç«ã¡ãŸãã
11.ãã©ãã£ãã¯ã®äžŠåå/ãã©ãŒãªã³ã°
TL; DRïŒäžåºŠã«è€æ°ã®å Žæã«1ã€ã®ãªã¯ãšã¹ããéä¿¡ããŸãã
ãªã¯ãšã¹ãïŒãŸãã¯ãªã¯ãšã¹ãã®ãµã³ãã«ïŒãäžåºŠã«è€æ°ã®ãµãŒãã¹ã«éä¿¡ããå¿ èŠãããå ŽåããããŸããå žåçãªäŸã¯ãæ¬çªãã©ãã£ãã¯ã®äžéšãã¹ããŒãžã³ã°ãµãŒãã¹ã«éä¿¡ããããšã§ããã¡ã€ã³ã®æ¬çªWebãµãŒããŒ
products.production
ã¯ãããŠã³ã¹ããªãŒã ãµãŒãã¹ã«ã®ã¿èŠæ±ãéä¿¡ããŸãããããŠããµãŒãã¹ã¡ãã·ã¥ã¯ãã®èŠæ±ãã€ã³ããªãžã§ã³ãã«ã³ããŒãproducts.staging
ãŠãWebãµãŒããŒãèªèããŠããªãã«éä¿¡ããŸãã
ãã©ãã£ãã¯ã®äžŠååã«å ããŠå®è£ ã§ãããã1ã€ã®é¢é£ãããµãŒãã¹ã°ãªããã®äœ¿çšäŸã¯ãååž°ãã¹ãã§ãã..ãããã«ã¯ããµãŒãã¹ã®ç°ãªãããŒãžã§ã³ã«åãèŠæ±ãéä¿¡ãããã¹ãŠã®ããŒãžã§ã³ãåãããã«åäœãããã©ããã確èªããããšãå«ãŸããŸããDiffyã®ãããªçµ±åååž°ãã¹ãã·ã¹ãã ã䜿çšãããµãŒãã¹ã¡ãã·ã¥ã®å®è£ ã«ã¯ãŸã ééããŠããŸããããã¢ã€ãã¢èªäœã¯ææãªããã§ãã
12.絶çž
TL; DRïŒãµãŒãã¹ã¡ãã·ã¥ããããããã¯ãŒã¯ã«åå²ããŸããã»ã°ã¡ã³ããŒã·ã§ã³ãš
ãåŒã°ããåé¢ãšã¯ããµãŒãã¹ã°ãªããããçžäºã«äœãç¥ããªãè«ççã«ç°ãªãã»ã°ã¡ã³ãã«åå²ããæè¡ã§ããåé¢ã¯ãä»®æ³ãã©ã€ããŒããããã¯ãŒã¯ã®äœæã«å°ã䌌ãŠããŸããåºæ¬çãªéãã¯ããµãŒãã¹ã¡ãã·ã¥ïŒãµãŒãã¹æ€åºãªã©ïŒãæ倧éã«æŽ»çšã§ããããšã§ãããã»ãã¥ãªãã£ã匷åãããŠããŸããããšãã°ãæ»æè ãããããã®ãµããããäžã®ãµãŒãã¹ã«äŸµå ¥ããå Žåãä»ã®ãµããããã§å®è¡ãããŠãããµãŒãã¹ã確èªãããããã©ãã£ãã¯ãååãããããããšã¯ã§ããŸããã
ããã«ãã¡ãªããã¯çµç¹çãªãã®ã«ããããšãã§ããŸããçµç¹ã®æ§é ã«åºã¥ããŠãµãŒãã¹ããµããããåãããµãŒãã¹ã¡ãã·ã¥å šäœã念é ã«çœ®ãããšã«ããèªç¥çè² æ ããéçºè ã解æŸããããšãã§ããŸãã
13.ã¬ãŒãå¶éãåè©Šè¡ãããã³ã¿ã€ã ã¢ãŠã
TL; DRïŒãªã¯ãšã¹ãã管çãããšããå·®ãè¿«ã£ãã¿ã¹ã¯ãã³ãŒãããŒã¹ã«å«ããå¿ èŠããªããªããŸããã
ãããã¯ãã¹ãŠåå¥ã®ãŠãŒã¹ã±ãŒã¹ãšèŠãªãããšãã§ããŸãããå ±éç¹ã1ã€ãããããããããçµã¿åãããããšã«ããŸãããéåžžãã¢ããªã±ãŒã·ã§ã³ã©ã€ãã©ãªã«ãã£ãŠåŠçããããªã¯ãšã¹ãã©ã€ããµã€ã¯ã«ç®¡çã¿ã¹ã¯ãåŒãç¶ããšããããšã§ããgRPCãä»ããŠããã¯ãšã³ããµãŒãã¹ã«ãªã¯ãšã¹ããéä¿¡ããRubyon Rails WebãµãŒããŒïŒãµãŒãã¹ã¡ãã·ã¥ãšçµ±åãããŠããªãïŒãéçºããŠããå Žåãã¢ããªã±ãŒã·ã§ã³ã¯ãNåã®èŠæ±ã倱æããå Žåã®åŠçââã決å®ããå¿ èŠããããŸãããŸãããããã®ãµãŒãã¹ãåŠçã§ãããã©ãã£ãã¯ã®éã確èªããç¹å¥ãªã©ã€ãã©ãªã䜿çšããŠãããã®ãã©ã¡ãŒã¿ãããŒãã³ãŒãã£ã³ã°ããå¿ èŠããããŸããããã«ãã¢ããªã±ãŒã·ã§ã³ã¯ããã€ãããããŠèŠæ±ãïŒã¿ã€ã ã¢ãŠãã«ãã£ãŠïŒæªããããã決å®ããå¿ èŠããããŸãããŸããäžèšã®ãã©ã¡ãŒã¿ã®ãããããå€æŽããã«ã¯ãWebãµãŒããŒãåæ¢ãåæ§æãããã³åèµ·åããå¿ èŠããããŸãã
ãããã®ã¿ã¹ã¯ããµãŒãã¹ã°ãªããã«è»¢éããããšã¯ããµãŒãã¹éçºè ããããã«ã€ããŠèããå¿ èŠããªãã ãã§ãªããããã°ããŒãã«ãªæ¹æ³ã§ãããã衚瀺ã§ããããšãæå³ããŸããA-> B-> C-> D-> Eãªã©ã®è€éãªãµãŒãã¹ãã§ãŒã³ã䜿çšããŠããå Žåã¯ããªã¯ãšã¹ãã®ã©ã€ããµã€ã¯ã«å šäœãèæ ®ããå¿ èŠããããŸããã¿ã¹ã¯ããµãŒãã¹Cã§ã¿ã€ã ã¢ãŠãã延é·ããããšã§ããå ŽåããµãŒãã¹ã³ãŒããæŽæ°ãããã«ãªã¯ãšã¹ããåãå ¥ããããCIã·ã¹ãã ãæŽæ°ããããµãŒãã¹ãå±éããã®ãåŸ ã€ããšã«ãããéšåçã«ã§ã¯ãªããäžåºŠã«ãã¹ãŠãå®è¡ããã®ãè«ççã§ãã
14.ãã¬ã¡ããªãŒ
TL; DRïŒãµãŒãã¹ããå¿ èŠãªïŒå®å šã§ã¯ãªãïŒãã¹ãŠã®æ å ±ãåéããŸãã
ãã¬ã¡ããªã¯ãã¡ããªãã¯ãåæ£ãã¬ãŒã¹ãããã³ãã®ã³ã°ãå«ãäžè¬çãªçšèªã§ãããµãŒãã¹ã°ãªããã¯ã3çš®é¡ãã¹ãŠã®ããŒã¿ãåéããã³åŠçããããã®ã¡ã«ããºã ãæäŸããŸããå©çšã§ãããªãã·ã§ã³ãéåžžã«å€ããããããã¯ç©äºãå°ãææ§ã«ãªããšããã§ããã¡ããªãã¯ãåéããã«ã¯ãPrometheusããã®ä»ã®ããŒã«ãããããã°ãåéããã«ã¯ãfluentdãLokiãVectorãªã©ã䜿çšã§ããŸãïŒããšãã°ãK8çšã®ãã°ããŠã¹ãåããClickHouse-çŽtranslãïŒãåæ£ãã¬ãŒã¹ã«ã¯JaegerããããŸãç åãµãŒãã¹ã¡ãã·ã¥ã¯ãäžéšã®ããŒã«ããµããŒãããä»ã®ããŒã«ããµããŒãããªãå ŽåããããŸããOpenTelemetryãããžã§ã¯ããããçšåºŠã®åæãæäŸã§ãããã©ããã確èªããã®ã¯èå³æ·±ãã§ãããã
ãã®å ŽåããµãŒãã¹ã¡ãã·ã¥ãã¯ãããžãŒã®å©ç¹ã¯ããµã€ãã«ãŒã³ã³ããããååãšããŠããµãŒãã¹ããäžèšã®ãã¹ãŠã®ããŒã¿ãåéã§ããããšã§ããã€ãŸããåäžã®ãã¬ã¡ããªåéã·ã¹ãã ãèªç±ã«äœ¿çšã§ãããµãŒãã¹ã¡ãã·ã¥ã¯ãã®ãã¹ãŠã®æ å ±ãããŸããŸãªæ¹æ³ã§åŠçã§ããŸããäŸãã°ïŒ
- CLIã®ç¹å®ã®ãµãŒãã¹ããã®tail 'ãã°ã
- ãµãŒãã¹ã¡ãã·ã¥ããã·ã¥ããŒãããã®ãªã¯ãšã¹ãã®éã远跡ããŸãã
- åæ£ãã¬ãŒã¹ãåéããJaegerãªã©ã®ã·ã¹ãã ã«ãªãã€ã¬ã¯ãããŸãã
泚æã䞻芳çãªå€æïŒäžè¬çã«ããã¬ã¡ããªãŒã¯ã匷åãªãµãŒãã¹ã¡ãã·ã¥å¹²æžãæãŸãããªãé åã§ããåºæ¬çãªæ å ±ãåéããæåçãåŸ ã¡æéãªã©ã®ããŽãŒã«ãã³ã¡ããªãã¯ãã®äžéšããã®å Žã§è¿œè·¡ããããšã¯åé¡ãããŸããããç¹æ®ãªã·ã¹ãã ã«åã£ãŠä»£ããããšãããã©ã³ã±ã³ã·ã¥ã¿ã€ã³ã¹ã¿ãã¯ãåºçŸããªãããšãæåŸ ããŸãããããã®äžéšã¯ããã§ã«åªããŠããããšã蚌æãããŠããŸããããå匷ããŸããã
15.ç£æ»
TL; DRïŒæŽå²ã®æèšãå¿ãã人ã ã¯ãããããç¹°ãè¿ãéåœã«ãããŸãã
ç£æ»ã¯ãã·ã¹ãã å ã®éèŠãªã€ãã³ããç£èŠããæè¡ã§ãããµãŒãã¹ã¡ãã·ã¥ã®å Žåãããã¯ãç¹å®ã®ãµãŒãã¹ã®ç¹å®ã®ãšã³ããã€ã³ãã«èª°ããªã¯ãšã¹ããè¡ã£ããããŸãã¯å æã»ãã¥ãªãã£ã€ãã³ããçºçããåæ°ã远跡ããããšãæå³ããå ŽåããããŸãã
ç£æ»ãé é枬å®ãšéåžžã«å¯æ¥ã«é¢é£ããŠããããšã¯æããã§ããéãã¯ããã¬ã¡ããªã¯éåžžãããã©ãŒãã³ã¹ãæè¡çãªæ£ç¢ºããªã©ã«é¢é£ããŠããã®ã«å¯Ÿããç£æ»ã¯å³å¯ã«æè¡çãªé åãè¶ ããæ³çåé¡ããã®ä»ã®åé¡ã«é¢é£ããŠããå¯èœæ§ãããããšã§ãïŒããšãã°ãGDPRã®èŠä»¶ãžã®æºæ -äžè¬çãªEUèŠå¶ããŒã¿ä¿è·çšïŒã
16.èŠèŠå
TL; DRïŒé·çãããReact.js-ãã¡ã³ã·ãŒãªã€ã³ã¿ãŒãã§ãŒã¹ã®ç¡å°œèµã®ãœãŒã¹ã
ãã£ãšè¯ãèšèããããããããŸããããç§ã«ã¯ããããŸãããã€ãŸãããµãŒãã¹ã¡ãã·ã¥ãŸãã¯ãã®ã³ã³ããŒãã³ãã®äžéšãã°ã©ãã£ã«ã«ã«è¡šçŸãããã®ã§ãããããã®èŠèŠåã«ã¯ãå¹³ååŸ ã¡æéããµã€ãã«ãŒæ§ææ å ±ããã«ã¹ãã§ãã¯çµæãã¢ã©ãŒããªã©ã®ã€ã³ãžã±ãŒã¿ãŒãå«ããããšãã§ããŸãã
ãµãŒãã¹æåã®ç°å¢ã§ã®äœæ¥ã¯ãã¢ããªã¹éäžãããã¯ããã«é«ãèªç¥çè² è·ã䌎ããŸãããããã£ãŠãèªç¥çå§åã¯ã©ããªç ç²ãæã£ãŠãæžããã¹ãã§ãããã¿ã³ãã¯ãªãã¯ããŠç®çã®çµæãåŸãæ©èœãåãããµãŒãã¹ã¡ãã·ã¥çšã®è§è³ªã®ã°ã©ãã£ã«ã«ã€ã³ã¿ãŒãã§ã€ã¹ã¯ããã®ãã¯ãããžãŒã®æé·ã«ãšã£ãŠéèŠãªå ŽåããããŸãã
ãªã¹ãã«å«ãŸããŠããŸãã
ç§ã¯åœåããªã¹ãã«ããã«ããã€ãã®ãŠãŒã¹ã±ãŒã¹ãå«ããã€ããã§ããããããããªãããšã«ããŸããããããã¯ãç§ã®æ±ºå®ã®çç±ãšãšãã«ã次ã®ãšããã§ãã
- ãã«ãããŒã¿ã»ã³ã¿ãŒãç§ã®æèŠã§ã¯ãããã¯ãµãŒãã¹ã°ãªããã®ã¢ããªã±ãŒã·ã§ã³ã®çããŠç¹å®ã®é åããµãŒãã¹æ€åºã®ãããªããã€ãã®æ©èœã®ã»ããã»ã©ã®ãŠãŒã¹ã±ãŒã¹ã§ã¯ãããŸããã
- å ¥å£ãšåºå£ãããã¯é¢é£ããé åã§ãããç§ã¯ïŒãããã人çºçã«ïŒæ±è¥¿ã®äº€éã·ããªãªã«éå®ããŸãããå ¥å£ãšåºå£ã¯å¥ã®èšäºã«å€ããŸãã
çµè«
ããã¯ä»ã®ãšãããã¹ãŠã§ãïŒç¹°ãè¿ããŸããããã®ãªã¹ãã¯éåžžã«æ«å®çã§ãããããããäžå®å šã§ããç§ãäœããèŠéããŠããããŸãã¯äœããééããŠãããšæãããå Žåã¯ãTwitterïŒ@lucperkinsïŒã§ç§ã«é£çµ¡ããŠãã ãããåäœã®ã«ãŒã«ãå®ã£ãŠãã ããã
翻蚳è ããã®PS
èšäºã®ã¿ã€ãã«ã€ã©ã¹ãã®åºç€ãšããŠãããµãŒãã¹ã¡ãã·ã¥ãšã¯äœã§ããïŒãããŠãã€äœ¿çšãããïŒããšããèšäºã®ç»åããïŒã°ã¬ãŽãªãŒã»ããããã³ã«ããïŒãããã¯ãã¢ããªã±ãŒã·ã§ã³ã®æ©èœã®äžéšïŒç·è²ïŒããµãŒãã¹ã¡ãã·ã¥ã«ã©ã®ããã«ç§»åãããã瀺ããŠããŸãããµãŒãã¹ã¡ãã·ã¥ã¯ãã¢ããªã±ãŒã·ã§ã³éã®é¢ä¿ïŒéè²ïŒãæäŸããŸãã
ç§ãã¡ã®ããã°ãèªãã§ãã ããïŒ
- "ãµãŒãã¹ã¡ãã·ã¥ïŒãã¹ãŠã®ãœãããŠã§ã¢ãšã³ãžãã¢ãæãHYIPãã¯ãããžãŒã«ã€ããŠç¥ã£ãŠããã¹ãããš";
- ããµãŒãã¹ã¡ãã·ã¥ãšã¯äœã§ããããªã[ã¯ã©ãŠãããŒã¹ã®ãã€ã¯ããµãŒãã¹ã¢ããªã±ãŒã·ã§ã³ã®å Žå]å¿ èŠãªã®ã§ããïŒ";
- ãIstioã®ãã€ã¯ããµãŒãã¹ã«æ»ããŸããããŒã1 "ã