仿¥ã¯ãä»®æ³ãã·ã³ã®æ¿èªãšçºè¡ãå®å šãªã»ã«ããµãŒãã¹ã«å€æããã¯ã©ãŒã¿ã®ããžãã¯ãç¶æãããªãœãŒã¹äœ¿çšçãäºæž¬ããæ©èœã远å ããããŒã«ã«ã€ããŠèª¬æããããšæããŸãã
å ã€ã³ãã©ã¹ãã©ã¯ãã£ãšã³ãžãã¢ãšããŠãç§ã¯å€§èŠæš¡ãªããŒã ã§è€æ°ã®ãã©ã€ããŒãã¯ã©ãŠããŸãã¯ãããªãã¯ã¯ã©ãŠãã䜿çšããããšãã©ããªãããç¥ã£ãŠããŸããéåžžã2ã€ã®æ¹æ³ããããŸãããŸãã¯ããªãœãŒã¹å²ãåœãŠã®ããã»ã¹ãããŸãã«ãå®åçã§ããããŒã ã¯ãä»®æ³ãã·ã³ã1é±éåŸ æ©ãããã®ãã¹ãç¹°ãè¿ããªãããã«ãä»®æ³ãã·ã³ãå¯èœãªéããåç¶ããããŸãããŸãã¯ãåãAWSã§æ¯æäœçŸãäœåãã«ãè²»ããããŠããããŒã ãšãªãœãŒã¹ã®æ°ã誰ã«ãããããªãå Žåãæ¬åœã®æ··ä¹±ãçããŸãããã®ç¶æ³ãåçŽåãã1ã€ã®å¯èœãªæ¹æ³ã¯ãããŒãããŒã®è£œåã§ããCloudMasterã䜿çšããŠãéçºè ãã¯ã©ãŠãã§ã®ã»ã«ããµãŒãã¹ã«ç§»è¡ããããšã§ãã
äœãåé¡ã§ãã
äŒç€Ÿãæ°çŸäººã®éçºè ãšDevOpsãéçšããŠããå ŽåãåããŒã ã«ã¯ç¬èªã®ãããžã§ã¯ããšå®éšã®å¿ èŠæ§ããããäŒç€Ÿã«ãã£ãŠå²ãåœãŠããã容éã«ã€ããŠåå人ã®è²¬ä»»ã«é Œãããšã¯ã§ããŸãããåé¡ã®å€§ãããçè§£ããããã«ããããªãã¯ã¯ã©ãŠããšOpenStackã§ã®ç¬èªã®ä»®æ³åã䜿çšããŠããCloudMasterã®1人ã®é¡§å®¢ããã®çµ±èšã以äžã«ç€ºããŸãã
æ°çŸã®ãããžã§ã¯ãã䞊è¡ããŠéçºããããšã«ãããAWSãAzureãããã³GCPã®åèšãªãœãŒã¹ã¯ãæã«50äžãã«ã§ã¯ã©ã€ã¢ã³ãã«ãã£ãŠæ¶è²»ãããŸãããŸãã幎éçŽ35äžå°ã®ä»®æ³ãã·ã³ãäœæããã³åé€ããŸãã
ããã»ã¹ããã®ãããªèŠæš¡ã§é²è·¯ããšãããšãèš±ãããã°ãæ¬åœã®ç¡ç§©åºãèµ·ãããŸããäœçŸãã®ä»®æ³ãã·ã³ãæªäœ¿çšã§ããªãŒãºããŸããç¹å®ã®VMã誰ãããªãèµ·åããã®ããçè§£ããªããšããããäœæ¥ã«å¿ èŠãã©ããããŸãå°æ¥å¿ èŠã«ãªããã©ããã倿ããã®ã¯éåžžã«å°é£ã§ããããã«ã¯ãã¯ã©ãŠããªãœãŒã¹ã®ã¬ã³ã¿ã«ã«äžèŠãªè²»çšãããããäœãèµ·ãã£ãŠããã®ããåæãããããããã®ç¶æ³ã§ã®è² è·ãäºæž¬ãããããããšã¯åºæ¬çã«äžå¯èœã§ãã
ãããåé¿ããè«ççãªæ¹æ³ã¯ããªãœãŒã¹ããŽã·ãšãŒã·ã§ã³ããžãã¹ããã»ã¹ãèŠå®ããããšã§ãããã¡ãããããã¯ä»®æ³ãã·ã³ãååŸããããã®éçºè ã®ãã¹ãè€éã«ããŸããã¢ããªã±ãŒã·ã§ã³ã«èšå ¥ããæ åœè ã«éä¿¡ããå¿ èŠããããŸãããã ããã¬ããŒããæ£ããåéãããšããããŒãžã£ãŒã¯å šäœåãææ¡ã§ããŸããã€ãŸãã誰ãããã€ãã©ã®å®¹éãèŠæ±ãããã§ããããçšåºŠã®é ããããã°ã圌ã¯ä»®æ³å®¹éã®ããŒã ã®ããŒãºãåæããããšããã§ããããã«ãªããŸãããããããããäžèœè¬ã§ã¯ãããŸãããååãªéã®ãªã¯ãšã¹ãããããšããããžã§ã¯ãã®ããããŒã ã¯ã責任è ãæ¬¡ã®ã¢ããªã±ãŒã·ã§ã³ã調ã¹ãŠè©äŸ¡ããã®ãããã³ã°ãããŸãããããŠãäŒç€Ÿã倧ãããªãã°ãªãã»ã©ããã®åŸ ã¡æéã¯é·ããªããŸãã
ãã®å Žåãäœæããããã¹ãŠã®ä»®æ³ãã·ã³ã«ã¯ãæå¹æéãããããŸãããæ¬¡ã«ã誰ãããå²ãåœãŠããããã¹ãŠã®ãªãœãŒã¹ãã¢ããŠã³ã¹ãããæéã«ãªãã«ãããããããããžã§ã¯ãã«åœ±é¿ãäžããªãã£ãããšãå¶åŸ¡ããå¿ èŠããããŸãã
ã¯ã©ãŠã管çãã©ãããã©ãŒã ïŒCMPïŒã«ããã»ã«ããµãŒãã¹
Cloud Management Platformã¯ã©ã¹ã®ãœãªã¥ãŒã·ã§ã³ã¯ããã©ã€ããŒããŸãã¯ãããªãã¯ã®ããã€ãã®äœ¿çšæžã¿ã¯ã©ãŠãã«ç§©åºãããããã®ã«åœ¹ç«ã¡ãŸããããŒãããŒããã®ãã·ã¢ã®ä»£æ¿æ¡ãã€ãŸãAzureãAWSãGoogle Cloudãžã®æ¥ç¶ã«çŠç¹ãåœãŠãCloudMasterãã©ãããã©ãŒã ãããã³vCloud DirectorãvSphereãOpenStackã®äžã®ãã©ã€ããŒããªãŒãžã§ã³ã«ã€ããŠã話ãããããšæããŸãã
éçºè ã®èгç¹ããèŠããšãCloudMasterã¯ã»ã«ããµãŒãã¹ããŒã¿ã«ã§ãããåäžã®ã€ã³ã¿ãŒãã§ã€ã¹ãä»ããŠãå®å䞻矩ãªãã§ïŒãã©ãŠã¶ã®UIãã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ãã³ã³ãœãŒã«ã³ãã³ãïŒPythonã¹ã¯ãªããïŒãä»ããŠïŒãäŒæ¥ã®ã¯ã©ãŠããŸãã¯ããŒã¿ã»ã³ã¿ãŒã®ãªãœãŒã¹ãååŸã§ããŸãããŸããã€ã³ãã©ã¹ãã©ã¯ãã£ã®å Žåãããã¯ã¯ã©ãŠããã©ãããã©ãŒã ãšãšã³ããŠãŒã¶ãŒéã®æœè±¡åã®è¿œå ã¬ã€ã€ãŒã§ããããªãœãŒã¹ãã»ãã¥ãªãã£ããªã·ãŒãæšæºæ§æãããã³ãã·ã³ã€ã¡ãŒãžãTerraformãã³ãã¬ãŒããªã©ã®ä»ã®å¿ èŠãªããŒã«ã®éžæçãªå ±æãç¶æããŸãã
CloudMasterã®å€§éšåã¯JavaããŒã¹ã§ãããAndroidã¢ããªã±ãŒã·ã§ã³ã®ãµãŒããŒåŽã®Springãã¬ãŒã ã¯ãŒã¯ãšDaggerã«åºã¥ããŠããŸãã
ã¢ãŒããã¯ãã£äžãCloudMasterã¯ãå€§èŠæš¡ãªããŒã ãšå€§éã®éä¿¡ã¡ãã»ãŒãžãåŠçããããã«èª¿æŽãããŠããŸããRabbitMQã¯ãã¥ãŒã®åŠçã«äœ¿çšãããMonogoDBã¯ããŒã¿ã¹ãã¬ãŒãžã«äœ¿çšãããNginxã¯ãã©ã³ã·ã³ã°ã«äœ¿çšãããŸãã
ãã®ããŒã«ã¯2012幎ããéçºãããŠããã2014幎ããå€§èŠæš¡ãªãœãããŠã§ã¢éçºè ã«ãã£ãŠäœ¿çšãããŠããŸãã
CloudMasterããžãã¯
éçºè ã®èгç¹ããèŠããšãCloudMasterã¯ãå©çšå¯èœãªãã¹ãŠã®ã¯ã©ãŠããšãªãŒãžã§ã³ã§ä»®æ³ãã·ã³ããã°ããèµ·åããããã®ã¯ã³ã¹ãããã·ã§ããã§ãããã®ããŒã«ã䜿çšãããšãæ¿èªãåŸ ã€ã®ã§ã¯ãªããä»ããã§ãªãœãŒã¹ãååŸã§ããŸãã
ãã®ãåäžãŠã£ã³ããŠãã«ã¢ã¯ã»ã¹ããã«ã¯ãããŒã¿ã«ã§ã®ç»é²ã§ååã§ãããŸããCloudMasterãäŒæ¥ADãšçµ±åãããŠããå ŽåãäŒæ¥å ããã³ãããžã§ã¯ãå ã®åŸæ¥å¡ã®åœ¹å²ããã®ããŒã«ã«èªã¿èŸŒãŸããå©çšå¯èœãªãããžã§ã¯ããšãªãœãŒã¹ãèªåçã«æ±ºå®ãããŸãã
ä»®æ³ãã·ã³ã®èµ·åãŠã£ã³ããŠ
é©åãªæš©éãããå Žåã1ã€ã®ã³ãã³ãã§æå€§10åã®äžè¬çãªããã©ãŒã ãã®ä»®æ³ãã·ã³ãèµ·åã§ããŸãã CloudMasterã®çšèªã§ã¯ããããã¯åã¯ã©ãŠãã®äžè¬çãªãªãœãŒã¹ãªãã¡ãªã³ã°ã«ããããããïŒããã³ã¿ã¹ã¯çšã«ã«ã¹ã¿ãã€ãºãããïŒæšæºæ§æã§ãã
ããŸããŸãªã¯ã©ãŠãã®äžè¬çãªããã³ãã¬ãŒãã
æ¢åã®ãã·ã³ããç»åãäœæãããããã³ãŒããšããŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãã®æ¢è£œã®ãã³ãã¬ãŒãã䜿çšããããç¬èªã®ãã³ãã¬ãŒãïŒTerraformããã³CloudFormationïŒãã¢ããããŒããããã§ããŸãã
ãã³ãã¬ãŒã
ãã®å ŽåãVMã¯ç¡æéã«äœæããããšããæå®ããã¹ã±ãžã¥ãŒã«ã«åŸã£ãŠåäœãããããšãã§ããŸããããã«ããããªãœãŒã¹ã®äœ¿çšã«äžå®ã®èªç±ãäžããããŸããããšãã°ãäŒæ¥ã¯ãéçºè ãå人çãªå®éšãšæ¯èŒã®ããã«äŒæ¥ã¯ã©ãŠãã䜿çšããããšãèš±å¯ããå ŽåããããŸãããããã¯1æ¥ã ãã§ããã¡ãªã¿ã«ãããã¯ã«ã¹ã¿ã éçºãè¡ããã®ãã©ãããã©ãŒã ã®ã¯ã©ã€ã¢ã³ãã§ãããã®æ¹æ³ã§äœæããããã¹ãŠã®ä»®æ³ãã·ã³ã¯ãæå®ãããæéå ã«èªåçã«åé€ãããŸãã
ãããŒãžã£ãŒã®èгç¹ãããCloudMasterã®æã䟿å©ãªç¹ã¯ãå®è¡äžã®ãã¹ãŠã®ä»®æ³ãã·ã³ãã«ãŠã³ãããããšã§ãããããã«ã€ããŠã¯ãç¹å®ã®ãã³ãã¬ãŒãã«åŸã£ãŠäœæããããã®ãã¯ã©ãŠããããã€ããŒããã®è«æ±ãåã ã®ãããžã§ã¯ãã«ãããªãœãŒã¹æ¶è²»ã®ã¡ããªãã¯ãªã©ãéžæããã¯ã©ãŠã/ãªãŒãžã§ã³å ã®VMã«é¢ããå®å šãªæ å ±ãå«ãã»ã¯ã·ã§ã³ããããæªäœ¿çšãŸãã¯ã»ãšãã©äœ¿çšãããŠããªã容éãèå¥ã§ããŸãã
ãªãœãŒã¹ã®
ãªã¹ãä»®æ³ãã·ã³ã®ãªã¹ã
ã€ã³ã¿ãŒãã§ã€ã¹ã«æ å ±ã衚瀺ããããšã«å ããŠãCloudMasterã¯ã財åã«é¢é£ãããã®ãå«ããçŽ60çš®é¡ã®éç¥ãçæããŸãã
çä¿¡éç¥ ãšéç¥
ã®1ã€ã®ããã¹ã
ãµãŒãã¹ã®ããžãã¯ã¯ãåVMã«ææè ïŒãã®ä»®æ³ãã·ã³ãäœæãã人ããŸãã¯ãããã®æ©èœã転éããã人ïŒããããšãããã®ã§ããææè ã¯ããªãœãŒã¹ã®äœ¿çšç¶æ³ãŸãã¯VMã®ç¶æ ã®å€åã«é¢ãããã¹ãŠã®éç¥ãåãåããã³ã¹ããè² æ ããŸãããã®æå³ã§ãCloudMasterã¯ã容é䜿çšçãå¶åŸ¡ããæŸæ£ããããŸã³ããã·ã³ã«è²¬ä»»ãè² ããšããæåãæµžéãããã®ã«åœ¹ç«ã¡ãŸãã
æ°ããVMã®äœæã«é¢ããå¶éã¯ãã¢ã¯ã»ã¹æš©ãšå²ãåœãŠã«ãã£ãŠç®¡çãããŸãããããŠããã§ã¯ãã¯ã©ã€ã¢ã³ãã®ä»£è¡šè ãã¯ã©ãŠãã«åå ãããŸã§ãããããäœæ¥ããã»ã¹ãã«ã¹ã¿ãã€ãºããããšãã§ããŸããããŒã ã®å²ãåœãŠãèŠå®ããç¹å®ã®ãããå€ïŒããšãã°ãå²ãåœãŠã®70ïŒ ïŒã«éãããšãããŸãã¯ããã«è¿ã¥ãããšãã«ããŸããŸãªã¢ã¯ã·ã§ã³ãæäŸã§ããŸãã
ã¯ã©ãŠããããã€ããŒããã®è«æ±
ã¯ã©ãŒã¿ç®¡çãŠã£ã³ããŠ
ãã©ã€ããŒãã¯ã©ãŠãïŒOpenStackããã³VMwareïŒã®å ŽåãCloudMasterã¯äžçš®ã®äº€æããµããŒãããŸããããã¯ãä»®æ³ãã·ã³ã®å®è¡ã³ã¹ãã®èŠç©ããã§ãããããåçæ§ã®é«ããªãœãŒã¹äœ¿çšçã¹ããŒã ãéžæã§ããŸããååã¯ãå°æ¥ããã®ãããªæ©èœããããªãã¯ã¯ã©ãŠãã«çŸãããããããªããšèšããŸãã
ãã®ã·ã¹ãã ã§ã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ãšã³ãžãã¢ã®åœ¹å²ãç§ã«æãè¿ãã®ã§ãæåŸã«ä»»ããŸããã DevOpsã«ãšã£ãŠãããã¯ãã¡ããæ°ããããŒã«ã§ãããäžæ¹ã§ãããã ãã䜿çšããŠã¯ã©ãŠããªãœãŒã¹ã«äœãèµ·ããããå¶åŸ¡ããããšãå¯èœã«ãªããŸãã ChefãAnsibleãªã©ã®äžè¬çãªæ§æãç£èŠãããã³éçºããŒã«ã¯ãããè¿ éãã€ç°¡åã«å±éã§ããŸãã
å¿ èŠã«å¿ããŠã管çè ãšéçºè ã¯JavaSDKãå©çšã§ããŸãã
æãéèŠãªããšã¯ãCloudMasterã䜿çšãããšãä»ã®CMPãšåæ§ã«ãæåã®ã«ãŒãã³ãªãœãŒã¹å²ãåœãŠãããããè峿·±ãã¿ã¹ã¯ïŒã³ãŒããšããŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã«åºã¥ãèªååã®éçºãªã©ïŒã«ç§»è¡ã§ããŸãã
ç§ã®çµéšã§ã¯ãäŒç€Ÿãå°ãªããšã50å°ã®ä»®æ³ãã·ã³ãæ¡çšããç°ãªãã¯ã©ãŠãã®å°ãªããšã15人ã®ã¢ã¯ãã£ããŠãŒã¶ãŒãããå Žåããã®ãããªããŒã«ã®åºçŸã¯æ£åœåãããŸããããã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ã®ç¹å®ã®è€éãã§ããäžæ¹ã§ããããããç¬èªã®ç®¡çããŒã«ãåããç°çš®ã¯ã©ãŠããå ±éã®åæ¯ã«ããããã瀟å ã®äŒæ¥åºæºã«éåããªãããšãä¿èšŒãããŠããŸããåæã«ããã®ããŒã«ã¯ããªãœãŒã¹ã®å©çšãšäºç®èšç»ã®è²¬ä»»ããããžã§ã¯ããããŒãžã£ãŒã®ã¬ãã«ã«ãåŒãäžãããŸããããã¯ãã€ããªãã®ãŒçã«ããæ£ç¢ºã§ãã