JAWS DAYS 2013ã«åå ãã¦ãã
JAWS DAYS 2013ã«åå ãã¦ãã¾ããã3/16ï¼åï¼ã®ã¿åå ãã¾ããã3/15ï¼éï¼ã¯è¡ãã¾ããã§ãããã
JAWS DAYS 2013ã§ãç®ç«ã£ããã¼ã¯ã¼ãããDevOpsãã§ãããã»ã¨ãã©ã®ã»ãã·ã§ã³ã§1åã¯åèªãç»å ´ããã®ã§ã¯ãªãã§ãããããDevOpsã¨ããæ¦å¿µã¯2010å¹´ï¼2009å¹´ï¼ï¼ããããããã£ãããã§ããããããæ¥æ¬ã§å¤ãã®äººã«èªç¥ãããã®ã¯ä»å¹´ã§ã¯ãªãã§ãããããã
ç§ã®DevOpsã®èªèã¯ãçµå¶ã§è¨ãã¨ããã®ãã¯ãã¹ãã¡ã³ã¯ã·ã§ãã«ãã«è¿ãæ¦å¿µã¨ã æã£ã¦ãã¾ããã¯ã©ã¦ããGitHubçã®ç»å ´ã«ãã£ã¦Devã¨Opsã®å
±éè¨èªãã§ãããäºããããæ·±ãã¨ããã¾ã§ç解ãåããé«ããããããã«ãªã£ãã¨ããå°è±¡ã§ããDevã¯ã¢ããªã®ã³ã¼ããæ¸ãããOpsã¯ã¤ã³ãã©ã®ã³ã¼ããæ¸ããå ´åã«ãã£ã¦ã¯Devã¨Opsãåãè¨èªã§æ¸ããã§ããããDevãOpsã®ã³ã¼ããè¦ã¦ãããã¨ãã¦ãããã¨ã«å¯¾ãã¦ãã£ã¼ãããã¯ãè¡ããéãããããDevãOpsã価å¤ã®é«ããµã¼ãã¹ãæä¾ããã¨ããç®æ¨ã¯åããªããã§ãããããã£ã¼ãããã¯ãããããã¨ã§ã価å¤ã®é«ããµã¼ãã¹ãæä¾ãããããªãã¨æãã¾ãã
ä¸è¨ã¯ã»ãã·ã§ã³ã®ã¡ã¢ã§ãã
ã¤ã³ãã©ã¨ã³ã¸ãã¢ãéçºè ã¨å®è·µãã¦ããDevOpsãªç¾å ´ã®ã話
http://jaws-ug.jp/jawsdays2013/speaker.html#OPS-01
çºè¡¨è ã«ã¤ãã¦
- @ume3
- ããã°ï¼ã¤ã³ãã©ã¨ã³ã¸ãã¢ã«æã
- Ops:4å¹´ç®
- ãµã¼ãã®æ§ç¯ã»ä¿å®ã»éç¨ãæ å½
- ããã¹ãã¤ã³ãã©ã®äººã§ã
ããºã¯ã¼ãåãããDevOpsãã®è¨èã®æ´ç
- Dev [Development]
- éçºè / ããããã
- Ops [Operations]
- éç¨è / ã¤ã³ãã©ã¨ã³ã¸ãã¢
- Devæåã¨Opsæåã®å ±æ
DevOpsã¨ã¯ï¼
éçºè ã¨éç¨è ã®å£ããªãããã¨
幸ãã«ãªãããã«
- DevããOpsã¸ã®ãé¡ãä½æ¥ãæ¸ãã
- GitHubã§Pull Requestããé¢ä¿
- ç©æ¥µçãªã¯ã©ã¦ãã®æ´»ç¨
- Devãéçºç°å¢ãæ§ç¯ã»ç®¡ç
DevOps å®è·µç·¨
- Opsã¨ã¯
- Web Applicationãæ§ç¯ã»éç¨ã»ä¿å®ã®é¢ããæ¯ãã人
- ä»ã¾ã§ã®Ops
- ãã¼ã¿ã»ã³ã¿ã¼ã«è¡ã£ã¦ããµã¼ããæ§ç¯ã帰ã£ãããµã¼ãã®ä¿å®æé æ¸ãä½æãã¦ãå¤éã¡ã³ãã®éç¨æºåãããªãããªãæ¥ææ¥ã¯ç£è¦ã»ã»ã
- ä»ã®Ops
- ã¯ã©ã¦ãã®APIã§ãµã¼ãæ§ç¯ã®èªååãæé æ¸ãã³ã¼ãåãã¦æè»ã«ãä¿å®æã¯çæéã§å¾©æ§ã
- æ§ç¯ : 20%ãéç¨ : 20%ãä¿å® : 60%ãâãæ§ç¯ : 20%ãéç¨ : 60%ãä¿å® : 20%
- ãªãªã¼ã¹å¾ã®éç¨ã«åãå ¥ããã
- éç¨ã§å¿
è¦ãªå
- æåä½æ¥ã®èªåå
- ã³ã¼ããããã¦ãã¼ã«ã使ããã
- ããã©ã¼ãã³ã¹ãã¥ã¼ãã³ã°
- æ§è½ç£è¦
- ãã¼ãã¦ã§ã¢ãããã«ã¦ã§ã¢ã®ãã¥ã¼ãã³ã°
- å®ãï¼ä¿å®ï¼ããæ»ãï¼éç¨ï¼ã¸
- æåä½æ¥ã®èªåå
- Opsã¯èªç¶ã«Devãã¼ã«ã®åãæ±ãã
- ã¯ã©ã¦ã
- æ§æ管ç
- Puppet / chef
- ãªãã¸ã§ã³ç®¡ç
- Git
- æ å ±å ±æ
- ãããã¤ã¡ã³ã
- Jenkins / webistrano
- ããã¸ã§ã¯ã管ç
- Agile / ä»ç®ç´
- Devã¯ããã¼ãã¦ã§ã¢ãAPIã¨ãã¦è¦ããã¨ãåºæ¥ããï¼ã¤ã³ãã©ã®ã³ã¼ãåï¼
- Opsã¯ãéç¨ã«æéãæ¸ãããã¨ãåºæ¥ãï¼ãã¼ãã¦ã§ã¢ä¿å®ããã®è±å´ï¼
- ãããããããï¼ãè¨ããããé¢ä¿ã«ä¸æ©åé²ã
- Devã¨Opsã§èªç¶ã¨ã³ãã¥ãã±ã¼ã·ã§ã³ãçã¾ããã
- Gitã§ã³ã¼ãã®ä¸ä»£ç®¡ç
- GitHubã®IssueãWikiãæ´»ç¨
- Devã¨Opsã®ã³ãã¥ãã±ã¼ã·ã§ã³ã«ããããªãã
- pull Requestããæåï¼ãã«ãªã¯ååï¼
- GitHubã§Puppetã³ã¼ãã管çããã
- OpsãPushãã¤Pull Reqãªãã¨ãã
- Puppet
- æ§æ管çãã¼ã«ã§æé æ¸ã®ã³ã¼ãå
- ç¬èªã®ã¬ã·ãã§ããã«ã¦ã§ã¢ã®ããµãã¾ãããè¨å®ãã¡ã¤ã«ãå½¹å²ãã¨ã«ç®¡çã§ããã
- ãµã¼ãæ§ç¯ã®èªåå
- æ§æãèªååããåã«
- Opsã ãã§æ§æ管çããã®ã¯é£ããã
- Devã¨ä¸ç·ã«è©±ãåã£ã¦è¨è¨ããä¸ã§ãèªååã«ã¤ãã¦èããå¿ è¦ãããã
- IRCãBotã³ãã¥ãã±ã¼ã·ã§ã³
- Webistranoï¼èªåãããã¤ãã¼ã«ãCapistranoãWebã¢ããªã§ã©ãããããã®(Ruby製ï¼ãGUIæä½ã§ãããã¤å¯è½ï¼
- éçºç°å¢ã®æ§ç¯ã¯Devãããã
- Opsãæ§æ管çããVMï¼ä»®æ³ãã·ã³ï¼ã使ã
- Devãããç¨åº¦ç®¡çãã
- Devã§ã§ããã¤ã³ãã©ã®ãã¨ã¯OpsãããããDevãããã
- ã¿ã¹ã¯ã®å¯è¦åã
- Fluentdã§ãã°åºç¤
- ãã°ã®ç®¡çã¯ææ§
- DevOpsã£ã·ãããããããã
- Fluentdã§ãã°æ¡å
- æ¡åé²è¦§ã®ä»çµã¿ãOpsãç¨æ
- Devã¯ãã°ã®ç¢ºèªã®ä»çµã¿ãç¨æãããã¨ã
- ãã°ã®ç®¡çã¯ææ§
- DevOpsãå½ããåã®ä¸çã¸
AWSãæ´»ç¨ãã¦å°ããªãã¼ã ã§ä¸çã§ä½¿ããããµã¼ãã¹ãéç¨ããæ¹æ³
http://jaws-ug.jp/jawsdays2013/speaker.html#OPS-04
ä¼ç¤¾ããµã¼ãã¹
- ãã¼ã©ã nulab http://www.nulab.co.jp/
- Backlog
- 13ä¸ã¦ã¼ã¶
- WebDavã«ãããã¡ã¤ã«å ±æ
- GitãSubversionã®ãªãã¸ããªãã¹ãã£ã³ã°
- Cacco https://cacoo.com/lang/ja/
- å¯æ°ã®ã¦ã¼ã¶ã§åæã«ç·¨éã§ãããªã¢ã«ã¿ã¤ã ã³ã©ãã¬ã¼ã·ã§ã³
- éçºããã»ã¹ã«ã¤ãã¦ã¯ãWeb+DB vol 72ã«æ¸ãã¦ããã
- Cacco for Google+ Hangouts
- Backlog, Caccoã¨ããã¦ã¼ã¶ã®æ¥å¢ãããµã¼ãã¹ãï¼äººã®ã¨ã³ã¸ãã¢ã§ãã£ã¦ããã¦ãããAWSã®ãããã
- Developer's role
ãµã¼ãã¹ãéç¨ããæ¹æ³
- AWSä½ä½¿ã£ã¦ãï¼
- EC2, S3, ELB, CloudFront, Route53, RDS
- We love RDBMSï¼MySQL, PostgreSQLï¼
- ãã¼ã¿ã¹ãã¢ã¯ Dev/Ops 両æ¹ãå·¦å³ããã
- AWSä¾åã®è¨è¨ã«ãããã©ããã¯ããæ¤è¨
- ã¯ã©ã¦ãã ãã NoSQL, ãã®åã«ï¼Twitterãæåã¯RDBSããªãä»ã®ãã¼ã¿ã¹ãã¢ã使ãã®ãã¯ãã£ããã¨èãããã¨ï¼
- ã¢ã¯ã·ã§ã³ã»ãã¡ã¼ã¹ã
- 価å¤æä¾æéè¦ï¼å®å®æ§ã価å¤ï¼
- ä¸ç¢ºå®ãªæªæ¥ã«å¯¾ãã¦ã³ãããããããªã
- ã¤ã³ãã©ã¯å¾ããã©ãã«ãããï¼åºæ¥ãï¼
- ãªã¼ãã¡ã¼ã·ã§ã³
- fabricï¼fabfile.orgï¼
- å¦ç¿ã³ã¹ãä½ãã移è¡æ¥½ã
- cuisineï¼fabricã¨åããã¦ä½¿ãã¨è¯ãï¼https://github.com/sebastien/cuisine
- ã·ã³ãã«ï¼ã·ã³ãã«ï¼ã·ã³ãã«ï¼
- botoã¨çµã¿åããã¦ä½¿ããã¨ã§å¤æ§ãªæä½ãå¯è½
- cuisine 㧠chef-like ãªç°å¢æ§ç¯ã
- Staging & Deployãèªåå
- gitæ´æ°
- Jenkinsã§éã£ãããfabricã«ããç°å¢åæåãããã¤ã
- Seleniumã®å®è¡
- fabricã«ãããããã¤ï¼ãã¼ã¿ç°å¢ï¼
- gitæ´æ°
- èªåãã¡ã§ä½¿ã£ã¦ã¿ãªãã¨ãããããªããããã¨ããä¿¡æ¡ããã
- èªååãã®ãã®ãç®çã«ããªã
- 誰ã§ãåãä½æ¥ãåºæ¥ãããã«
- fabricï¼fabfile.orgï¼
- ã¢ãã¿ãªã³ã°
- é害ã®æ³å®
- Multiple AZ
- ãããã¯ã¼ã¯é 延ãåé¡ã«ãªã£ããã¨ã¯ãªã
- AZéã§ã®éä¿¡é害ã«å¯¾ããç£è¦ã¯ãã¦ãã
- ã¾ã ã¾ã¼ã³é害ãçµé¨ãã¦ããªã..
- Multi tenancy
- ãã¸ãã¹åã or ä¸å人åã
- å½±é¿ç¯å²ãéå®ãããå®å¿æã¯ï¼ããªãï¼å¤§ãã
- å¤é¨ãµã¼ãã¹ã¨ã®é£æºã«å·¥å¤«ãè¦ãå ´åã
- Instanse Role
- åãµã¼ãã¹ã«å½¹å²ãåãã¾ãããã
- If service failure happen
- ãµã¤ãã¯å¥ã®ãªã¼ã¸ã§ã³ or å¥ãµã¼ãã¹ã§ç®¡çï¼é害ã®æã«ãã¦ã¼ã¶ãé害æ å ±ã«ãªã¼ãããããã«ï¼
- Multiple AZ
- ã¾ã¨ã
- Dev = Ops for a small team
- 価å¤ãå±ãããã¨ãç®çã§ãã£ã¦ãéçºè ã¨ãã¤ã³ãã©å±ã¨ãé¢ä¿ãªãã
- ãµã¼ãã¹ãéç¨ãå§ãã¦ããã次ã«åãèµãé¸ã¶ãã¨ãåºæ¥ãæè»ãã
ã©ã³ãã³ã°ï¼ä½ã®äººæ°ã¹ããã¢ããªãã«ã¸ã¥ã¢ã«ã«ã»ãã¥ã¢ã«éç¨ãããã¦ãã¦ãæãã¾ã
http://jaws-ug.jp/jawsdays2013/speaker.html#OPS-05
toCãµã¼ãã¹ã®è¦ä»¶
- è¦æ¨¡ãäºæ¸¬/ã³ã³ããã¼ã«ä¸å¯è½
- åãã¦ãã¦å½ããå
- ã¹ããã¢ããªã¯ãµã¼ãã®ç¶æ ã表ã«åºãªã
- ãã¼ã¿ããªãããªã
PDCAãã¶ãã¾ãã
AWSã§è§£æ±º
- è¦æ¨¡ãäºæ¸¬/ã³ã³ããã¼ã«ä¸å¯è½
- => è¦æ¨¡ã«å¿ãã¦æè»ã«å¢æ¸ã§ãããã¾ãæ§ã ãªãµã¼ãã¹ãçµã¿åãããããã
- åãã¦ãã¦å½ããå
- => Multi-AZãRegions, oute53, S3ãªã©ãªã©ãæè»ã«çµã¿åããã¦
- ãã¼ã¿ããªãããªã
- => S3, RDSãªã©ãçµã¿åããã¦
ã«ã¸ã¥ã¢ã«ã«ã»ãã¥ã¢ã«AWSã使ãããã«
ã¢ããªã¨ã³ã¸ãã¢ã§ãå®å ¨ã« = ã«ã¸ã¥ã¢ã«ã«ã»ãã¥ã¢ã«
å ¸åçãªãã¼ã ä½å¶
- 主ã«ä¼ç» 1人
- 主ã«ã¢ããªéçº 2人
- no infra specialistï¼ã¤ã³ãã©ã¨ã³ã¸ãã¢ãªãï¼
ï¼ã¤ã®æé
ACLãµã¼ãã§å¶é
WEBç¨AMIã®å¶é
æä½ãã°ã®åå¾
å¿ ãELB
- æ»æè
ã«æ»æã®æããããä¸ããªã
- æãããï¼ä½¿ç¨ããã«ã¦ã§ã¢ããã¼ã¸ã§ã³æ å ±
- ELBãéãã¨ãæããããé è½ããã
- ãã¡ãããå¿ è¦ãªãã¼ãã ãéãã
Auto Scaling
- ãµã¼ãã¹ã常ã«åãã¦ããç¶æ ãã«ã¸ã¥ã¢ã«ã«æ§ç¯ãããã
- 1å°ã®å ´åã§ãè¨å® = ãµã¼ããã³ã±ãæããµã¼ãã¹ç¶ç¶
- çªçºçãªããºå¹æã«ã対å¿
basic architecture
以ä¸ãå®ãã°ããã¨ã¯èªç±ã«ãã£ã¦ãã
äºä¾ãç´¹ä»
- Ambrotype
- 1827å¹´ã人é¡åã®åçã
- ç¾å¨ã¯åçã®20%ã¯Facebookã«æ稿ããã¦ããã
- è¤æ°ã®ãµã¤ãã«ã¢ãããã¼ãããåçãã¾ã¨ãã¦ãããã
- æè¡ãããã¯
- åSNS / ã¯ã©ã¦ããµã¼ãã¹ã®APIãå©ãã¾ããã
- 対å¿ãµã¼ãã¹æ¯ã«APIä»æ§ãå ¨ãç°ãªãã
- æè¡ãããã¯
- æ§æ
- ï¼Publicï¼Route53 - ELBã ï¼AZ1ï¼EC2 EC2ï¼ã¯ãã¼ã©ï¼ RDSãï¼AZ2ï¼EC2 RDSï¼ã¹ã¿ã³ãã¤ï¼
- newsHUB
- ãã¥ã¼ã¹ãç´ æ©ãææ¡
- ã¢ããªã¯JSONãã¨ãããã«ãç´æ¥S3ã観ã«è¡ã£ã¦ããã
- Cameran
- ã¦ã¼ã¶ã¯ã»ã¼å¥³æ§ãã«ã¡ã©ã¢ããªã¯å¥³æ§åãã«ããã¨ããã
ç¾å¨60ã¢ã«ã¦ã³ããããã«ã¸ã¥ã¢ã«ã«ç¨¼åä¸ã
ã¯ã©ã¦ããªåãæ¹
ã»ãã·ã§ã³ãã¯ã©ã¦ãã®åãæ¹ãã«ã¤ãã¦ã¯ããã½ã³ã³ã®é»æºããªããªã£ãã®ã§ãæãåºããªããã¡ã¢ãã¦ãã¾ãã
- ã¯ã©ã¦ãç»å ´ä»¥åã§ã¯ãè²å ãä»è·ãªã©ã§å ´æãæéã®å¶ç´ãåãããã¨ã«ãªã£ãå ´åãã·ã¹ãã éçºãã¤ã³ãã©ã®ä»äºãç¶ããã®ã¯å°é£ã§ããå ´åãå¤ã ãã£ãã®ã§ã¯ã¨æãã¾ããããããã¯ã©ã¦ãã®ç»å ´ã§é éå°ã«ããªãããã·ã¹ãã éçºãé²ããããã¤ã³ãã©ã®æ§ç¯ãè¡ããããããã¨ãå¯è½ã«ãªãã¾ããã
- ã¯ã©ã¦ãã®ç»å ´ã§ãåãæ¹ã®é¸æè¢ãå¢ããè²å ãä»è·ã®å½±é¿ãåãã¦ãä»ã®ä»äºãç¶ãããã¨ãå¯è½ã«ãªãå ´åããããæããã人ãå¤ã ããã ãããªã¨æãã¾ãããä¼ç¤¾ãåãã¦ãã人ã家æãã客æ§ãä¸éãçç¬é¡ãå¢ãããã§ãããã¨ã¦ãã¹ãããªãã¨ã§ããã
- 介護の課題をクラウドで乗り越える
- ãªã¢ã¼ãå¤åã§å¤§åãªãã¨ããä¿¡é ¼ãã ã¨è¨ã£ã¦ãã¾ãããä¿¡é ¼ã§ããªãã®ã§ããã°ãå°ã試ãã¦ã¿ãã°ãããé§ç®ãªãããããããã¨è¨ã£ã¦ãã¾ããã
- ãªã¢ã¼ãå¤åã¯åãæ¹ã¯ãã¡ããã家æã®ããæ¹ã¾ã§å¤ãããããããããªãã¨è¨ã£ã¦ãã¾ãããæ±äº¬ã§åä¾ãè²ã¤ã®ããåæµ·éã§åä¾ãè²ã¤ã®ããä½é¨ãããã¨ãå ¨ç¶éãã¨æãã¾ãã家æã¨éããæéãå¢ãããããããã¼ã«ãªããããããªãããªã¢ã¼ãå¤åã«ãã£ã¦ãããã¼ã«ãªãã人ãä¼ç¤¾ãããããããã¾ãããã
- å°æ¹ã«è¡ã£ãæã«ãã³ãã¥ããã£ãããã¨å®å¿ããã¨è¨ã£ã¦ãã¾ãããå°åã³ãã¥ããã£ã¯å°æ¹ã¦ã¼ã¶ã«å®å¿æãä¸ãã¦ããã®ã§ããã
ãã¾ã
ãã¼ã¹ãã»ãã·ã§ã³ãã¢ã³ã±ã¼ãã®è¦è¿ãã§æ²¢å±±ã¹ããã«ã¼ãè²°ãã¾ãããããã¦ããã½ã³ã³ã«è²¼ãã¾ããããã½ã³ã³ã«ã¹ããã«ã¼ãç¡é ä½ã«è²¼ãã®ã¯å¦»ã«ã¯é常ã«ä¸è©ã§ãï¼ç¬ï¼ãã§ããããã§ããããããã®ã¹ããã«ã¼ã«ã¯æ³ãåºãè©°ã¾ã£ã¦ãã¦ããããè¦ãã°ãã®ã¨ãã®é¢¨æ¯ãæãåºãã®ã§ããæè¿ã¯ãã¹ããã«ã¼ã®è²¼ãå ´æããªããªã£ã¦ãã¦ã¾ãããã¹ããã«ã¼ã®ä¸ã«å¼µã£ã¡ããã°ãããã£ã¦æã£ã¦ã¾ããã¹ãã¼ã¹ã«ã¯éããããã®ã§ä»æ¹ãªãã®ã§ããã¹ããã«ã¼ã®ä¸é¨ããè¦ããªãã¦ããããã¯ããã§ãã¶ã¤ã³ã ã¨æã£ã¦ãã¾ãã°ãããã¨æã£ã¦ã¾ãã
- 表
- è£