æ¡çšåãCloudã»DevOpsã¹ãã«ãã¹ã
ã¯ã©ãŠããããã¯ãŒã¯ããµãŒããŒéçšãããã³ã³ãããInfrastructure as Codeããã€ãã©ã€ã³ãŸã§ãCloudã»DevOpsãã¹ã16çš®é¡ãã¬ãã«ã圢åŒãå 容å¥ã«æ¯èŒã§ããŸãã
ç°¡åã«èšããš
ãã®16çš®é¡ã®éžæåŒãã¹ãã¯å10åã§ãã¯ã©ãŠããã©ãããã©ãŒã ããããã¯ãŒã¯ãã·ã¹ãã 管çãã³ã³ãããInfrastructure as CodeãããªããªãŒãã€ãã©ã€ã³ã«é¢ããã¹ãã«ãè©äŸ¡ããŸããäžçŽãã¹ãã§ã¯ãããŒã«ãã¯ã©ãŠãç°å¢ã䜿ã£ãå®åãæ±ããŸãã3çš®é¡ã®äžçŽãã¹ãã¯ãAWSãAzureãGoogle Cloudã®ãããã¯ãŒã¯ã«ç¹åããŠããŸããã¯ã©ãŠããDevOpsããã©ãããã©ãŒã ããããã¯ãŒã¯ãéçšæ åœè ãæ¡çšããäŒæ¥ã«é©ããŠããŸãã
16ä»¶ã®ãã¹ã
Amazon Web ServicesïŒAWSïŒã®é«åºŠãªãããã¯ãŒãã³ã°
10å · 15å · äžçŽ
éžæåŒ
ãã¹ããèŠãããã°ã©ãã³ã°ã¹ãã«Ansible
10å · 15å · äžçŽ
éžæåŒ
ãã¹ããèŠãè·çš®å¥ã¹ãã«AWS
10å · 15å · äžçŽ
éžæåŒ
ãã¹ããèŠãããã°ã©ãã³ã°ã¹ãã«Azureã®é«åºŠãªãããã¯ãŒãã³ã°
10å · 15å · äžçŽ
éžæåŒ
ãã¹ããèŠãè·çš®å¥ã¹ãã«DevOps
10å · 15å · äžçŽ
éžæåŒ
ãã¹ããèŠããœãããŠã§ã¢ã¹ãã«DigitalOcean
10å · 15å · äžçŽ
éžæåŒ
ãã¹ããèŠããœãããŠã§ã¢ã¹ãã«Docker
10å · 15å · äžçŽ
éžæåŒ
ãã¹ããèŠãããã°ã©ãã³ã°ã¹ãã«Google Cloud Platform (GCP)
10å · 15å · äžçŽ
éžæåŒ
ãã¹ããèŠãããã°ã©ãã³ã°ã¹ãã«Google Cloud PlatformïŒGCPïŒã®é«åºŠãªãããã¯ãŒãã³ã°
10å · 15å · äžçŽ
éžæåŒ
ãã¹ããèŠãããã°ã©ãã³ã°ã¹ãã«Jenkins
10å · 15å · äžçŽ
éžæåŒ
ãã¹ããèŠããœãããŠã§ã¢ã¹ãã«Kubernetes
10å · 15å · äžçŽ
éžæåŒ
ãã¹ããèŠãããã°ã©ãã³ã°ã¹ãã«Microsoft Azure
10å · 15å · äžçŽ
éžæåŒ
ãã¹ããèŠããœãããŠã§ã¢ã¹ãã«NGINX
10å · 15å · äžçŽ
éžæåŒ
ãã¹ããèŠããœãããŠã§ã¢ã¹ãã«Terraform
10å · 15å · äžçŽ
éžæåŒ
ãã¹ããèŠããœãããŠã§ã¢ã¹ãã«VMware
10å · 15å · äžçŽ
éžæåŒ
ãã¹ããèŠãè·çš®å¥ã¹ãã«ã¯ã©ãŠãã·ã¹ãã 管ç
10å · 15å · äžçŽ
éžæåŒ
ãã¹ããèŠãã«ããŽãªãŒå¥ãã¹ã
- ããã°ã©ãã³ã°ã¹ãã« (7ä»¶ã®ãã¹ã)
- ãœãããŠã§ã¢ã¹ãã« (6ä»¶ã®ãã¹ã)
- è·çš®å¥ã¹ãã« (3ä»¶ã®ãã¹ã)
ã¯ã©ãŠããšDevOpsã®ãã¹ãå 容
16çš®é¡ã®ãã¹ãã§ã¯ãã¯ã©ãŠããã©ãããã©ãŒã ãšãããã¯ãŒã¯ããµãŒããŒç®¡çãã³ã³ãããInfrastructure as CodeãããªããªãŒãã€ãã©ã€ã³ãæ±ããŸãããã¹ãŠ10åéã®éžæåŒãã¹ãã§ããäžçŽãã¹ãã«ã¯ãKubernetesã®ãããã§ã¹ããã³ãã³ãåºåãTerraformã®ã³ãŒãæç²ãNGINXã®èšå®ããã°ãªã©ãå®éã®è³æãèªãã§ããŒã«ã®ç¥èãåããã®ããããŸããã»ãã®äžçŽãã¹ãã§ã¯ãåäžã®ã¯ã©ãŠããã©ãããã©ãŒã ã«ãããèšèšãéçšäžã®å€æãè©äŸ¡ããŸããVMwareã§ã¯ãvSphereã®ä»®æ³ãã·ã³ããã¹ããã¯ã©ã¹ã¿ãŒããããã¯ãŒã¯ãã¹ãã¬ãŒãžãæ±ããŸãã
ãããã¯ãŒã¯ã«ç¹åããæ¥ååãã®äžçŽãã¹ãã§ã¯ãAmazon Web Services (AWS)ãAzureãGoogle Cloud Platform (GCP)ã§ã®ãããã¯ãŒã¯ã®èšç»ãä¿è·ãéçšãæ¥ç¶ãè©äŸ¡ããŸããå¹ åºãèšèšãéçšäžã®å€æããŸãã¯å®åçãªç®¡çæ¥åãæ±ãäžçŽã¯ã©ãŠããã¹ããšã¯ç°ãªããŸããã¯ã©ãŠããšDevOpsãã²ãšã€ã®ã¹ãã«ãšããŠæ±ãã®ã§ã¯ãªããè·åã§å¿ èŠãªæ¥åã«åºã¥ããŠéžãã§ãã ããã
è·åãšã¬ãã«ã«åã£ããã¹ããéžã¶
ç¹å®ã®ã¯ã©ãŠããæ±ãäžçŽãããã¯ãŒã¯ã¢ãŒããã¯ãããããã¯ãŒã¯ã»ãã¥ãªãã£ãšã³ãžãã¢ããããã¯ãŒã¯éçšè·ã«ã¯ã察å¿ããäžçŽãããã¯ãŒã¯ãã¹ãã䜿ããŸããAWSãAzureãGoogle Cloudã®åãã¹ãã¯ãããããã®ãã©ãããã©ãŒã ã§ã®äžçŽãããã¯ãŒã¯æ¥ååãã«èšèšãããŠããŸããã¯ã©ãŠããããã¯ãŒã¯ãæ§ç¯ãŸãã¯éçšããDevOpsãšã³ãžãã¢ããã©ãããã©ãŒã ãšã³ãžãã¢ã«ãé©ããŠãããšèšèŒãããŠããŸãã
äžçŽã®DevOpsè·ããã©ãããã©ãŒã è·ã§ã¯ãå®åäžã®è²¬ä»»ã«åã£ããã¹ããéžã³ãŸããããDevOpsã§ã¯ãLinuxã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ãã¹ã¯ãªããäœæãInfrastructure as Codeãã¯ã©ãŠãããªãªãŒã¹ãã€ãã©ã€ã³ãæ±ããŸããã€ã³ãã©ã¹ãã©ã¯ãã£ã³ãŒãã«ã¯Terraformãã³ã³ããæ¥åã«ã¯Dockerããã«ããã€ãã©ã€ã³ã«ã¯Jenkinsã远å ããŸããKubernetesã®ãããã€ããµããŒãã«ã¯ãKubernetesãæ€èšããŠãã ãããå¹ åºãã¯ã©ãŠãéçšã«ã¯ãAWSãŸãã¯Azureäžã®LinuxãµãŒããŒãWindowsãµãŒããŒãæ±ãäžå ã»äžçŽç®¡çè ãã€ã³ãã©æ åœè ãéçšæ åœè ã«Cloud System Administrationãé©ããŠããŸããDigitalOceanã¯ãDigitalOceanäžã§ãµãŒãã¹ãæ§ç¯ãŸãã¯éçšãããšã³ãžãã¢ã管çè åãã§ããNGINXã¯ãèªããµãŒãã¹ããããã€ããã·ã¹ãã 管çè ãéçºè åãã§ããããã«æããäžçŽãã¹ãã¯å®åçãªè·åã¹ãã«ã«ãäžçŽãããã¯ãŒã¯ãã¹ãã¯ããå°éçãªã¯ã©ãŠããããã¯ãŒã¯æ¥åã«é©ããŠããŸãã
æ¥åã«åãããŠãã¹ããçµã¿åããã
è·åã«åå¥ã®è²¬ä»»ããããããããã«ã€ããŠå¥ã®è©äŸ¡ææãå¿ èŠãªå Žåã¯ããã¹ããçµã¿åãããŸããããã€ã³ãã©ã¹ãã©ã¯ãã£ã³ãŒãããªãªãŒã¹èªååãä¿å®ããDevOpsè·ã§ã¯ããã®è·åã§äœ¿ãèªååããŒã«ã«å¿ããŠãDevOpsãšTerraformãŸãã¯Ansibleãçµã¿åãããŸããã³ã³ããåããããµãŒãã¹ã®æ§ç¯ãæ åœããå Žåã¯ãDockerã远å ããŸããã¯ã©ã¹ã¿ãŒäžã®ãµãŒãã¹ããããã€ãããµããŒãããè·åã§ããã°ãKubernetesã远å ããŸãã
ã¯ã©ãŠããšã³ãžãã¢ã®å Žåã¯ãããå¹ åºãèšèšãéçšäžã®å€æãè©äŸ¡ããããã«ãAWSãMicrosoft AzureãGoogle Cloud Platform (GCP)ãªã©ããã©ãããã©ãŒã ã«ç¹åããäžçŽãã¹ãã䜿ããŸããé«åºŠãªãããã¯ãŒã¯èšç»ãéçšãè·åã«å«ãŸããå Žåã«ã®ã¿ã察å¿ããäžçŽãããã¯ãŒã¯ãã¹ãã远å ããŠãã ããããã¹ãã®çµã¿åããã¯ãæç€ºãããè·åå å®¹ã«æ²¿ã£ããã®ã«ããŸããããåã¹ã³ã¢ã¯æ¡çšããã»ã¹ã®ã»ãã®æ å ±ãšåãããŠæ€èšããè©äŸ¡ææã§ãããæçµå€æãåç¬ã®å€æææã§ã¯ãããŸããã
ãã¹ãã«ãããå ¬å¹³æ§ãžã®é æ ®
å ¬å¹³æ§ã«é¢ããé æ ®ã¯ãã¹ãã«ãã£ãŠç°ãªããŸããå€ãã®ãã¹ãã§ã¯ãå¹³æãªç±³åœè±èªãçãã·ããªãªãäžç«çãªååã䜿ããåçã«å¿ èŠãªæ å ±ãæèšããŠããŸããAnsibleã®ãã¹ãã§ã¯çãã³ãŒãäŸã䜿ããæè¿ã®ansible-coreã®ãªãªãŒã¹éã§åäœãç°ãªãå 容ã¯é¿ããŠããŸããTerraformã®ãã¹ãã§ã¯å¯Ÿè±¡ã®ã³ãŒããå顿ã«ç€ºããæ±çšãããã€ããŒã䜿ããããç¹å®ã®ã¯ã©ãŠããã³ããŒã«äŸåããã«åçã§ããŸããDockerã®ãã¹ãã§ã¯æ±çšçãªãµãŒãã¹ã䜿ããçããã¡ã€ã«ã¯å šäœã衚瀺ããŸãã
3ã€ã®äžçŽãããã¯ãŒã¯ãã¹ããšCloud System Administrationã§ã¯ãã¢ãã¬ã¹ããµããããã®èšç®ã«ã¡ã¢çšçŽã䜿ããŸãããã®ãããæç®ã®éãã«å·Šå³ãããŸãããGoogle Cloudã®ãããã¯ãŒã¯ãã¹ãã¯ãããŸã䜿ãããªãå¶éãã³ã³ãœãŒã«ã®ã¬ã€ã¢ãŠãã§ã¯ãªããçŸåšææžåãããŠãããã©ãããã©ãŒã ã®åäœã«åºã¥ããŠããŸããKubernetesã®ãã¹ãã§ã¯ããããã§ã¹ããã³ãã³ãåºåãèªã¿ããã衚瀺ãããããããœã³ã³ã§ã®åéšããé¡ãããŠããŸãã
ãããã質å
vSphereã§ä»®æ³ãã·ã³ãéçšããããŒã ã«é©ãããã¹ãã¯ã©ãã§ããïŒ+
VMwareã®ãã¹ãã§ã¯ãvSphereã®ä»®æ³ãã·ã³ãESXiãã¹ããvCenterã¯ã©ã¹ã¿ãŒãä»®æ³ãããã¯ãŒã¯ãã¹ãã¬ãŒãžãæ±ããŸãããµãŒããŒã管çããã·ã¹ãã 管çè ãä»®æ³åã»ã€ã³ãã©ã¹ãã©ã¯ãã£ãšã³ãžãã¢ãDevOpsãšã³ãžãã¢ãITãµããŒãæ åœè ã«é©ããŠããŸããããŒãžã§ã³ã«ãã£ãŠåäœãç°ãªãå Žåã¯ãå顿ã«vSphereã®ããŒãžã§ã³ãèšèŒããŠããŸãã
äžçŽãããã¯ãŒã¯è·ã«é©ããã¯ã©ãŠãã»DevOpsãã¹ãã¯ã©ãã§ããïŒ+
äžçŽãããã¯ãŒã¯ãã¹ãã¯ãAWSãAzureãGoogle Cloud Platformã察象ãšããŠããŸãããããããæå®ããããã©ãããã©ãŒã ã§ã®ãããã¯ãŒã¯ã®èšç»ãä¿è·ãéçšãæ¥ç¶ãè©äŸ¡ãããããã¯ãŒã¯ã¢ãŒããã¯ããé¢é£ãããããã¯ãŒã¯è·çš®ã察象è ãšããŠæããŠããŸãã
ãããã®ãã¹ãã«ã¯ãç¹å®ã®ã¯ã©ãŠããã³ããŒã®ç¥èãå¿ èŠã§ããïŒ+
ç¹å®ã®ã¯ã©ãŠããã³ããŒã®ç¥èãå¿ èŠãªã®ã¯ããã©ãããã©ãŒã ãã¹ãã®ã¿ã§ããDevOpsã®ã¯ã©ãŠãã«é¢ããåé¡ã¯ãã³ããŒã«äŸåããªã衚çŸã§äœãããŠãããTerraformã§ã¯æ±çšãããã€ããŒã䜿ããããç¹å®ã®ã¯ã©ãŠããµãŒãã¹ã«äŸåããåçã¯ãããŸãããKubernetesã§ã¯ã¯ã©ãŠããããã€ããŒããšã«ç°ãªãæ©èœãé¿ããŠãããDockerãã¯ã©ãŠããã³ããŒã«äŸåããŸãããäžçŽãããã¯ãŒã¯ãã¹ããå«ããã©ãããã©ãŒã ãã¹ãã§ã¯ãæå®ãããã¯ã©ãŠããè©äŸ¡ããŸãã
äŒæ¥ã¯ã¯ã©ãŠããšDevOpsã®ãã¹ããã©ã®ããã«çµã¿åãããã¹ãã§ããïŒ+
è·åã®åå¥ã®è²¬ä»»ã«åãããŠãã¹ããéžã³ãŸããããããšãã°ãDevOpsã®å®è·µãšã€ã³ãã©ã¹ãã©ã¯ãã£ã³ãŒããæ±ãè·åã§ã¯ãDevOpsã«å ããŠTerraformãŸãã¯Ansibleã®ãã¹ãã䜿ãããšãã§ããŸãããã©ãããã©ãŒã ãã³ã³ããã®ãã¹ãã¯ããã®æ¥åãè·åã«å«ãŸããå Žåã«ã®ã¿è¿œå ããŠãã ããã
åè£è ã¯ã¹ããŒããã©ã³ã§ãããã®ãã¹ããåããããŸããïŒ+
ãã®ã°ã«ãŒãã®ãã¹ãã¯ãKubernetesãé€ããã¹ããŒããã©ã³ãŸãã¯ããœã³ã³ã§åéšã§ããŸããKubernetesã§ã¯ããããã§ã¹ããã³ãã³ãåºåãèªã¿ããã衚瀺ãããããããœã³ã³ã§ã®åéšããé¡ãããŠããŸããNGINXã¯èšå®è¡ãã¹ããŒããã©ã³ã®ç»é¢ã«åãŸãé·ãã§ãVMwareã¯ã©ã¡ãã®ç«¯æ«ã§ãåéšã§ããŸãã
ã¯ã©ãŠããšDevOpsã®ãã¹ãã§ãäŒæ¥ã確èªãã¹ãå ¬å¹³æ§ãžã®é æ ®ã¯äœã§ããïŒ+
éžæãããã¹ãããšã«æ³šæäºé ã確èªããŠãã ããããã¹ãã«ãã£ãŠãå¹³æãªè¡šçŸãäžç«çãªã·ããªãªãå顿ã«è¡šç€ºãããã³ãŒããèšå®ãå®å®ãã補åã®åäœãã¢ãã¬ã¹èšç®ã«äœ¿ããã¡ã¢çšçŽãªã©ã«ã€ããŠèª¬æããŠããŸããããšãã°Jenkinsã§ã¯ããã¹ãŠã®åè£è ã«ååé¡40ç§ã®å¶éæéãèšããããŠããŸãã
ãããã®ãã¹ãããã¢ã»ã¹ã¡ã³ããäœæ
è·çš®ã«åã£ããã¹ããéžã³ãåè£è ãæåŸ ããŠçµæãæ¯èŒããŸãããã