実践DEVOPS
2015/02/14
オープンセミナー2015@広島
自己紹介
名前 カキギ カツユキ
仕事 インターネット通販事業
(ECコンサルティング企画室)
趣味 山登り・ランニング
Github: https://github.com/k2works
Twitter: https://twitter.com/k2works
結論
民信無くば立たず
『論語』
↓
基盤(インフラ)信無くば立たず
『俺』
ビジネスモデル
まずは弊社のビジネスモデルと
インフラの位置づけを説明します。
www.businessmodelgeneration.com
コスト構造 収益の流れ
リソース
主要活動パートナー 価値提案 顧客との関係 顧客セグメント
チャネル
一般消費者
販売
生産
人事
会計
マーケティング
楽天
Yahoo
amazon
ヤフオク
自社
食材
健康食品
海産品
従業員
設備
仕入先
年商1.5億
商品原価
システム利用料
運賃
人件費
インターネット
電話
加工会社
ビジネスモデル
今を遡ること5年前・・・
SEからこの業界に転職した当時
www.businessmodelgeneration.com
コスト構造 収益の流れ
リソース
主要活動パートナー 価値提案 顧客との関係 顧客セグメント
チャネル
一般消費者
販売
会計
楽天
Yahoo
自社
健康食品
海産品
従業員 3人
設備
仕入先
年商3000万
商品原価
システム利用料
運賃
人件費
インターネット
電話
ビジネスモデル
そして現在・・・
DevOpsを実践した結果
www.businessmodelgeneration.com
コスト構造 収益の流れ
リソース
主要活動パートナー 価値提案 顧客との関係 顧客セグメント
チャネル
一般消費者
販売
生産
会計
楽天
Yahoo
amazon
ヤフオク
自社
食材
健康食品
海産品
従業員:8人
設備:倉庫
仕入先
年商1.5億
商品原価
システム利用料
運賃
人件費
インターネット
電話
加工会社
amazon
web service
ビジネスモデル
今日はインフラのお話なので以下
2点に焦点を当てます。
• 主要活動
• リソース
※システムに関連する部分だけをピックアップしています
www.businessmodelgeneration.com
コスト構造 収益の流れ
リソース
主要活動パートナー 価値提案 顧客との関係 顧客セグメント
チャネル
販売
会計
従業員 3人
設備
リソース(設備)5年前
主要活動(販売)
受注
出荷
商品
発注・
仕入
主要活動(会計)
入力 集計 確認
www.businessmodelgeneration.com
コスト構造 収益の流れ
リソース
主要活動パートナー 価値提案 顧客との関係 顧客セグメント
チャネル
販売
会計
従業員:3人
設備:PC1台
倉庫兼事務所
年商3000万
課題
• 主要活動はほとんどが手作業ベース
• 出荷に関しては独自の業務ルールがあるので振り分けが大変
• 通常業務(受注・出荷)が定時までに終わらない
• 会計も集計値に間違いがあったら内訳がわからないので調査が大変
課題
よし、Devだ!
DEV
開発手法
• アジャイル開発
• プロジェクトマネジメント(SCRUM)
• Redmine
• 継続的インテグレーション
• Git
• Jenkins
• テスト駆動開発(BDD)
• Rspec
• Cucumber
DEV
移行前
• オンプレミス
• パッケージソフト
• 自社システム
受注管理
パッケージソフト
自社システム
(MS Access)
DEV
移行後
• オンプレミス
• パッケージソフト
• クラウド
• 自社システム
受注管理
パッケージソフ
ト
自社システム
(Ruby on Rails)
DBサーバ
(MySQL)
主要活動(販売)
受注
出荷
商品
発注・
仕入
主要活動(会計)
入力 集計 確認
結果
• 主要活動(販売・会計)の70%をシステム化
• 通常業務(受注・出荷)を定時に終わらせるようになった
• 会計業務も6営業日から最短3営業日にまで短縮
www.businessmodelgeneration.com
コスト構造 収益の流れ
リソース
主要活動パートナー 価値提案 顧客との関係 顧客セグメント
チャネル
販売
生産
会計
従業員:8人
設備:倉庫&事務所
PC2台
クラウドサーバ
年商1.5億
DEV
それから半年後・・・
リソース(設備)1年前
AWS Cloud
Amazon RDS
EC2 instance
EC2
instance
Amazon Route
53
Elastic IP EC2
instance
Elastic IP
EC2 instance
Production Staging
課題
• デプロイ作業が手動($ cap deploy)
• 開発者のPCからのみ管理
• 再セットアップが大変なEC2インスタンス
• 稼働状況も目視チェックのみ
• セキュリティ的にも問題あり
課題
よし、Opsだ!
AWS Cloud
Amazon RDS
EC2 instance
EC2
instance
Amazon Route
53
Elastic IP EC2
instance
Elastic IP
EC2 instance
Production Staging
Before
AWS Cloud
Virtual Private Cloud Virtual Private Cloud
VPC Subnet
OpsWorks
CloudFormation
BusinessApplicationService
VPC Subnet
Amazon RDS
LoggingService
MonitoringService
VPC Subnet
BusinessApplicationService
LoggingService
MonitoringService
DatabaseService
EC2 instance
EC2
instance
EC2 instance
EC2
instance
EC2 instances EC2 instances
EC2 instance
EC2
instance
Amazon Route
53
Elastic IP
Elastic IP
Elastic IP
Elastic IP
Production Staging
After
AWS Cloud
Virtual Private Cloud
VPC Subnet
CloudFormation
Production
VPC Subnet
AWS Cloud
Virtual Private Cloud
VPC Subnet
CloudFormation
VPC Subnet
Amazon RDS
Elastic IP
Elastic IP
Elastic IP
Production
AWS Cloud
Virtual Private Cloud
VPC Subnet
OpsWorks
CloudFormation
BusinessApplicationService
VPC Subnet
Amazon RDS
LoggingService
MonitoringService
Elastic IP
Elastic IP
Elastic IP
Production
AWS Cloud
Virtual Private Cloud
VPC Subnet
OpsWorks
CloudFormation
BusinessApplicationService
VPC Subnet
Amazon RDS
LoggingService
MonitoringService
EC2 instance
EC2
instance
EC2 instance
EC2
instance
EC2 instances
Amazon Route
53
Elastic IP
Elastic IP
Elastic IP
Production
AWS Cloud
Virtual Private Cloud Virtual Private Cloud
VPC Subnet
OpsWorks
CloudFormation
BusinessApplicationService
VPC Subnet
Amazon RDS
LoggingService
MonitoringService
VPC Subnet
BusinessApplicationService
LoggingService
MonitoringService
DatabaseService
EC2 instance
EC2
instance
EC2 instance
EC2
instance
EC2 instances EC2 instances
EC2 instance
EC2
instance
Amazon Route
53
Elastic IP
Elastic IP
Elastic IP
Elastic IP
Production Staging
本番環境
開発環境
リソース(設備)現在
結果
• 監視サーバー導入によるシステム稼働状況を確認できるようにした
• 業務アプリケーションのRubyのバージョンを1.9から2.1に移行
• アプリケーション・サーバーをNginx+Unicornに移行
• VagrantとChef Soloを使ってローカルマシンにも本番環境と同じ構成で
自動構築できるようにした
• 本番環境を最短20分で再構築できるようした
• ソースコードをGitHubのプライベートレポジトリで管理
• ブルーグリーンデプロイメント(手動)
コスト構造
コスト構造
• 対売上比(月)で0.2%!
• Time-based Instancesで稼働時間を細かく制御
• リザーブドインスタンスで更にお得に
www.businessmodelgeneration.com
コスト構造 収益の流れ
リソース
主要活動パートナー 価値提案 顧客との関係 顧客セグメント
チャネル
販売
生産
会計
従業員:8人
設備:倉庫&事務所
販売管理用PC2台
クラウドサーバ
年商1.5億
DEVOPS
かくしてDevOpsを実践したわけだが・・・
DEVOPS
インフラの改善って
目に見えてわかりずらい・・・
DEVOPS
そんなインフラ構築に
時間を作ることができたのはなぜ?
DEVOPS
やっぱり、積み重ねてきた信頼かな
• 実業務の地道なプロセス改善
• システム構築(Dev)による目に見える改善
• 改善の実績で培った信頼からの見えない部分(Ops)への理解
結論
基盤(インフラ)信無くば立たず
結論
DevOpsに終わりは無い
www.businessmodelgeneration.com
コスト構造 収益の流れ
リソース
主要活動パートナー 価値提案 顧客との関係 顧客セグメント
チャネル
参考文献
Alexander Osterwalder (2010) 『Business Model
Generation: A Handbook for Visonaries,Game
Changers, and Challengers』 Wiley
アレックス・オスターワルダー(2012)『ビジネスモデル・ジェ
ネレーション ビジネスモデル設計書』 翔泳社
ビジネスモデルキャンパステンプレート(英語)

オープンセミナー2015@広島プレゼン