サービス立ち上げ時のスモール
DevOps
ベストプラクティスを追い求めて
2015/02/20 DevOps懇親会@東京 #1 継続的インテグレーション編
自己紹介
❖ 踊れるエンジニア
❖ インタラクティブ・アーティスト
❖ プロトタイパー
❖ スーパーニート
伊藤 大要 @chuckb10
肩書き
名前
「立ち上げ時のDevOpsって
どこまで考慮すべき??」
Dev >>>>>> Ops
「最初は人も少ないし、
後でやれば良いかなー」
ちょちょちょっと待って、
オニーサン!!
引用元:modelpress
サービスのスケール
開発メンバーの増員
Testの自動化 Deployの自動化
おびただしい仕様変更
次々と課せられる追加機能
Opsがボトルネックに・・・
スーパーアジャイル
MagnumCI
elastic beanstalk
slack
BitBucket
Dockerhub
ChatOps - チャットを起点に自動化
local machine
RSpec
push
notification
pull
download
EC2
deploy
docker build
Test
notification
ruby2・Rails4
bitbucket
slack
docker
CI導入前
さくっと手軽に→時間がない
低コストで→お金がない
今の環境にfit→再構築はしたくない
検討ポイント
MagnumCI beta
特徴
❖ 2014年開始
❖ クラウドベースのVM上で実行
❖ build前後でコマンドの実行が可能
❖ 多少OSの環境変数も変更可能
❖ 今は無料(betaだからか)
❖ Hookからresultを取得可能
❖ Github,Bitbucket,Beanstalkapp,Gitlab,Self Hosted
❖ Ruby,Node,Go,PHP,Python
❖ RDS,KVS系
❖ DeploymentはCapistrano,Heroku,Bash Script
MagnumCI
RSpec
Test
Dockerhub
1. release branchへのpull requestをマージ

2. CIでBitBucketのマージイベントのHookをキャッチし、Build Trigger
を叩いてBuild開始

3. SuccessであればDocker HubのWebHookをCIでキャッチして、リ
ポジトリをPull & deploy
BitBucket
①
②
③
๏ サーバーの構築が不要
๏ integrationが今時のサービスに対応している
๏ 無料
๏ まだまだ伸びしろがありそう
 Good Point
OSがubuntuのみ
buildのキュー待ちがたまにひどい→1時間とか
毎回初期化されたVMから起動→構成によって
は実行時間が長くなってしまう
 Bad Point
❖ Test環境内のdocker環境を本番と合わせたい
❖ slackから全てコマンドで完結する構成に
❖ ネイティブアプリとの兼ね合いを検討
❖ やっぱりjenkinsおじさんか
検討項目
ご静聴ありがとうございました。

DevOps for Small Starter