Kubernetesã®äžé£ã®ãµã¯ã»ã¹ã¹ããŒãªãŒã¯ãè±åœã®ã¹ã¿ãŒãã¢ãããã³ã¯Monzoã®ã¹ããŒãªãŒã«ç¶ããŸãã ãã®è¥ãäŒç€Ÿã¯ããã£ã¬ã³ãžã£ãŒãã³ã¯ãã«åé¡ãããŠããŸãïŒã¯ããããã¯ãã§ã«Oxford Dictionaryã®çšèªã§ã ïŒ ã 倧èŠæš¡ã§èèã®éèæ¥çã«ææŠãããããªå°ããªéè¡ã ããã¯ãææ°ã®æ å ±æè¡ããã®åºç€ãã®ãã®ã§ç©æ¥µçãã€åºç¯å²ã«äœ¿çšããããšã«ããå¯èœã«ãªããŸãã åŸæ¥ã®åœ¢åŒã§ã®æäœãæåŠããŠãé»åçãªã«ãŠã³ã¿ãŒããŒããæ¯æããå®æ§çã«ã³ã¹ããåæžã§ããããã«ããŸãïŒãã®ã¢ãããŒãã®éè¡ã¯ãããžã¿ã«ã®ã¿ããšãåŒã°ããŸãïŒ ã ããã2幎åã«äœæãããMonzoã®äŸã¯ãKubernetesãã©ãããã©ãŒã ãGoèšèªãããã³DevOpsãšã³ãžãã¢ã«éŠŽæã¿ã®ããä»ã®ææ°ã®ãªãŒãã³ãœãŒã¹è£œåãæ¯æŽãã倧ããªç®æšãéæããã®ã«åœ¹ç«ã€ãšããç¹ã§èå³æ·±ããã®ã§ãã
Monzoãšã¯äœã§ããïŒ
å ã ã¢ã³ããšããŠç¥ãããŠããã¢ã³ãŸç€Ÿã¯ã2015幎ã«å¥ã®ææŠè éè¡ããã®ç§»æ°ããŒã -1幎åã«äœæãããã¹ã¿ãŒãªã³ã°éè¡ã«ãã£ãŠèšç«ãããŸãã-åœææåããèµ·æ¥å®¶ãã ã»ããã³ãã£ãŒã«ãã¯åœæ29æ³ã§ããã MonzoããïŒäŒçµ±çãªïŒéè¡ãå«ããªäººã®ããã®éè¡ããšäœçœ®ä»ã ãåµæ¥è ãã¡ã¯ããã«èŽè¡ãèŠã€ããããšãã§ããŸããã
å幎8æãMonzo ã¯éè¡ãšããŠã®å ¬åŒæŽ»åã®æåã®ïŒå¶éä»ãïŒã©ã€ã»ã³ã¹ãååŸãã2017幎4æã«å¶éã解é€ãããMonzoã¯ãå®å šã«èªå¯ãããéè¡ããšãªãããŠãŒã¶ãŒã«æ±ºæžå£åº§ãæäŸã§ããããã«ãªããŸããã æåã®çã«ã¢ã¯ãã£ããªæŠå¹ŽïŒ2016幎ïŒã«ãMonzo 㯠83,700æã®ã«ãŒããæå¹ã«ããã¹ã¿ããã16ãã71ã«å¢ãããŸããã
ãšã³ããŠãŒã¶ãŒåãã®å瀟ã®ãµãŒãã¹ã¯ãiOSããã³Androidã®ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ãšããŠå©çšå¯èœãªé»åéè¡ã§ãããMonzoéè¡ã«ãŒãã䜿çšããŠè¡ããããã¹ãŠã®æ¯æãã«é¢ããããã·ã¥éç¥ããªã¢ã«ã¿ã€ã ã§åä¿¡ããŸãã ãŸããæ¯æããè¡ãããå Žæã瀺ããã©ã³ã¶ã¯ã·ã§ã³å±¥æŽãšããââéãåãåãäŒç€Ÿã®çš®é¡ã«å¿ããã«ããŽãªã®èªåå²ãåœãŠãä¿åããŸãïŒãã®ããŒã¿ã¯ãã¯ã©ãŠããœãŒã·ã³ã°ã«ããææ¡ã¢ãããŒãã«åŸã£ãŠãŠãŒã¶ãŒèªèº«ã«ãã£ãŠæ¹åãããŸãïŒã ïŒã¢ããªã±ãŒã·ã§ã³ããã³éè¡æ©èœã®ãã詳现ãªèª¬æã¯ããã®è³æã®ç¯å²å€ã§ããïŒ
2016幎8æãIDCã¢ããªã¹ãã¯ãMonzoããïŒåŸæ¥ã®ïŒéè¡ãæäŸãããã¹ãŠã®ä¿èšŒãæäŸããåœå ã®å€§èŠæš¡ãªå€åœç±éè¡ãšå¹æçã«ç«¶äºã§ããããšããèªä¿¡ãè¡šæããã¬ããŒããå ¬ââéããŸããã
ã€ã³ãã©ã¹ãã©ã¯ãã£ãšãœãªã¥ãŒã·ã§ã³
Monzoã®ãœãããŠã§ã¢ã¢ãŒããã¯ãã£ãšãããæäŸããã€ã³ãã©ã¹ãã©ã¯ãã£ã«é¢ããæåã®ããªã詳现ãªæ å ±ã¯ãå瀟ã®ãšã³ãžãã¢ãçããOliver Beattieã®ã¬ããŒãã ãã®æç¹ã§10人ãããã¯ãšã³ããšã³ãžãã¢ãªã³ã°ããŒã ã§åããŠãã ãã®ãããã§æããã«ãªããŸããã ãã®ããã©ãŒãã³ã¹ã¯Kubernetes London MeetupïŒ16幎10æïŒã§è¡ããããã®åŸKubeCon 2016ïŒ16幎11æïŒã§è¡ãããŸããã
éè¡ã®äž»èŠãªã¢ããªã±ãŒã·ã§ã³ã®äž»ãªèŠå ã®1ã€ãšããŠæ¡åŒµæ§ãèæ ®ããŠãå瀟ã®ãšã³ãžãã¢ã¯ããã«ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ãéžæããŸãããããã¯ããä»ã ãã§ãªã10幎åŸã«ãå€æŽã§ããªã1ã€ã®å€§ããªãè¥å€§åãã¢ããªã±ãŒã·ã§ã³ãååŸããããªããšããäºå®ã«ãã£ãŠèª¬æãããŠããŸãããããŠãããã¯ãŸãã«ãMonzoã§åŒã°ããŠãããã¬ã¬ã·ãŒãã³ã¯ãã§èµ·ããããšã§ãã
ãå€ãã®å€§èŠæš¡éè¡ã®ITã·ã¹ãã ã¯ãå€æŽãè¡ãã®ãé«ããããšããæå³ã§æ¡å€§ããŠããŸããã ããšãã°ããã¿ã³ãæŒãããšã§ã¢ããªã±ãŒã·ã§ã³ã®ã«ãŒããããªãŒãºããæ©èœãèããŠã¿ãŸãããã RBSã®å人ïŒã¹ã³ããã©ã³ãã®ãã€ã€ã«ãã³ã¯ãè±åœã®4倧éè¡ã®1ã€-çŽTranslïŒããã®æ©äŒãäœåºŠãæ€èšããŠãããã20ã®ITã·ã¹ãã ã«ã¯å€æŽãå¿ èŠã§ããããããã®äžéšã®å€æŽã¯äœå¹ŽãåçµãããŠããŸãã æçµçã«ããã®ã¢ã€ãã¢ã¯é«ãããããç Žæ£ãããŸãããã
-Jonas Huckestein ã Monzoã®å ±åèšç«è å ŒCTO
Oliverã®ã¹ããŒãã®æç¹ã§ãå瀟ã«ã¯çŽ150ã®ãã€ã¯ããµãŒãã¹ãçç£ãããŠããŸããïŒã³ã³ããã«ã¯Dockerã䜿çšãããŠããŸããïŒã ãã®éçšã§ééããåé¡ã®1ã€ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã§ããã ãã€ã¯ããµãŒãã¹ãã»ãšãã©ãªãå Žåãåãã·ã³ã§ãããããã¹ãŠè€è£œããã ãã§ååã§ããããæéã®çµéãšãšãã«ïŒãã€ã¯ããµãŒãã¹ã®æ°ãå¢å ããã«ã€ããŠïŒãã®ã¢ãããŒãã¯æ©èœããªããªããŸããã ãã®åŸããšã³ãžãã¢ã¯ãã€ã¯ããã¹ããç¹å®ã®ã°ã«ãŒãïŒ ã¢ã㪠ã ã³ã¢ãªã©ïŒã«åå²ããŠå¥ã®ãã¹ãã«é åžãå§ããŸãããããã®ãªãã·ã§ã³ãæå¹ã«ãªããŸããã§ããïŒ ã¢ããªã®èšç®èœåãäžè¶³ãã ã³ã¢ã®ãããã·ã³ãã¢ã€ãã«ç¶æ ã«ãªã£ãããšãèµ·ãããŸããã ãã®æ®µéã§ãMonzoã®ãšã³ãžãã¢ã¯Kubernetesãæãã€ããŸãããKubernetesã䜿çšãããšãã¢ããªã±ãŒã·ã§ã³ãéå§ããå¿ èŠã«å¿ããŠç°¡åã«ã¹ã±ãŒãªã³ã°ã§ãããå ±éã®ãªãœãŒã¹ããŒã«ãæã€ããšãã§ããŸããã ãã®å€æŽãITã€ã³ãã©ã¹ãã©ã¯ãã£ã®ã³ã¹ãã«ã©ã®ããã«åœ±é¿ãããã¯ãããã»ã©èå³æ·±ããã®ã§ã¯ãããŸããã§ããã
ãã®ã°ã©ãã®èµ€ã§ã以åã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã®ã³ã¹ããããŒã¯ããã管ç察象ã®Kubernetesã®çœã§ããŒã¯ãããŠããŸãã ïŒAWSã¯ã©ãŠãã¯ãMonzoã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã¢ã€ãã³ãšããŠäœ¿çšãããŸããïŒ
次ã®åé¡ã¯ãçžäºæ¥ç¶ãããå€ãã®ãã€ã¯ããµãŒãã¹ã§æ§æãããè€éãªã·ã¹ãã ã®æè»æ§ã§ãã æåã¯ãRabbitMQã«åºã¥ããã¥ãŒã䜿çšããããšã§éšåçã«è§£æ±ºãããŸãããããã®ã¢ãããŒãã¯Kubernetesåãã§ã¯ãªããããã«ç€ºãããŠããèŠä»¶ã®æ°ã¯å€§å¹ ã«å¢å ããŸããã
ãããã®èŠä»¶ã®äžè¬çãªæ¬è³ªã¯ããŠãŒã¶ãŒã¯ãšãªãžã®å¿çã®é 延ãæå°éã«æããçããåºãæ©äŒãæ倧éã«æåãããããã«åæžãããŸããã ãããã®ç®æšãéæããããã«ã linkerd ïŒãã®ãããžã§ã¯ãããã³ããã§èšè¿° ãããœãããŠã§ã¢ã¯ã©ã¹ãšããŠã®ãµãŒãã¹ã¡ãã·ã¥ã«ã€ããŠïŒããã³FinagleãéžæããŸãã ã
ãã€ã¯ããµãŒãã¹ãèµ·åãããåãã¹ãã«ã¯ãããŒã«ã«ãªã³ã«ãŒã€ã³ã¹ã¿ã³ã¹ãã€ã³ã¹ããŒã«ãããããŒã«ã«ãã€ã¯ããµãŒãã¹ããªã¯ãšã¹ãã§ã¢ã¯ã»ã¹ãã圌ã¯ãã§ã«ãã®ãªã¯ãšã¹ãã®éä¿¡å ã決å®ããããã«ãªã³ã«ãŒã®æ®ãã«é£çµ¡ããŸããã
GETãªã¯ãšã¹ããUnicorn HTTPãµãŒããŒã«è¡šç€ºãããå Žåã®ãªã³ã«ãŒã®äœ¿çšã®å³
ã€ã³ãã©ã¹ãã©ã¯ãã£ã®ããŸããŸãªãŸãŒã³ã®ãããã¯ãŒã¯åé¢ã確ä¿ããããã«ãMonzoã¯Calicoããã³Kubernetesãããã¯ãŒã¯ããªã·ãŒãæ¡çšããŠããŸãã ããšãã°ããã¹ãŒããŒã»ãã¥ã¢ããŸãŒã³ã䜿çšããŠãéè¡ã«ãŒãã®å šæ°ãä¿åã§ããŸãïŒãã®æ å ±ããçŽç²ãªåœ¢åŒã§ãéä¿¡ããããšã¯ãã»ãšãã©ã®ãµãŒãã¹ã§ã¯å¿ èŠãªããããä»ã®ãŸãŒã³ã«ååšã§ããŸãïŒã
2017幎3æã«éå¬ãããæ¢ã«ãšãŒãããã§éå¬ãããŠãã次ã®KubeConäŒè°ã§ã¯ãMonzoã®åãOliverãåã³äŒç€Ÿã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã§ã®Kubernetesã®äœ¿çšã«ã€ããŠçã話ããããã®æç¹ã§çç£äžã®ãã€ã¯ããµãŒãã¹ã®æ°ã200ã«å¢ãããšè¿°ã¹ãŸããã ãããŠããããã®ã»ãšãã©ãã¹ãŠãã¹ããŒãã¬ã¹ã«ããŽãªã«å±ããŠããŸãããã¹ããŒããã«ããã¯ãApache Kafkaã®ã¿ãèšåãããŸããã ãMonzoã§ã®ãªã¢ã«ãããŒã®åŠçãšKubernetes and Linkerdããšããã¿ã€ãã«ã®åœŒã®ãã¬ãŒã³ããŒã·ã§ã³ã¯ãBuoyantïŒOliver GouldïŒã®ååã«ãã£ãŠç¶ããããŸããããã®ã¬ããŒãã®äžéšã¯ãMonzoãšã®ç¹ç°æ§ã§ã¯ãªããlinkerdãšã®äžè¬çãªç¥ãåãã«çŠç¹ãåãããŠããŸããã
ãŸããMonzoã€ã³ãã©ã¹ãã©ã¯ãã£ã«é¢ããææ°ã®äºå®ã¯ãã¬ããŒãã CoreOSã§ã€ã³ãã©ã¹ãã©ã¯ãã£ãä¿è·ãã ãïŒ5æ31æ¥ãCoreOS Fest 2017ïŒã§ç¢ºèªãããŸããã
- Monzoã®ãã€ã¯ããµãŒãã¹ã®æ°ã¯230ã«å¢ããŸããã
- Apache Cassandra DBMSã¯ããã¹ãŠã®ããŒã¿ãä¿åããããã«äœ¿çšãããŸãã
- VaultïŒCassandraããã¯ãšã³ãã䜿çšïŒã¯ã·ãŒã¯ã¬ããã®ä¿åã«äœ¿çšãããŸããããã¹ãŠã®ããŒã¿ããŸã 転éãããŠããããã§ã¯ãããŸããã
- æ¯æãã·ã¹ãã ãšéä¿¡ããããïŒãŸãã¯ãAWSãšãããã®ã·ã¹ãã ãšçŽæ¥éä¿¡ããã³ãã±ãŒã·ã§ã³ãšã®éïŒã«éä¿¡ããããã«ããã³ã³ããã€ã³ãã©ã¹ãã©ã¯ãã£ã«æé©ããªWireGuardããŒã¹ã®VPNã䜿çšãããŸãã
10æ27æ¥ã®å€§äºä»¶
ãã®ãµã¯ã»ã¹ã¹ããŒãªãŒã®è»èã®ããšã¯ãå æã®çµããã«çºçããã€ãã³ãã«ãã£ãŠè¿œå ãããŸãã èŠããã«ãKunernetesã®æ¢ç¥ã®ãã°ãšç¶æ³ã®çµã¿åããã«ãããMonzoã§ã®çç£ã¯çŽ80åéæ£ããåäœããŸããã§ããã
æ¬æã¯ãMonzoã³ãã¥ããã£ãã©ãŒã©ã ã§ãåããªãªããŒãKubernetesã«ã€ããŠæåã«èãã人ã§ãã説æã§äœãèµ·ãã£ããã«ã€ããŠéåžžã«è©³çŽ°ãªäºåŸåæãæçš¿ãããšããäºå®ã§ãã åé¡ã®æ¬è³ªã¯ãã€ã³ã·ãã³ãã®2é±éåã«ãMonzoã®ãšã³ãžãã¢ãetcdã¯ã©ã¹ã¿ãŒã«å€æŽãå ããããŒãæ°ã3ãã9ã«å¢ãããåæã«etcdããŒãžã§ã³ãæŽæ°ãããã®æäœæ§ã確èªããããšã§ãã...ããããæŽæ°ããããµãŒãã¹ã®æ¬¡ã®ããŒã«ã¢ãŠãã§å¥åŠãªããšãèµ·ãããŸããæ£åžžãªããŒãžã§ã³ã«ããŒã«ããã¯ããŠã解決ãããªãã£ãã·ã¹ãã ã®åé¡ã
ã€ã³ãã©ã¹ãã©ã¯ãã£ã®æäœã«ãããç¹å®ã®ã€ãã³ãã·ãŒã±ã³ã¹ã«å ããŠãKubernetesã®ãã°ïŒ 47131ïŒç¹å®ã®ããŒãžã§ã³ã®etcdïŒãŸã éããããŠããªãïŒã§çŸããïŒãlinkerdã®ãã°ïŒ1219 ïŒlinkerd 1.0ã®ãªãªãŒã¹ã§4æã«éããããïŒããã®äºä»¶ã§åœ¹å²ãæãããŸããã ã äŒç€Ÿã®ãšã³ãžãã¢ã®éçšäœæ¥ãšãäºæ ãçºçããå Žåã®æ¢åã®ããã»ã¹/ã¡ã«ããºã ã¯åé¡ãæå°éã«æããŸãããã20åéã®å®å šãªåçŽãªéè¡ãã©ãããã©ãŒã ïŒããã³1æé以äžã®é倧ãªåé¡ïŒã¯ããã¡ããããã®ãããªãè¥è ãã®ã¹ã¿ãŒãã¢ããã«ãšã£ãŠã容èªã§ããªãééãã§ãã ãããããã®ãšã³ãžãã¢ãªã³ã°ãã¹ãã«å¯Ÿããã³ãã¥ããã£ã®åå¿ã¯ãMonzoã®ãªãŒãã£ãšã³ã¹ã®ããžãã£ããªã ãŒãã«ããããé©ããŸãããMonzoã®ãªãŒãã£ãšã³ã¹ã¯ãèµ·ãã£ãåŸã®äŒç€Ÿã®ãªãŒãã³ããšèª å®ããæè¿ããŸããã
ç¬èªã®éçº
GitHubã® Monzoã¢ã«ãŠã³ãã§æ°åã®ãªããžããªãèŠã€ããããšãã§ããŸãããã®ãã¡ã®ããã€ãã¯Goã®ç¬èªéçºã§ãã ç¹ã«ïŒ
- typhon-ãã€ã¯ããµãŒãã¹éã®çžäºäœçšã®ããã®RPCãã¬ãŒã ã¯ãŒã¯ã
- slog-ïŒåã€ãã³ãã®ã³ã³ããã¹ããšä»»æã®ããŒãšå€ã®ãã¢ãèæ ®ããŠïŒæ§é åããã圢åŒã§ãã°ãåä¿¡ããããããseelogã«éä¿¡ããããã®ã©ã€ãã©ãªã
- phosphor -Googleã®DapperãTwitterã®Zipkinã«äŒŒãåæ£ãã¬ãŒã¹ã·ã¹ãã ã
- terrors-Golangãšã©ãŒãè¿œå æ å ±ã§ã©ããããããã®ããã±ãŒãžã
Monzoã§ã®Goã®éçºæ¹æ³ã®è©³çŽ°ã«ã€ããŠã¯ãä»å¹Ž3æã«Monzo Distributed Systems EngineerïŒMatt HeathïŒãçºè¡šããã¬ããŒãã Go with bank with Go ããåç §ããŠãã ããã
èŠçŽãã
10æ30æ¥ã®æç¹ã§ãMonzoãŠãŒã¶ãŒã®æ°ã¯ 469å人ã§ããã11æã«çµäºããæåŸã®æè³ã«ããã71çŸäžãã³ããäŒç€Ÿã«ããããããŸãã ãããã¯ããããžã§ã¯ãã®å€§ããªå±æã瀺ããŠããŸãã
äžè¬ã«ãMonzoãšKubernetesã¯å幎代ã ãã§ãªãã圌ããäžçã«ãããã䟡å€ã«ãã£ãŠãçµ±äžãããŠãããä»æ¥å€ãã®äººã倢èŠããã®ãæ¥çã®è«ççãªçºå±ãå¯èœã«ããŸãã ãã¡ããã10æã®äºä»¶ã¯ã©ã®éè¡ã®è©å€ã«ã圱é¿ãäžããŸãããããã®åŸã®åå¿ããããã®å Žåãèªä¿¡ã®åŽ©å£ã«ã€ãªãããããããã«éåžžã«æèœã®ãããšã³ãžãã¢ã®ããŒã ã«æ°ããæçšãªçµéšããããããšçµè«ä»ããããšãã§ããŸãã
ãµã€ã¯ã«ããã®ä»ã®èšäº
- ã Kubernetesã®çç£ã«ãããæåäºäŸã ããŒã1ïŒ eBayã®4,200ã®å²çè£ãšTessMaster ã
- ã Kubernetesã®çç£ã«ãããæåäºäŸã ããŒã2ïŒ ConcurãšSAP ãã
- ã Kubernetesã®çç£ã«ãããæåäºäŸã ããŒã3ïŒ GitHub ãã
- ã Kubernetesã®çç£ã«ãããæåäºäŸã ããŒã4ïŒ SoundCloudïŒèè ããã¡ããŠã¹ïŒ ãã
- ã Kubernetesã®çç£ã«ãããæåäºäŸã ããŒã6ïŒ BlaBlaCar ãã
- ã Kubernetesã®çç£ã«ãããæåäºäŸã ããŒã7ïŒ BlackRock ãã
- ã Kubernetesã®çç£ã«ãããæåäºäŸã ããŒã8ïŒ Huawei ãã
- ã Kubernetesã®çç£ã«ãããæåäºäŸã ããŒã9ïŒ CERNããã³210 K8sã¯ã©ã¹ã¿ãŒã
- ã Kubernetesã®çç£ã«ãããæåäºäŸã ããŒã10ïŒ Reddit ãã