5æ19æ¥ïŒEDTïŒã®æ©æãquay.ioãã¯ã©ãã·ã¥ããŸããããã®çœå®³ã¯ãquay.ioããœãããŠã§ã¢ã®æ§ç¯ãšé åžã®ãã©ãããã©ãŒã ãšããŠäœ¿çšããquay.ioã®æ¶è²»è ãšãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã®äž¡æ¹ã«åœ±é¿ãåãŒããŸãããã¬ãããããã¯äž¡æ¹ã®ä¿¡é Œã倧åã«ããŠããŸãã
SREãšã³ãžãã¢ã®ããŒã ã¯ããã«åå ããã§ããã ãæ©ãQuayãµãŒãã¹ãå®å®ãããããšããŸããããã ãããããè¡ã£ãŠããéãã¯ã©ã€ã¢ã³ãã¯æ°ããã€ã¡ãŒãžãããã·ã¥ã§ããªããªããæ¢åã®ã€ã¡ãŒãžããã«ã§ããã®ã¯ããŸã«ãããããŸããã§ããããªãããã®çç±ã§ããµãŒãã¹ãæå€§å®¹éã«ã¹ã±ãŒã«ã¢ãããããåŸãquay.ioããŒã¿ããŒã¹ãããã¯ãããŸããã
ãäœãå€ãã£ãã®ïŒã-ããã¯ããã®ãããªå Žåã«éåžžå°ããããæåã®è³ªåã§ããåé¡ãçºçããå°ãåã«ãOpenShift Dedicatedã¯ã©ã¹ã¿ãŒïŒquay.ioãå®è¡ãããŠããïŒãããŒãžã§ã³4.3.19ãžã®æŽæ°ãéå§ããããšã«æ°ä»ããŸãããquay.ioã¯RedHat OpenShift DedicatedïŒOSDïŒãå©çšããŠããããã宿çãªæŽæ°ã¯äžè¬çã§ãããåââé¡ãåŒãèµ·ããããšã¯ãããŸããã§ãããããã«ãéå»6ãæéã«ããµãŒãã¹ãäžæããããšãªããQuayã¯ã©ã¹ã¿ãŒãæ°åã¢ããã°ã¬ãŒãããŸããã
ãµãŒãã¹ã埩å ããããšããŠãããšãã«ãä»ã®ãšã³ãžãã¢ããå¿ èŠã«å¿ããŠãã¹ãŠããããã€ããããã«ã以åã®ããŒãžã§ã³ã®ãœãããŠã§ã¢ã䜿çšããŠæ°ããOSDã¯ã©ã¹ã¿ãŒãæºåãå§ããŸããã
æ ¹æ¬åå åæ
ã¯ã©ãã·ã¥ã®äž»ãªçç¶ã¯ãMySQLã€ã³ã¹ã¿ã³ã¹ãäºå®äžäœ¿çšã§ããªããããäœäžãã®ããŒã¿ããŒã¹æ¥ç¶ã®ãªã ãã§ãããããã«ãããåé¡ã®èšºæãå°é£ã«ãªããŸããã SREããŒã ãåé¡ãè©äŸ¡ã§ããããã«ã顧客ããã®æ¥ç¶ã®æå€§æ°ã«å¶éãèšå®ããŸãããããŒã¿ããŒã¹ãžã®ç°åžžãªãã©ãã£ãã¯ã¯ç¢ºèªãããŸããã§ãããå®éãã»ãšãã©ã®ãªã¯ãšã¹ãã¯èªã¿åãçšã§ãããæžã蟌ã¿çšã®ãªã¯ãšã¹ãã¯ãããããã§ããã
ãŸãããã®éªåŽ©ãåŒãèµ·ããå¯èœæ§ã®ããããŒã¿ããŒã¹ãã©ãã£ãã¯ã®ãã¿ãŒã³ãç¹å®ããããšããŸããããã ãããã°ã«ãã¿ãŒã³ãèŠã€ããããšã¯ã§ããŸããã§ããã OSD 4.3.18ã®æ°ããã¯ã©ã¹ã¿ãŒã®æºåãæŽãã®ãåŸ ã£ãŠããéãquay.ioãããã®èµ·åã詊ã¿ç¶ããŸãããã¯ã©ã¹ã¿ãŒããã«ãã£ãã·ãã£ãŒã«ãªããã³ã«ãããŒã¿ããŒã¹ãããªãŒãºããŠããŸãããããã¯ããã¹ãŠã®quay.ioãããã«å ããŠRDSã€ã³ã¹ã¿ã³ã¹ãåèµ·åããå¿ èŠãããããšãæå³ããŸããã
倿¹ãŸã§ã«ããµãŒãã¹ãèªã¿åãå°çšã¢ãŒãã§å®å®ãããããŒã¿ããŒã¹ã®è² è·ã軜æžããããã«ãå¿ é ã§ã¯ãªãæ©èœïŒããšãã°ãåååã®ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ïŒã®æå€§æ°ãç¡å¹ã«ããŸãããããªãŒãºã¯æ¢ãŸããŸããããçç±ã¯èŠã€ãããŸããã§ãããæ°ããOSDã¯ã©ã¹ã¿ãŒã®æºåãæŽãããµãŒãã¹ãç§»è¡ãããã©ãã£ãã¯ãæ¥ç¶ããç£èŠãç¶ç¶ããŸããã
Quay.ioã¯æ°ããOSDã¯ã©ã¹ã¿ãŒã§å®å®ããŠå®è¡ããããããããŒã¿ããŒã¹ãã°ã«æ»ããŸããããããã¯ã説æããçžé¢é¢ä¿ãèŠã€ãããŸããã§ãããOpenShiftã®ãšã³ãžãã¢ã¯ãRed Hat OpenShift4.3.19ã§ã®å€æŽãQuayã®åé¡ãåŒãèµ·ãããå¯èœæ§ããããã©ããã確èªããããã«ç§ãã¡ãšååããŸãããããããäœãèŠã€ããããå®éšå®€ã§åé¡ãåçŸããããšã¯ã§ããŸããã§ããã
2çªç®ã®å€±æ
5æ28æ¥ãæ£åEDTã®çŽåã«ãquay.ioãåãçç¶ã§åã³ã¯ã©ãã·ã¥ããŸãããããŒã¿ããŒã¹ããããã¯ãããŸãããããäžåºŠãç§ãã¡ã¯ãã¹ãŠã®åã調æ»ã«æå ¥ããŸããããŸãããµãŒãã¹ã埩æ§ããå¿ èŠããããŸããããã ããä»åã¯RDSãåèµ·åããŠquay.ioããããåèµ·åããŠããäœãçºçããŸããã§ãããæ¥ç¶ã®å¥ã®ãªã ããããŒã¹ãäžæããŸããããããããªãïŒ
Quayã¯Pythonã§èšè¿°ãããŠãããåãããã¯åäžã®ã¢ããªã·ãã¯ã³ã³ãããšããŠåäœããŸããå€ãã®äžŠåã¿ã¹ã¯ã¯ãã³ã³ãããŒã©ã³ã¿ã€ã ã§åæã«å®è¡ãããŸãã
geventäžã®ã©ã€ãã©ãªã䜿çšããŠããŸãgunicornWebãªã¯ãšã¹ããåŠçããŸãããªã¯ãšã¹ããQuayã«å°çãããšïŒç¬èªã®APIãŸãã¯Docker APIãä»ããŠïŒãgeventã¯ãŒã«ãŒãå²ãåœãŠãããŸããéåžžããã®ã¯ãŒã«ãŒã¯ããŒã¿ããŒã¹ãšéä¿¡ããå¿
èŠããããŸããæåã®å€±æã®åŸãgeventã¯ãŒã«ãŒãããã©ã«ãèšå®ã䜿çšããŠããŒã¿ããŒã¹ã«æ¥ç¶ããŠããããšãããããŸããã
倿°ã®Quayããããš1ç§ãããæ°åã®çä¿¡èŠæ±ãèãããšãçè«çã«ã¯ã倿°ã®ããŒã¿ããŒã¹æ¥ç¶ãMySQLã€ã³ã¹ã¿ã³ã¹ã«éè² è·ããããå¯èœæ§ããããŸããç£èŠã®ãããã§ãQuayã¯1ç§ãããå¹³å5000ä»¶ã®ãªã¯ãšã¹ããåŠçããããšãããã£ãŠããŸãããããŒã¿ããŒã¹ãžã®æ¥ç¶æ°ã¯ã»ãŒåãã§ãããããŒãžã³ã®ãã5000ã®æ¥ç¶ã¯ãRDSã€ã³ã¹ã¿ã³ã¹ã®æ©èœã«é©åããŸãïŒããã¯çŽæ°äžãšã¯èšããŸããïŒãäœããã®çç±ã§ãæ¥ç¶æ°ã«äºæããªãã¹ãã€ã¯ãçºçããŸããããçä¿¡èŠæ±ãšã®çžé¢é¢ä¿ã¯èŠãããŸããã§ããã
ä»åã¯ãåèµ·åããã ãã§ãªããåé¡ã®åå ãèŠã€ããŠä¿®æ£ããããšã«ããŸãããågeventã¯ãŒã«ãŒã®ããŒã¿ããŒã¹æ¥ç¶ã®æ°ãå¶éããããã«ã Quayã³ãŒãããŒã¹ã«å€æŽãå ããããŸããããã®æ°ã¯æ§æã®ãã©ã¡ãŒã¿ãŒã«ãªããŸãããæ°ããã³ã³ãããŒã€ã¡ãŒãžãäœæããã«ããªã³ã¶ãã©ã€ãã§å€æŽã§ããããã«ãªããŸãããå®éã«åŠçããæ¥ç¶ã®æ°ã確èªããããã«ãããŸããŸãªå€ã䜿çšããŠããã€ãã®ã¹ããŒãžã³ã°ãã¹ããå®è¡ãããããè² è·ãã¹ãã·ããªãªã«ã©ã®ããã«åœ±é¿ãããã確èªããŸããããã®çµæãæ¥ç¶æ°ã10Kãè¶ ãããšãQuayã¯502ãšã©ãŒãã¹ããŒãå§ããŸãã
ããã«ãã®æ°ããããŒãžã§ã³ãæ¬çªç°å¢ã«ãããã€ããããŒã¿ããŒã¹æ¥ç¶ã¹ã±ãžã¥ãŒã«ã®ç£èŠãéå§ããŸãããéå»ã«ã¯ãåºå°ã¯çŽ20ååŸã«ãããã¯ãããŸããããã©ãã«ã®ãªã30ååŸãç§ãã¡ã¯åžæãæã¡ã1æéåŸã«ã¯èªä¿¡ãæã£ãŠããŸããããµã€ãã®æçš¿ãžã®ãã©ãã£ãã¯ã埩å ããäºåŸåæãéå§ããŸããã
ããããã³ã°ã«ã€ãªããåé¡ãåé¿ããããšãã§ããŸãããããã®çã®åå ã¯ããããŸããã§ããã以åã¯Quayã§åé¡ãªãåäœããŠããããŒãžã§ã³4.3.18ã§ãåãããšãèµ·ãã£ããããOpenShift4.3.19ã®å€æŽãšã¯é¢ä¿ããªãããšã確èªãããŸããã
ã¯ã©ã¹ã¿ãŒã«ã¯æããã«äœãä»ã®ãã®ãæœãã§ããã
詳现ãªèª¿æ»
Quay.ioã¯ãããã©ã«ãèšå®ã䜿çšããŠ6幎éãåé¡ãªãããŒã¿ããŒã¹ã«æ¥ç¶ããŠããŸããäœãå€ãã£ãã®ïŒ quay.ioãžã®ãã©ãã£ãã¯ãåžžã«çå®ã«å¢å ããŠããããšã¯æããã§ããç§ãã¡ã®å Žåããã¹ãŠãç¹å®ã®ãããå€ã«éããããã«èŠãããããæ¥ç¶ã®ãªã ãã®ããªã¬ãŒãšããŠæ©èœããŸããã 2åç®ã®ã¯ã©ãã·ã¥åŸãããŒã¿ããŒã¹ãã°ã®èª¿æ»ãç¶ããŸãããããã¿ãŒã³ãæãããªé¢ä¿ã¯èŠã€ãããŸããã§ããã
ãã®éãSREããŒã ã¯ãQuayã®ã¯ãšãªã®å¯èŠ³æž¬æ§ãšå šäœçãªãµãŒãã¹ã®ç¶æ ã®æ¹åã«åãçµãã§ããŸããQuayã®ã©ã®éšåã顧客ããæãéèŠããããã瀺ããæ°ããã¡ããªãã¯ãšããã·ã¥ããŒããå±éãããŸããã
Quay.ioã¯6æ9æ¥ãŸã§æ£åžžã«æ©èœããŸãããååäžïŒEDTçµç±ïŒã«ãããŒã¿ããŒã¹æ¥ç¶ã®æ°ãå€§å¹ ã«å¢å ããã®ãåã³ç®æããŸãããä»åã¯ãæ°ãããã©ã¡ãŒã¿ãŒã«ãã£ãŠæ°ãå¶éãããMySQL垯åå¹ ãè¶ ããããšãã§ããªãã£ããããããŠã³ã¿ã€ã ã¯çºçããŸããã§ãããããããçŽ30åã®éãå€ãã®ãŠãŒã¶ãŒã¯quay.ioãé ãããšã«æ°ã¥ããŸããã远å ãããç£èŠããŒã«ã䜿çšããŠãèãããããã¹ãŠã®ããŒã¿ããã°ããåéããŸããããã¿ãŒã³ãçªç¶çŸããŸããã
æ¥ç¶ãæ¥å¢ããçŽåã«ã倿°ã®ãªã¯ãšã¹ããApp RegistryAPIã«éä¿¡ãããŸãã..ã App Registryã¯ãquay.ioã®ããŸãç¥ãããŠããªãæ©èœã§ãããã«ã ãã£ãŒããã¡ã¿ããŒã¿ãè±å¯ãªã³ã³ãããªã©ãä¿åã§ããŸããã»ãšãã©ã®quay.ioãŠãŒã¶ãŒã¯ãã®æ©èœã䜿çšããŠããŸããããRed HatOpenShiftã¯ç©æ¥µçã«äœ¿çšããŠããŸãã OpenShiftå ã®OperatorHubã¯ããã¹ãŠã®ãªãã¬ãŒã¿ãŒãAppRegistryã«æ ŒçŽããŸãããããã®ãã£ãªã¢ã¯ãOpenShiftã¯ãŒã¯ããŒããšã³ã·ã¹ãã ãšããŒãããŒäžå¿ã®éçšã¢ãã«ïŒ2æ¥ç®ã®éçšïŒã®åºç€ã圢æããŸãã
åOpenShift4ã¯ã©ã¹ã¿ãŒã¯ãçµã¿èŸŒã¿ã®OperatorHubã®ãªãã¬ãŒã¿ãŒã䜿çšããŠãã€ã³ã¹ããŒã«å¯èœãªãªãã¬ãŒã¿ãŒã®ã«ã¿ãã°ãå ¬éããæ¢ã«ã€ã³ã¹ããŒã«ãããŠãããªãã¬ãŒã¿ãŒã®æŽæ°ãæäŸããŸãã OpenShift 4ã®äººæ°ãé«ãŸãã«ã€ããäžçäžã§ã¯ã©ã¹ã¿ãŒã®æ°ãå¢ããŠããŸãããããã®åã¯ã©ã¹ã¿ãŒã¯ãquay.ioå ã®App Registryãããã¯ãšã³ããšããŠäœ¿çšããŠããªãã¬ãŒã¿ãŒã³ã³ãã³ããããŒãããŠçµã¿èŸŒã¿ã®OperatorHubãå®è¡ããŸããåé¡ã®åå ãæ¢ããšãOpenShiftã®äººæ°ãåŸã ã«é«ãŸãã«ã€ããŠããã£ãã«äœ¿çšãããªãquay.io颿°ã®1ã€ã«è² è·ãããããšããäºå®ãèŠéããŸããã
App Registryãªã¯ãšã¹ããã©ãã£ãã¯ã®åæãè¡ããã¬ãžã¹ããªã³ãŒãã調ã¹ãŸãããããã«æ¬ é¥ãæããã«ãªããããŒã¿ããŒã¹ãžã®ã¯ãšãªãæé©ã«åœ¢æãããªãã£ãããã§ããè»œè² è·ã§ã¯åé¡ãããŸããã§ããããå¢å ãããšåé¡ã®åå ã«ãªããŸãããApp Registryã«ã¯ãè² è·ã®å¢å ã«ããŸãåå¿ããªãã£ã2ã€ã®åé¡ã®ãããšã³ããã€ã³ããããããšã倿ããŸããã1ã€ç®ã¯ãªããžããªå ã®ãã¹ãŠã®ããã±ãŒãžã®ãªã¹ããæäŸãã2ã€ç®ã¯ããã±ãŒãžã®ãã¹ãŠã®blobãè¿ããŸããã
åå ã®æé€
æ¥é±ãç§ãã¡ã¯AppRegistryèªäœãšãã®ç°å¢ã®ã³ãŒããæé©åããŠããŸãããæããã«éå¹ççãªSQLã¯ãšãªãäœãçŽãããã³ãã³ããžã®äžèŠãªåŒã³åºããæé€ãã
tarïŒblobããã§ããããããã³ã«å®è¡ãããŸããïŒãå¯èœãªéããã£ãã·ã¥ã远å ãããŸãããæ¬¡ã«ãåºç¯ãªããã©ãŒãã³ã¹ãã¹ãã宿œãã倿ŽååŸã®AppRegistryã®ããã©ãŒãã³ã¹ãæ¯èŒããŸããã
以åã¯æå€§30åããã£ãŠããAPIãªã¯ãšã¹ãããããªç§åäœã§å®äºããããã«ãªããŸãããæ¥é±ãçç£ãžã®å€æŽãå±éããquay.ioã¯ãã以æ¥å®å®ããŠããŸãããã®éãApp Registryãšã³ããã€ã³ãã§ãã©ãã£ãã¯ãæ¥å¢ããŸããããæ¹åã«ããããŒã¿ããŒã¹ã®åæ¢ã鲿¢ãããŸããã
ç§ãã¡ã¯äœãåŠã³ãŸãããïŒ
ã©ã®ãµãŒãã¹ãããŠã³ã¿ã€ã ãåé¿ããããšããŠããããšã¯æããã§ããç§ãã¡ã®å Žåãæè¿ã®ã¯ã©ãã·ã¥ãquay.ioã®æ¹åã«åœ¹ç«ã£ããšä¿¡ããŠããŸããç§ãã¡èªèº«ã®ããã«ãç§ãã¡ãå ±æãããããã€ãã®äž»èŠãªã¬ãã¹ã³ãåããŸããïŒ
- 誰ãããªãã®ãµãŒãã¹ãã©ã®ããã«äœ¿çšããŠãããã«é¢ããããŒã¿ã¯äžèŠã§ã¯ãããŸãããQuayã¯ãæ©èœãããããããã©ãã£ãã¯ã®æé©åãšè² è·ã®ç®¡çã«æéãè²»ããå¿ èŠã¯ãããŸããã§ãããããããã¹ãŠãããµãŒãã¹ãç¡æéã«æ¡åŒµãããå¯èœæ§ããããšãã誀ã£ãå®å¿æãçã¿åºããŸããã
- , â . Quay , . , â , .
- åãµãŒãã¹æ©èœã®åœ±é¿ãè©äŸ¡ããŸãã顧客ãAppRegistryã䜿çšããããšã¯ãã£ãã«ãªãã£ããããç§ãã¡ã®ããŒã ã«ãšã£ãŠåªå äºé ã§ã¯ãããŸããã§ããã補åã®äžéšã®æ©èœãã»ãšãã©äœ¿çšãããŠããªãå Žåããããã®ãã°ããããã¢ããããããšã¯ãã£ãã«ãªããéçºè ã¯ã³ãŒãã®ç£èŠã忢ããŸãããããæ¬æ¥ããã¹ãå§¿ã§ãããšããåŠæ³ã®é€é£ã«ãªãã®ã¯ç°¡åã§ã-çªç¶ãã®æ©èœãå€§èŠæš¡ãªäºä»¶ã®äžå¿ã«ãªããŸã§ã
次ã¯äœã§ããïŒ
ãµãŒãã¹ã®å®å®æ§ã確ä¿ããããã®äœæ¥ã¯æ¢ãŸãããšãªããåžžã«æ¹åããŠããŸããquay.ioã®ãã©ãã£ãã¯éã¯å¢ãç¶ããŠãããã客æ§ã®ä¿¡é Œã«å¿ããããã«æåãå°œããå¿ èŠãããããšãèªèããŠããŸãããããã£ãŠãçŸåšã次ã®ã¿ã¹ã¯ã«åãçµãã§ããŸãã
- , RDS.
- RDS. . , ( ); .
- . , .
- firewallâ - (WAF), , quay.io.
- , Red Hat OpenShift App Registry (Operator Catalogs), , quay.io.
- Open Container InitiativeïŒOCIïŒã¢ãŒãã£ãã¡ã¯ã仿§ã®ãµããŒãã¯ãAppRegistryã®é·æçãªä»£æ¿ãšãªãå¯èœæ§ããããŸããçŸåšããã€ãã£ãã®Quayæ©èœãšããŠå®è£ ãããŠããã仿§èªäœã宿ãããšãã«ãŠãŒã¶ãŒãå©çšã§ããããã«ãªããŸãã
äžèšã®ãã¹ãŠã¯ãå°ããªã¹ã¿ãŒãã¢ããã®ãããªããŒã ããSREã«ãã£ãŠé§åãããæçãããã©ãããã©ãŒã ã«ç§»è¡ããéã®ãquay.ioãžã®RedHatã®ç¶ç¶çãªæè³ã®äžéšã§ããå€ãã®ã客æ§ãæ¥åžžæ¥åïŒRed Hatãå«ãïŒãquay.ioã«äŸåããŠããããšãèªèããŠãããæè¿ã®æ··ä¹±ãç¶ç¶çãªæ¹ååªåã«ã€ããŠå¯èœãªéããªãŒãã³ã«åªããŠããŸãã
翻蚳è ããã®PS
ç§ãã¡ã®ããã°ãèªãã§ãã ããïŒ