devops for small starter

16
サービス立ち上げ時のスモール DevOps ~ベストプラクティスを追い求めて~ 2015/02/20 DevOps懇親会@東京 #1 継続的インテグレーション編

Upload: taiyo-ito

Post on 20-Jul-2015

89 views

Category:

Engineering


3 download

TRANSCRIPT

サービス立ち上げ時のスモールDevOps

~ベストプラクティスを追い求めて~

2015/02/20 DevOps懇親会@東京 #1 継続的インテグレーション編

自己紹介

❖踊れるエンジニア

❖インタラクティブ・アーティスト

❖プロトタイパー

❖スーパーニート

伊藤 大要 @chuckb10

肩書き

名前

「立ち上げ時のDevOpsって どこまで考慮すべき??」

Dev >>>>>> Ops

「最初は人も少ないし、後でやれば良いかなー」

ちょちょちょっと待って、オニーサン!!

引用元:modelpress

サービスのスケール開発メンバーの増員

Testの自動化 Deployの自動化

おびただしい仕様変更

次々と課せられる追加機能

Opsがボトルネックに・・・

スーパーアジャイル

MagnumCI

elastic beanstalk

slack

BitBucket

Dockerhub

ChatOps - チャットを起点に自動化

local machine

RSpec

pushnotification

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

MagnumCIRSpec

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おじさんか

検討項目

ご静聴ありがとうございました。