ãããããªããåªåã§ããããšã§ã
å šåœã«350人以äžã®ãœãããŠã§ã¢éçºè ãšãã¹ã¿ãŒãããŸãããŸãããšã³ãžãã¢ã顧客éçºè ãšé »ç¹ã«ããåãããŠããŸãã devopsã®å®çšåã«åãæ¿ããã«ã¯ãæ¹æ³è«ã®å®è£ ã ãã§ãªããæãããã·ã¢ã®é¡§å®¢ãåºæ¬çãªæåã«æ £ããããããšãå¿ èŠã§ããã ç解ããããã®ããã€ãã®ãã€ã¢ãã°ïŒ
-ãªããã¹ãŠãèœã¡ãã®ã§ããïŒ
-ã¹ã¿ã³ãã§ã¹ã±ãŒããããã¹ãŠããã¹ãããŠãã補åã«å±éããããã ããã«ã¯ãæ瀺ã«è©²åœãããå€ã管çè ã®é ã«ã®ã¿äœãã§ããèšå®ããããŸãã
ãŸãã¯ïŒ
-ãªããããå šåœã«æã¡äžããããªãã®ã§ããïŒ
-æ°åã®ç°ãªãå°åã®ã€ã³ã¹ããŒã«ãããããããããããæäœæ¥ã§è¡ãããããããã«ç°ãªãæ§æããããŸãã ãããŠãããã€ãã®ã±ãŒã¹ã§ã¯ããšã³ãžãã¢ããã¹ãç¯ããŸããã
-ææ¥ãŸã§æ£ããïŒ æ¬åœã«å¿ èŠã§ãïŒ ãªã¢ãŒãã§ã®ã¿ã¢ã¯ã»ã¹ããç§ãã¡ã¯ããªãã«äžããŸããã
-..ïŒ ãã¡ããã極æ±ãžã®æ è¡ã倧奜ããªé«é¡ã®ã¹ãã·ã£ãªã¹ãã®ããŒã ããããŸãã åé¡ãããŸããã
æåæå
-ãã¹ããã³ãã¯ã©ãã§ããïŒ
ã圌ã¯çºèŠè ã®ãã¢ã§å¿ãããã
-ãããŠãã©ãã§ãã¹ããã¹ãã§ããïŒ
-ããŠãåãããã«èªåèªèº«ãå°ã転ãããŠããããã©ã€ããŒãã¯ã©ãŠãã«åãæ¿ããŸãã
-ã¹ã¿ã³ããŸã§2æéã ç§ã¯ãã ããªããæããŠããŸãïŒ
-åŸ ã£ãŠããã³ãã¬ãŒãã¯ãããŸããïŒ
ãŸãã¯ããïŒ
ãããžã§ã¯ãã®äžŠè¡è«è² æ¥è ïŒ
-ããã«ã¡ã¯ã芪æãªã顧客ããããŠç§ãã¡ã¯ããªãã«ãã€ããªããããããŸããïŒ
ä»å ¥ããŸãïŒ
-ãããããããããã芪æãªãå·ã®é¡§å®¢ã¯ãªããžããªãã¢ã»ã³ããªããã¹ãŠãæã£ãŠããŸãã ããã§ã³ãŒããæãããã¿ããã§ãã¯ã€ã³ããå±éæ¹æ³ã確èªããŠãã ãã...
-ããïŒ ããã¯æ©èœããŸããïŒ
ã管çè ã¯äœäººããŸããïŒã
-ãŸããçŽ100人ãæ°ããŸãã
ããªããããªã«ããããïŒã
-åè·¯ã¯å€§ããããèªååã¯ãŸã è¡ãããŠããªããäœããé«äŸ¡ã§ã...åæ¢ããŸããïŒ
äžè¬çã«ãåºæ¬çãªæåãšã¯ã次ã®ãããªãã®ãæå³ããŸãã
- ã¯ã©ãŠãã®å°é ããã·ã¹ãã ãœãããŠã§ã¢ã®æ³šå ¥ãŸã§ã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã¯ãã³ãŒãã®åœ¢åŒã§ååŸããå¿ èŠããããŸãã
- ããã»ã¹ã«å¿ããŠãäœãå€æŽããã«ããã«ããµãŒããŒãããã«ããèªåçã«å®è¡ããŸãïŒã€ãŸããç¹å¥ãªå Žåã«ã®ã¿èšå®ã管çããŸãïŒã ããŠãããªãã¯ããªãã®æã§ãã¹ã¿ãŒãããã¿ã³ãæŒãããšãã§ããŸãã
- ãã§ãã¯ã€ã³ããèªåãã¹ãå®è¡ãŸã§ãæ¬éã³ã³ãã¢ã«æ²¿ã£ããã¹ãŠã®ã¢ã»ã³ããªã®é²è¡ãèŠèŠçã«å¶åŸ¡ãããšäŸ¿å©ã§ãã
ãã®çµæãæéãšãéãç¯çŽãããŸãã è«è² æ¥è ããã³ãŒããåãåã£ããšããŠãã2幎åŸã芪æãªã顧客ã¯ãã©ãã¯ã«æããããŸãããœãŒã¹ãã£ã¹ã¯ããµãŒããŒäžã§å転ããŠãããã®ãšã¯ç¡é¢ä¿ã§ãããè«è² æ¥è ãããªããªã£ãããšã«æ°ä»ãã§ãããã
ãã®æåãæ€ãã
ããã¯çã¿ã錻氎ãæ¶ããã®ä»ã®ãã©ãã§ãã å€ãã®å Žåãéä¿¡ã¯ãããã次ã®ããã«è¡ãããŸãã
-ã¯ããããã¯ã¯ãŒã«ã§ãã ç§ã¯Habréã®æçš¿ãèªãã§ããŸããããããããã«çŽ æŽãããããç¥ã£ãŠããŸãã èªååãå¿ èŠã§ãã
-ããã§ã¯çŽ¹ä»ããŸããããïŒ
-ããããããªãã¯äœã§ããã Documentumã¯ææ°ããŒãžã§ã³ã§ã¯ãããŸããã
ãã ããäœïŒã
-ãããŠãJavaã¯å€ãã§ã...
-èŠãŠãã ããããã§ã«5ã€ã®ãããžã§ã¯ãã§ãã®ãããªã³ã³ãã€ãŒãèµ°ããŸããã ããã¯ããªãã®ãœãããŠã§ã¢æ§æã§ãã Alfrescuããã³WebSphereãå«ãã
-ç· ãåãã¯ããçµããã§ãã
-ããŠããã€çããªããªããŸããïŒ
ããŸããããã¯ãã2幎ãããããã©ããå¥ã®å¹Žã«çããŠããŸããã ãããã玹ä»ããŸãã
-ç¡æã®ãšã³ãžãã¢ãããªãããšããããžã§ã¯ããæ¬åœã«å éã§ããããšãç解ããŠããŸããïŒ
-ãããäœãå¿ èŠã§ããïŒ
-å®æããããŒã«ãããŠã³ããŒãããŠãAnsibleãæ¥ç¶ãããšããã¹ãŠãå±éãããŸãã ãã¡ããããªããå©ãããã¹ãŠãã»ããã¢ãããããšã³ãžãã¢ã§ãã 圌女ãæããŸã
-ããŠã1æã®äŒè°ã§ããªãã®ææ¡ãæ€èšãããŠãã ãã...
æšå¹ŽãŸã§ãåœç€Ÿã®éçºãããžã§ã¯ãã§ã¯ãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ã®ã¿ãå³å¯ã«å¿ èŠã§ããïŒTeamCity / Jenkinsã§ã®ã¢ã»ã³ããªãã³ãŒãåæãåäœãã¹ãïŒã äŒæ¥ã¬ãã«ã§ã®ç¶ç¶çããªããªãŒãšç¶ç¶çå±éãžã®æ¬æ Œçãªç§»è¡ã¯ã䜿çšãããã€ã³ãã©ã¹ãã©ã¯ãã£ããã¯ãããžãŒãå€éšé¡§å®¢ãšã®äœæ¥ã®åŸ®åŠãªéãã«ããè€éã§ããã ãã®ãããæšå¹ŽãŸã§ãéçšã«é¢äžãããšã³ãžãã¢ïŒé¡§å®¢ãµãŒãã¹ïŒã«å¯ŸããŠåäžã®æšæºãšäžé£ã®æšå¥šäºé ã¯ãªãããããããç¬èªã®ã¹ã¿ãã¯ã䜿çšããŠããŸããã
èªååã®ä»çµã¿ãç解ããŠãã人ã¯ã»ãšãã©ããŸããã äžéšã®äººã ã¯ãããã¯é«äŸ¡ã§å°é£ã§ãããšä¿¡ããŠããŸã-ããã®ãããžã§ã¯ãã«ãªã¹ã¯ãè² ããªããã ããããããšãã°ãããã€ãã®ããŒã ãCROCå ã§ã¹ã¿ãã¯ãå®è¡ããåŸãå®éã«å€ãã®ããŒã ããç¯çŽãããæéãšäººçè³æºãæã£ãããã¯ããã«çŸå®çã§ããããšã«æ°ä»ããŸããã ãããŠããã®ç¬éããå§ãŸããŸããã ãããã£ãŠãéå»ã®ãããžã§ã¯ãã®ãšã³ãžãã¢ããããŒãžã£ãŒããã1ããŒã¹ã®ãµãŒããŒãæåã§ãããã€ããããšããã¿ã¹ã¯ãåãåã£ãå Žåã圌ã¯èªååã«åããââãã¹ãŠã®æš©å©ãæã¡ããªãŒããŒãšããŠç§ã¯åœŒã®åŽã«ããŸãã
æåã«ç®¡çæ段ã浞éãããããšã«æ £ããŠããªããããããŸããŸãªæè¡ã¹ã¿ãã¯ãåããæãè€éãªãããžã§ã¯ãïŒWebSphereã§ã®çµ±åãããžã§ã¯ããDocumentumããã³Alfrescoã§ã®ECMãããžã§ã¯ããJavaããã³.Netã§ã®ã«ã¹ã¿ã éçºïŒã«ã€ããŠè©±ãåããè¡ããããŒã«ãéžæããŸããã ãã®çµæãç§ãã¡ã¯æºè¶³ããç·åïŒããã³å¥³åïŒã確信ããæ²èŠ³è«è ã«å¯Ÿããå ·äœçãªè°è«ãããã³åºç€ã®åºç€ãç²åŸããŸããã
次ã¯ãããŒã«ãšå®è£ ã®ã¬ãã¥ãŒã®è©±ã§ãã ããªãããã¹ãŠãç¥ã£ãŠããã°-ãŸã£ããã«é²ãã§ããããŒã«ãã»ã¯ã·ã§ã³ã§ãå°é家ã«ãšã£ãŠèå³æ·±ããã®ããããšã¯èããããŸãããããã¯æè²ããã°ã©ã 以äžã®ãã®ã§ãã
ããŒã«
350人ã®éçºè ããã¯ãããžãŒã¹ã¿ãã¯ãšåç©åã§äœæ¥ããŠããŸããããã«ãCROCããŒãã£ã«ã©ãã«ã¯ãAmazon EC2 APIãšVMwareã®Openstackã®äž¡æ¹ããããŸãã ãŸããäžäœã¬ãã«ã«å€æ°ã®ã¹ã¯ãªããããŒã«ããããŸããã ããããäžéšã§ã¯ãã©ãããèœã¡ãã®ããã©ãã§ãã©ã®ãããªæ§é ã§ãã³ã³ãã¢ãã©ã®ããã«èŠããäœãèµ·ããã®ããæ確ã§ã¯ãããŸããã èŠèŠåããŒã«ãå¿ èŠã§ããã
ç§ãã¡ã¯ãç¡æã§ç¡æã®ãœãããŠã§ã¢ããäŸçµŠã³ã³ãã€ãŒãèªååããå æ¬çãªãœãªã¥ãŒã·ã§ã³ãçµã¿ç«ãŠããšããå°é£ãªèª²é¡ã«çŽé¢ããŸãããããã¯ããã®ã¯ã©ã¹ã®å·¥æ¥æææš©ã®ãããœãªã¥ãŒã·ã§ã³ã«å£ããªãã§ãããã
ãã®ã¯ã©ã¹ã®ã·ã¹ãã ã®ã¢ãŒããã¯ãã£ã¯ã3ã€ã®ã³ã³ããŒãã³ãã§æ§æãããŠããŸãã
â¢æäžäœã§ã¯ãã¢ããªã±ãŒã·ã§ã³é ä¿¡ãã€ãã©ã€ã³ãèªååããã³èŠèŠåããããã®ãœãªã¥ãŒã·ã§ã³ã ããã¯äž»ã«ããšã³ããŠãŒã¶ãŒããªãªãŒã¹ã®ãã¹ãŠã®æ®µéã®çµéã远跡ã§ããWebã€ã³ã¿ãŒãã§ã€ã¹ã§ã-ãœãŒã¹ã³ãŒãããã®ããã±ãŒãžã®æåã®ã¢ã»ã³ããªãããã¹ãŠã®ãã¹ãã®ééãŸã§ãä»»æã®æ®µéãåèµ·åããããã»ã¹ã倱æããå Žåã«ãã°ã確èªããŸãã
â¢ã€ã³ãã©ã¹ãã©ã¯ãã£ã®å±éãèªååãããœãªã¥ãŒã·ã§ã³ã ããã¯äžçš®ã®ãªãŒã±ã¹ãã©ã§ããããã®ã¿ã¹ã¯ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ã€ã³ãã©ã¹ãã©ã¯ãã£ïŒç¹å®ã®ã¯ã©ãŠããããã€ããŒã®ä»®æ³ãã·ã³ïŒãäœæããããšã§ãã ãã®å Žåãã³ã³ããŒãã³ãã¯åºæ¬çãªã€ã³ãã©ã¹ãã©ã¯ãã£ã®äœæãæ åœãã次ã®ã³ã³ããŒãã³ãã¯ãœãããŠã§ã¢ã®åŸ®èª¿æŽãšæ§æãæ åœããŸãã
â¢ã·ã¹ãã ãœãããŠã§ã¢ã®ã€ã³ã¹ããŒã«ããªãªãŒã¹ã«å¿ èŠãªè¿œå ã¢ããªã±ãŒã·ã§ã³ãããŒã¿ããŒã¹ããã³ã¢ããªã±ãŒã·ã§ã³ãµãŒããŒã®æ§æãããŸããŸãªã¹ã¯ãªããã®å®è¡ã®éå§ãã¢ããªã±ãŒã·ã§ã³ã®ãªãªãŒã¹ã®çŽæ¥ã€ã³ã¹ããŒã«ãªã©ãäœææžã¿ã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã®æ§æã«å¿ èŠãªæ§æ管çãœãªã¥ãŒã·ã§ã³ã
åãããã¯ã«ã€ããŠãæãé©åã§äººæ°ã®ããããŒã«ãåæããŸããã åã³ã³ããŒãã³ãããã詳现ã«æ€èšãããããã¬ãã«ããå§ããŸãããã
ããŒã«ã«æ±ããŠãããã®ãšèŠããã®
ïŒãªãŒãã³ãœãŒã¹ã§ããããšã«å ããŠïŒããŒã«ãéžæããããã®äž»ãªåºæºã¯æ¬¡ã®ãšããã§ãã
â¢çµ±åã®èŠ³ç¹ããã®æ±çšæ§ïŒããŒã«ã¯ããããžã§ã¯ãïŒgitãmercurialãTFSïŒã§äœ¿çšããããã¹ãŠã®ã¡ã€ã³ãœãŒã¹ã³ãŒã管çã·ã¹ãã ããµããŒãããCI Jenkinsããã³Teamcityãšåéã«ãªããSeleniumããã³JMeterãã¹ãã·ã¹ãã ãšé£æºã§ããçžäºäœçšãç°¡åã«ã«ã¹ã¿ãã€ãºã§ããå¿ èŠããããŸããªãŒãã³ãœãŒã¹ã®ã€ã³ãã©ã¹ãã©ã¯ãã£å±éããã³æ§æ管çã·ã¹ãã ã
â¢ã«ã¹ã¿ãã€ãºããããã€ãã©ã€ã³ãšèšå®ãããã¹ãèšå®ã«ãšã¯ã¹ããŒã/ã€ã³ããŒãããæ©èœïŒPipeline-as-a-CodeïŒã
â¢ãã¬ãŒãã³ã°æ²ç·ïŒæçµçã«ãçºèŠãããããŒã«ã«ã€ããŠãçºèŠãããå®è£ ãšã³ãžãã¢ããã¬ãŒãã³ã°ããå¿ èŠããããŸããã ãã®ããŒã«ã¯ãç¿åŸãšèª¿æŽãç°¡åã§ãªããã°ãªããŸããã
ç§ãã¡ã¯ãžã§ã³ãã³ã¹ããå§ããŸãããç§ãã¡ã¯ãã§ã«CIãšããŠç«ã¡ãæ©èœããŠããŸããã CDããã³ãã€ãã©ã€ã³èªååãœãªã¥ãŒã·ã§ã³ãšããŠé©ããŠããŸããïŒ çµå±ã®ãšãããèšå€§ãªæ°ã®ãã©ã°ã€ã³ãšçµ±åã«ããããããããããããããŠãã®çç±ã¯æ¬¡ã®ãšããã§ãã
â¢Blue Oceanãããžã§ã¯ãã«ã¯ãŸã 管çã€ã³ã¿ãŒãã§ã€ã¹ãå«ãŸããŠããŸããããªãªãŒã¹ã®çµéã段éããšã«çŸããåçã§èŠãããšãã§ããŸãããåãã€ã³ã¿ãŒãã§ã€ã¹ããç¹å®ã®æé ãåéããããšã¯ã§ããŸããã
â¢ãã€ãã©ã€ã³èªäœããœãŒã¹ã³ãŒãã®åœ¢åŒã§èšè¿°ããå¿ èŠãããã宣èšåãã€ãã©ã€ã³ãèšè¿°ããããã®èšèªã¯ãŸã 湿ã£ãŠããŸã-管çãšãã¬ãŒãã³ã°ã®é£ããã
â¢Jenkinsãšãšãã«Teamcityãéå¶ããŠããŸãããäžéšã®ãããžã§ã¯ãã§ã¯ãã䟿å©ã§ãã
ãããã®çç±ã«ãããå®å®æ§ïŒè¿œå ã®ãã©ã°ã€ã³ã§ããŒãããããªãå®å®ããæ©èœã®JenkinsããããŸãïŒããã³æ©èœã®åé¢ïŒçµå±ãTeamCityã®ãããªJenkinsã¯ããœãããŠã§ã¢ãçŽæ¥æ§ç¯ããããã®CIãµãŒããŒãšããŠäœ¿çšãããŸãïŒã®ããã調æ»ãç¶ããŸããã
éè¡äŒç€ŸCapitalOneã®éçºè ã®ãããžã§ã¯ãã§ããHygeiaã¯ãäž»ã«æçãªãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã§ç§ãã¡ãé äºããŸããããã®ã€ã³ã¿ãŒãã§ã€ã¹ã§ã¯ããšããããã³ããããšè²¢ç®è ã«é¢ããçµ±èšæ å ±ãã¹ããªã³ãã¿ã¹ã¯ã®æŠèŠãã¹ããªã³ãã«å®è£ ãããæ©èœã®ãªã¹ããèŠãããšãã§ããŸãã ããã§ããå æ¬çãªWeb UIã«ãããããããããŒã«ã¯äœæè ã®ã¿ã¹ã¯ã«é«åºŠã«ç¹åãããŠããããšãå€æããŸããã
Hygeiaã¯ãå¿ èŠãªçµ±åã®æ¬ åŠã調æ»æç¹ã§ã®äžååãªããã¥ã¡ã³ããããã³ããŒã«ã®æ©èœã®æ¡åŒµãšã«ã¹ã¿ãã€ãºãå°é£ãªãããåºæºã«é©åããŸããã§ããã
次ã«ãäž»ã«Cloud Foundryã«é¢é£ãããããžã§ã¯ãããµããŒãããããã«ãCloud Foundry Foundationã³ãã¥ããã£ã«ãã£ãŠäœæãããConcourse CIã«æ³šç®ããŸããã Concourse CIã¯ã1åéã«è€æ°ã®ãªãªãŒã¹ãå±éããã³ãã¹ãããå¿ èŠãããéåžžã«å€§èŠæš¡ãªãããžã§ã¯ãã«é©ããŠããŸããã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšãããšãã¢ããªã±ãŒã·ã§ã³ãªãªãŒã¹ã®è€æ°ã®ãã©ã³ãã®ã¹ããŒã¿ã¹ãäžåºŠã«è©äŸ¡ã§ããŸãã Concourseã¯ãçµ±åã«é¢ããŠå¿ èŠãªæè»æ§ãšæ®éæ§ãäžè¶³ããŠãããããã¿ã¹ã¯ã«é©ããŠããŸããã§ãããããã«ãç¹å®ã®ã¢ããªã±ãŒã·ã§ã³ãã©ã³ãã®ãªãªãŒã¹ã®ããŸããŸãªããŒãžã§ã³ã®é²æç¶æ³ããã詳现ã«ææ¡ããå¿ èŠããããŸããïŒConcourseã§ã¯ãææ°ããŒãžã§ã³ã®ã¿ã衚瀺ãããŸãïŒã
æåŸã«ã GoCDãããžã§ã¯ãã確èªããŸããã GoCDã¯2007幎ãããã®æŽå²ããªãŒãããŠããã2014幎ã«ãœãŒã¹ã³ãŒããã³ãã¥ããã£ã«æçš¿ãããŸããã GoCDã¯ãçµ±åã®æ®éæ§ã®åºæºãæºãããŸãããGoCDã«å¿ èŠãªãã®ã¯ãã¹ãŠãã®ãŸãŸã§ãµããŒããããŠããããç°¡åã«æ§æã§ããŸããã GoCDã«ã¯ãDevOpså®è·µè ã«ãšã£ãŠéèŠãªPipeline-as-a-codeãã©ãã€ã ã®å®è£ ããããŸãã
ãã€ãã¹ã«ã¯ä»¥äžãå«ãŸããŸãã
â¢çŽèŠ³çã«ç解ã§ããªããšã³ãã£ãã£ã®ãã¹ãïŒãã¹ãŠã®ã¹ããŒãžããžã§ããã¿ã¹ã¯ãªã©ãããã«åŠçããã®ã¯ç°¡åã§ã¯ãããŸããã
â¢ãšãŒãžã§ã³ããã€ã³ã¹ããŒã«ããå¿ èŠããããã¹ã±ãŒãªã³ã°ãšãã«ãã¹ã¬ããåã«ã¯è¿œå ã®ãšãŒãžã§ã³ãã®ã€ã³ã¹ããŒã«ãå¿ èŠã§ãã
äžäœã¬ãã«ã«æ±ºããæ®ãã®2ã€ã®ãããã¯ãæ€èšããŸã
ã€ã³ãã©ã¹ãã©ã¯ãã£å±éããŒã«ãéžæããããã®äž»ãªåºæºã¯ãæåãªã¯ã©ãŠããããã€ããŒã§ããAWSãOpenstackãããã³VMware vSphereã®ç°çš®ç°å¢ã®ãµããŒãã§ãã BoshãTerraformãCloudifyãæ€èšããŸããã
Bosh㯠ãConcourse CIãšåæ§ã«ãCloud Foundry Foundationã³ãã¥ããã£ã«ãã£ãŠäœæãããŸããã è€éãªã¢ãŒããã¯ãã£ãåããéåžžã«åŒ·åãªããŒã«ã«ã¯ã次ã®å©ç¹ããããŸãã
â¢Boshãä»ããŠå±éããããµãŒãã¹ãç£èŠããæ©èœã
â¢å±éããããµãŒãã¹ã®é害ããèªåçã«ããã¿ã³ããšã«å埩ããæ©èœã
â¢å±éå¯èœãªã³ã³ããŒãã³ãã®ãªããžã§ã¯ããªããžããªã
â¢å±éãããã³ã³ããŒãã³ãã®ããŒãžã§ã³ç®¡çãå¶åŸ¡ããããã®çµã¿èŸŒã¿æ©èœã
ãã ããç¬èªã®ä»®æ³ãã·ã³ãã³ãã¬ãŒã圢åŒã«ããè±å¯ãªæ©èœãæäŸãããŠããŸãããã®çç±ãšãBoshããŒã«ã®å šäœçãªè€éãã®ããã«ãããã¯ç§ãã¡ã«ã¯åããŸããã§ããã
Terraformã¯ãã³ãã¥ããã£ã§åºãç¥ãããŠããHashicorpããŒã«ã§ãã äŒç€Ÿã®ä»ã®èªç±ã«é åžããã補åãšåæ§ã«ãã¢ãŒããã¯ãã£çã«ã¯ãã€ããªãã¡ã€ã«ãè¡šããŸãã ã€ã³ã¹ããŒã«ãç°¡åã§ç¿åŸãç°¡åã§ããå±éã«å¿ èŠãªã€ã³ãã©ã¹ãã©ã¯ãã£ã宣èšåœ¢åŒã§èšè¿°ããterraform planã³ãã³ãã§å±éããæ¹æ³ã確èªããterraform applyã³ãã³ãã§çŽæ¥èµ·åããã ãã§ååã§ãã ç£æ¥çšã¢ããªã±ãŒã·ã§ã³ã®å Žåãç¡æã®Terraformã®æ¬ ç¹ã¯ããµãŒããŒéšåã®æ¬ åŠããã°ã®éçŽãå®è¡äžã®ããã»ã¹ã®ã¹ããŒã¿ã¹ã®ç£èŠïŒã€ãŸããéäžç®¡çãšç£æ»ã®æ¬ åŠïŒã§ãã ãã®ç¬éã¯ææã®Terraformã§æ±ºå®ãããŸãããç§ãã¡ã¯ç¬å çã«ç¡æã®ããŒã«ã«èå³ããã£ãã®ã§ãTerraform以å€ã®å Žåã«ã¯Cloudifyã䜿çšããããšã«æ±ºããŸããã
Cloudifyã¯ã GigaSpacesã«ãã£ãŠäœæãããã€ã³ãã©ã¹ãã©ã¯ãã£å±éããŒã«ã§ãã ãã®ããŒã«ã®ç¹åŸŽã¯ãOASIS TOSCAæšæºã®å®£èšåIaaCãã³ãã¬ãŒãã§ã®äºå®äžã®ãµããŒãã§ãã æ©èœé¢ã§ã¯ãCloudifyã¯Boshã«è¿ãã§ããCloudifyãããããã€ããããµãŒãã¹ãç£èŠã§ãããããã€ããããµãŒãã¹ãã¹ã±ãŒãªã³ã°ããã ãã§ãªããé害ããå埩ããããã»ã¹ããããŸãã Boshãšã¯ç°ãªããCloudifyã«ã¯çŽæçãªWebã€ã³ã¿ãŒãã§ã€ã¹ããããCloudifyã¯ã¯ã©ãŠããããã€ããŒã®æšæºVMãã³ãã¬ãŒãã䜿çšããŠã€ã³ãã©ã¹ãã©ã¯ãã£ãå±éããŸãã ãã©ã°ã€ã³ã«ããããŒã«ã®æ©èœãæ¡åŒµãããPythonã§ç¬èªã®ãã©ã°ã€ã³ãäœæããããšãã§ããŸãã ãããã補åã®ææ°ããŒãžã§ã³ã®ã»ãšãã©ã®ã°ã©ãã£ã«ã«ã€ã³ã¿ãŒãã§ã€ã¹ã¯ææçã«åãæ¿ãã£ããšèšããªããã°ãªããŸããã
ãã®ãããã€ã³ãã©ã¹ãã©ã¯ãã£ã®å±éã«ã¯ããã®ã·ã³ãã«ãããã¬ãŒãã³ã°ãšå®è£ ã®é床ã®ããã«Terraformãéžæãããã®æ©èœãšæ±çšæ§ã®ããã«Cloudifyã®ç¡æããŒãžã§ã³ãéžæããŸããã Terraformãšåã ã¡ã«ããããããä»®æ³ã©ãçšã®OpenStackäºæã®APIããã°ããäœæããŸããã
æ§æ管çã®ãœãªã¥ãŒã·ã§ã³ã決å®ããããšã¯æ®ã£ãŠããŸãã AnsibleãChefãPuppetãSaltã®4ã€ã®å€§ããªãã®ãèŠãŸããã
PuppetãšChefã¯ãæ§æ管çããŒã«ã®åžå Žã«ããããå€ããã®ãã§ãïŒæåã®ããŒãžã§ã³ã¯ããããã2005幎ãš2009幎ã«ãªãªãŒã¹ãããŸããïŒã Rubyã§æžããããæ¡åŒµæ§ã®é«ãã¯ã©ã€ã¢ã³ããµãŒããŒã¢ãŒããã¯ãã£ãåããŠããŸãã ãŸã第äžã«ã圌ãã¯ãšã³ããªãŒã®ãããå€ãé«ããããç§ãã¡ã®ã¿ã¹ã¯ã«é©åããŸããã§ãããèšå®ãã³ãã¬ãŒããå«ãRubyèšèªã§å®è£ ãšã³ãžãã¢ããã¬ãŒãã³ã°ããããããŸããã§ããã
Saltã¯Pythonã§æžãããæ°ãããœãªã¥ãŒã·ã§ã³ã§ãã èšå®ãã³ãã¬ãŒãã¯ãã§ã«äŸ¿å©ãªYAML圢åŒã«ãªã£ãŠããŸãã Saltã®èå³æ·±ãæ©èœã¯ãå¶åŸ¡ããããã·ã³ãšå¯Ÿè©±ãããšãŒãžã§ã³ããšãšãŒãžã§ã³ãã¬ã¹ã®äž¡æ¹ã®æ¹æ³ã®å¯èœæ§ã§ãã ããã§ããSaltã®ããã¥ã¡ã³ãã¯æ§é ãäžååã§ç解ãã«ãããããæ°ãããŠãŒã¶ãŒåãã«ããã«ã·ã³ãã«ãªããŒã«ã䜿çšããããšèããŸããã
ãããŠããã®ãããªããŒã«ããããŸã-ããã¯Ansibleã§ãã ãã®ããŒã«ã¯ãã€ã³ã¹ããŒã«ã䜿çšãåŠç¿ãç°¡åã§ãã AnsibleãPythonã§èšè¿°ãããŠãããèšå®ãã³ãã¬ãŒãã¯YAML圢åŒã§ãã Ansibleã«ã¯ãšãŒãžã§ã³ãã¬ã¹ã¢ãŒããã¯ãã£ãããã管ç察象ãã·ã³ã«ã¯ã©ã€ã¢ã³ããã€ã³ã¹ããŒã«ããå¿ èŠã¯ãããŸãã-察話ã¯SSH / PowerShellãä»ããŠè¡ãããŸãã ãã¡ããããã¹ãæ°ã1,000ãè¶ ããã€ã³ãã©ã¹ãã©ã¯ãã£ã§ã¯ãé床ãäœäžããå¯èœæ§ãããããããšãŒãžã§ã³ãã¬ã¹ã¢ãŒããã¯ãã£ã¯æè¯ã®éžæã§ã¯ãããŸãããããã®ãããªåé¡ã«çŽé¢ããããšã¯ãããŸããã§ããïŒãããžã§ã¯ãã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã®ããªã¥ãŒã ã¯éåžžã«å°ãããAnsibleã¯ç§ãã¡ã«ãšã£ãŠå®ç§ã§ããã
解決ç
ãã®çµæãDevOpsãã€ãã©ã€ã³ãèªååããããã®æ¬¡ã®ããŒã«ã»ãããå ¥æããŸããã
ããŒãã®äžã§Ansibleããã³ïŒå Žåã«ãã£ãŠïŒCloudifyãŸãã¯Terraformã æäžäœã¯GoCDã§ãã
次ã«ãéžæããããŒã«ããããžã§ã¯ãã®1ã€ã«å®éã«é©çšããæ¹æ³ã«ã€ããŠèª¬æããŸãã ãã®ãããžã§ã¯ãã«DevOpsãã©ã¯ãã£ã¹ã䜿çšããã±ãŒã¹ã¯ç°¡åã§ã¯ãããŸããã§ããã éçºã¯ããã€ãã®æ°Žéãªããžããªã§è¡ããããªãªãŒã¹ã®éäžãªããžããªã¯ãããŸããã§ããã ãªãªãŒã¹ãšã³ãžãã¢ïŒæåã§æŽæ°ããã°ã©ã ã®ã€ã³ã¹ããŒã«ãå®è¡ããç¹å¥ãªãã¬ãŒãã³ã°ãåãã人ïŒã«æäŸããããœãããŠã§ã¢å±éã«é¢ããæè¡ææžã«ç¹ã«æ³šæãæãããŸãã çå®ãç¥ãããã«ãã¯ãŒãææžãConfluenceã®ãšã³ããªãSlackã®ã¡ãã»ãŒãžããæ å ±ãåéããããšãå°ããã€å¿ èŠã§ããã æã ãããã¥ã¡ã³ããŒã·ã§ã³ã¯ãã¡ã³ã¿ãžãŒã®èŠçŽ ãæã€ãã£ã¯ã·ã§ã³ã®ããã§ããã åŒçšïŒ
å°çã®éã®ç¬¬2éšã ããŒã¿ããŒã¹ããã£ã±ãã«ããŸãã
2.1ãã®ããŒãã§ã¯ãç¹ã«å€ãã®å°é£ãšè©Šç·Žã«çŽé¢ããŸãã泚æããŠãã ããã ãŸããDBAæš©éãæã€ãŠãŒã¶ãŒSYSãšããŠããŒã¿ããŒã¹ã«æ¥ç¶ããŸã
2.2åªæãå±ããŸãã¹ã¯ãªãããå®è¡ããŸãã
ãã¹ãŠã®æäœã®ç£æ»ãšçµ±åã®åŸãéçºè ã¯ããã¥ã¡ã³ããå®æããã人éãšæ§æ管çã·ã¹ãã ã®äž¡æ¹ãç解ã§ãã䟿å©ãªåœ¢åŒã§ããã¥ã¡ã³ããæ瀺ããŸããã
éçºã¯ãããããªå€æŽãå ããŠããã€ãã®ã¹ã¿ã³ãã§è¡ãããŸããã ãã¹ãç°å¢ã«ã¯ãæãå®å šãªCI / CDãã€ãã©ã€ã³ãå«ãŸããŠããã7ã€ã®æ®µéã«åããããšãã§ããŸãã
1. Jenkinsã§ãªãªãŒã¹ãã«ã
顧客ã¯ä»¥åã«Jenkinsã䜿çšããŠããŸããããéçºè ã®ãã·ã³ã§ããŒã«ã«ã«ã¢ã»ã³ããªãè¡ãããªãªãŒã¹ãã¢ãŒã«ã€ãã®åœ¢ã§è»¢éããŸããã ã¢ã»ã³ããªãäžå åãããJenkinsãµãŒããŒã«è»¢éããArtifactoryã«ã¢ãŒãã£ãã¡ã¯ããä¿åãããšãããšèšããŸããã ããã«ããããã¹ãŠã®ã¢ãŒãã£ãã¡ã¯ãã®ãšã³ãããŒãšã³ãã®ã€ã³ããã¯ã¹äœæãå¿ èŠãªããŒãžã§ã³ã®è¿ éãªã€ã³ã¹ããŒã«ãåã ã®ã¹ã¯ãªãããããã¯ã®ãã¹ããããã³ã¹ã¯ãªããã®ãšã©ãŒã«äŒŽãå€æŽã確èªããããšãã§ããŸããã
2.ã€ã³ãã©ã¹ãã©ã¯ãã£ã®å±é
ãã¹ãç°å¢ãCROCããŒãã£ã«ã©ãã«ç§»ããæ°žç¶çãªç¶æ ã«ä¿ã€ããšãåæ¢ããŸããã ãã¹ã¿ãŒã®èŠæ±ã«ããããŸãã¯Jenkinsã§ã®æ°ãããªãªãŒã¹ã®åºçŸåŸã«èªåçã«ãCROCä»®æ³å®éšå®€ã®Openstackã«ä»¥åã«ããŒããããVMãã³ãã¬ãŒãããã®Terraformãããã§ã¹ãã«åºã¥ããŠãç°å¢ãåŒãäžããããŸãã
åºåå€æ°ã®åœ¢åŒã§ãã¹ã¿ã³ãã®ã¢ãã¬ã¹ãååŸããã·ããªãªã®åŸåã§äœ¿çšããŸãã
3.ã¹ã¿ã³ãã®æ§æ
ãã€ãã©ã€ã³ã®æãé¢åãªéšåã¯ãã¹ã¿ã³ãã®èªåæ§æã®ã¡ã«ããºã ãéçºããããšã§ããã
OracleããŒã¿ããŒã¹ãæ§æããIBM MQãã¹ãšIBM WASã¢ããªã±ãŒã·ã§ã³ãµãŒããŒãæ§æããå¿ èŠããããŸããã ãããã®èšå®ã¯ãã¹ãŠãã·ã¢èªçã®Windowsã§è¡ãå¿ èŠããããããç¶æ³ã¯è€éã§ããïŒsicïŒïŒã ããŒã¿ããŒã¹ã«é¢ããŠãã¹ãŠãã»ãŒééçã§ããå ŽåãCLIãŸãã¯ä»ã®èªååãããæ段ãããããžã§ã¯ãã§MQããã³WASãæ§æãã人ã¯ããŸãããããã¹ãŠãæ©èœãããããã«ã€ã³ã¿ãŒãã§ãŒã¹ã®ã©ããã¯ãªãã¯ãããã瀺ãããšããã§ããŸãã
ç§ãã¡ã¯ããšã³ãžãã¢ãæ°æ¥ããã£ãäœæ¥ã11åã§è¡ããŠãããŒãµã«ãã¬ã€ããã¯ãäœæããŸããã
4.åºæ¬çãªã¢ããªã±ãŒã·ã§ã³ã®ã€ã³ã¹ããŒã«
ã客æ§ãã¢ããªã±ãŒã·ã§ã³ãWASã«ã€ã³ã¹ããŒã«ããã³æŽæ°ããããã«ãã客æ§ã¯batã¹ã¯ãªãããå®è¡ããŸãããããããã«ã€ããŠã¯ããŸãæãäžãããåæ圢åŒã§ãã€ãã©ã€ã³ã«çµã¿èŸŒã¿ãŸããã çµäºã³ãŒãããã§ãã¯ãããŒãã§ãªãå Žåã¯ããã§ã«ãã°ãèŠãŠããã®ã¢ããªã±ãŒã·ã§ã³ãŸãã¯ãã®ã¢ããªã±ãŒã·ã§ã³ãèµ·åããªãã£ãçç±ãç解ããŸãã ã¹ã¯ãªããå®è¡ãã°ã¯ãã¹ã¯ãªããã¢ãŒãã£ãã¡ã¯ããšããŠä¿åãããŸãã
5.ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã¢ããªã±ãŒã·ã§ã³ã®ã€ã³ã¹ããŒã«
ãã®ã¹ããŒãžã¯åã®ã¹ããŒãžãšéåžžã«äŒŒãŠãããåããã€ãã©ã€ã³ãã³ãã¬ãŒãããå®è¡ãããŸãã å¯äžã®éãã¯ãbatã¹ã¯ãªããã§äœ¿çšãããæ§æãã¡ã€ã«ã§ãã ãã ãããã¹ãŠã®ã¹ã¿ã³ãããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãå¿ èŠãšããããã§ã¯ãªããããæŽæ°ã®å©äŸ¿æ§ã®ããã«å¥ã®æ®µéã«åããå¿ èŠããããŸããã
6.ãã¹ã
ãã¹ãçšã«ãããŸããŸãªããŒã«ïŒSeleniumãJMeterïŒã䜿çšããŸããã ãã®ã¹ã¯ãªããã䜿çšãããšãããã€ãã®ãã¹ãèšç»ãå€æŽããããšãã§ãããã®éžæã¯ãã®æ®µéã§å€æ°ã®åœ¢åŒã§èšå®ãããŸãã ãã¹ãçµæã«åºã¥ããŠãã«ã¹ã¿ã ã¿ããäœæããã¬ããŒããçæãããŸãã ããã§ãGoCDã€ã³ã¿ãŒãã§ãŒã¹ããçŽæ¥äŸ¿å©ã«è¡šç€ºã§ããŸãã
7.ã€ã³ãã©ã¹ãã©ã¯ãã£ã®åé€
ãã¹ãã®çµæã責任è ã¯éç¥ãåãåãããã®ã¢ã»ã³ããªãå®çšŒåã«ç§»è¡ããããå€æŽãå¿ èŠãã決å®ããŸãã ãã¹ãŠãé 調ã§ããã°ããã¹ããã³ããåãå€ããŠãCROCããŒãã£ã«ã©ãã®ãªãœãŒã¹ã浪費ããããšã¯ãããŸããã
ãã®çµæããã®ãããžã§ã¯ãã§DevOpsãã€ãã©ã€ã³ã䜿çšããããã®æ¬¡ã®ããžãã¯ãåŸãããŸããã
ãããŠããããã¯ã€ã³ã¿ãŒãã§ãŒã¹ã§ãïŒ
ãããŒãããïŒã³ãããããããŒãžã§ã³ç®¡çã·ã¹ãã ãžã®ãªãªãŒã¹ã®ç§»åããã¹ãå®è¡ïŒ
1ã€ã®ã·ããªãªã®ã¹ããŒãžã®ã¹ããŒã¿ã¹ã®èŠèŠå
ã¹ã¯ãªããå®è¡ã®æ®µéã«é¢ãã詳现æ å ±ïŒãã°ãã¹ã¯ãªãããžã®å€æŽå±¥æŽã段éã®å®è¡æéïŒ
ãããŒãããïŒå¥ã®ãããžã§ã¯ããããã³ã³ãã¯ãïŒ
2ãã€ãã©ã€ã³ããã®ã¹ã¯ãªããã®äžè¬çãªãã¥ãŒ
å¥ã®äŸã¯ãkatã®åã®å³ã®7ã€ã®ãã€ãã©ã€ã³ããã®ã¹ã¯ãªããã®äžè¬çãªãã¥ãŒã§ãã
æ°ããé éã³ã³ãã¢ã®å°å ¥ã®çµæã«ãããšãããŒã ãããã£ãŒãããã¯ãåŸãããšãéèŠã§ããïŒã«ãããªãïŒïŒ
ãå€§å¹ ã«ïŒæ°æ¥ããæ°æéã«ïŒæ°ããã¹ã¿ã³ããäœæããæéãæžå°ããŸããã ä»ãããªãã¯ç°ãªãããŒãžã§ã³ã®ããã€ãã®ã¹ã¿ã³ããç¶æããããšãã§ããŸããã å¿ èŠã«å¿ããŠãDevOpsã³ãŒãã¯ãããžã§ã¯ãã³ãŒããšãšãã«ããŒãžã§ã³ç®¡çããããããç®çã®ããŒãžã§ã³ã¯ãŒãããåŒãäžããããã¹ã¿ã³ãèªäœã¯ç®çã®ããŒãžã§ã³ã®ãªãªãŒã¹æã®ç¶æ ã«å¯Ÿå¿ããããšãä¿èšŒãããŸãã ççºå質ãåäžããŸãã ããã¥ã¡ã³ãã DevOpsã³ãŒãã¯æããã«åœä»€ãç¹°ãè¿ããŠããããããæé»ã®ããã®ãªã©ã¯ããã«æ®ãããŠããŸããããšã³ãžãã¢åãã®ã«ãŒãã³æäœã®æ°ã¯æžå°ããŠããŸãã
ãã¹ããäœæãããã¹ã¿ãŒã®èœåã¯ããšã³ãžãã¢ã®é¢äžãââæå°éã«æããªãããè€éãªã±ãŒã¹ïŒè² è·ããã©ãŒã«ããã¬ã©ã³ã¹ïŒãè¡šããŸãã ãããžã§ã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ã管çããããã®æåã®ã¹ãããã¯ãããŒãžã§ã³ç®¡çããã¹ããªã©ã§ãããã°ããã䟿å©ã«ããããã«ããã
ç解ã§ããªããçãã-éåžžã«äžè¬çãªèšèã§ãããããåãå ¥ããããŠããããŒã«ã«é¢ãããã¬ãŒãã³ã°ãå®æçã«å®æœããŠããŸãã
ãããŠãããã¯ãšãã«ã®ãŒäŒç€Ÿã®ãããžã§ã¯ãããã®ãã£ãŒãããã¯ã§ãïŒ
ãé·æéã®ã«ãŒãã³æäœã®èªååã é±ã«1æ¥çŽ0.5ã1人ãç¯çŽããŸãã ãŸãããªãªãŒã¹ã®æºåäžãå®éã«ã¯ã1人ã®ãšã³ãžãã¢ã®50ïŒ ãæŽæ°ãã«ãã«åŸäºããŠããŸããã æŽæ°ããã»ã¹ãã¹ããŒãã¢ããããŸãã ãã¹ãŠã®ãµã€ãïŒ7åïŒã®æŽæ°ã«é¢ããå®æçãªã¡ã³ããã³ã¹äœæ¥ã¯å¹³å3æéã§ã-æŽæ°ã®èªåå+ã»ã«ããã¹ã+ç®ã§ç¢ºãããŠãã ããïŒã€ãŸããå®éã®æ®æ¥ã¯æå°éã«æããããŸãïŒã ãã¹ãŠã®ç°å¢ã«é¢ããæ å ±ã®ä¿ç®¡ãåçåãããã®é¢é£æ§ãšã¿ã€ã ãªãŒãªæŽæ°ãä¿èšŒããŸãã å€éã®èªåæ€åºãšèªåãã¹ãã®å°å ¥-補åã®ç¶æ ã®éææ§ãé«ããŸãã 補åå質ã®æ¹åã ããããã£ãã¯ã¹ããªãªãŒã¹ããå¿ èŠã¯ã»ãšãã©ãããŸããã ãªãªãŒã¹ã³ã¹ãã®åæžãã
äœãåŸãã®
- çµã¿ç«ãŠããããã«ãã®å質ã«é¢ããéçšæ å ±ãé éã³ã³ãã€ãŒã®èŠèŠçè¡šçŸã
- æšæºã®é åžãªããžããªã«ã¯åžžã«ã¢ã»ã³ããªããããŸãã
- ã¹ã¿ã³ãäžã®çŸåšã®å€åããã°ãã確èªããæ©èœã
- ããŸããŸãªä»®æ³åã®ãã¹ãŠã§ã€ã³ãã©ã¹ãã©ã¯ãã£ïŒã³ãŒããšããŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£ïŒãããã°ã©ã ããæ©èœã
- é©åãªã€ã³ãã©ã¹ãã©ã¯ãã£ãšã¢ããªã±ãŒã·ã§ã³ã·ã¹ãã ãé©åãªãªã³ããã³ãããŒãžã§ã³ã«è¿ éã«å±éããæ©èœã
- ãµã³ãã«ãããžã§ã¯ããæ§æããããã®Ansibleãµã³ãã«ããŒã«ã
ã€ã³ãã©ã¹ãã©ã¯ãã£ã確ç«ããããã«ãããã€ãã®ãããžã§ã¯ãã¿ã¹ã¯ã®äœæ¥ãäžæããå¿ èŠããããŸããã devopsã®å®è£ ãæ©ããã°æ©ãã»ã©ãè²»ããæéãå°ãªããªããŸãã ãã以å€ã®å Žåã¯ããããžã§ã¯ãã®ã¢ã¯ãã£ããã£ãå°ãªãæéã«ãããå®è£ ããå¿ èŠãããããã€çºçããŸããïŒ
ç§ãã¡ã¯åŒãç¶ããèªååã®å¿ èŠæ§ã«ã€ããŠäŒç€Ÿãšãã®åšèŸºã«åªããç¥ãããŸãã äžå¯§ã«ã ãã¡ããšã
åç §ïŒ
- å šäœã®éäžåã®éå§ã®1幎åã«ç§ãã¡ã®opsã®é¢çœããã€ã¯
- ãã®ã¹ã¿ãã¯ã䜿çšããåååãšãã«ã®ãŒã®ãããžã§ã¯ãã®çµæã¯æ¬¡ã®ãšããã§ã
- å šåœã®éçºã»ã³ã¿ãŒã«ã€ããŠïŒã¡ãªã¿ã«ããã以éããŽã©ãããžãšãã§ãªã£ãã³ã¹ã¯ã§ããã«å€ãã®ã»ã³ã¿ãŒãè¿œå ãããŸããïŒã
- ç§ã®ã¡ãŒã«ã¯sstrelkov@croc.ruã§ãã