ãããããªããåªåã§ããããšã§ãå
šåœã«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ã§ãã