Upload
satoshi-tagomori
View
26.744
Download
0
Embed Size (px)
DESCRIPTION
Developers Summit 2014 13-B-3
Citation preview
社内システムの構造と設計、実装のはなし
Developers Summit 2014 [13-B-3] #devsumiE2014/02/13
@tagomoris (TAGOMORI Satoshi)
14年2月13日木曜日
TAGOMORI Satoshi (@tagomoris)LINE Corp.
Development Support Team
14年2月13日木曜日
14年2月13日木曜日
14年2月13日木曜日
DevOps
14年2月13日木曜日
DevOps×
14年2月13日木曜日
Dev of Ops, by Ops, for Ops
14年2月13日木曜日
社内システムほど他システムとの連携を考えよう
社内システムでは JSON API を使おう
実装は必要なところから必要なだけやろう
14年2月13日木曜日
Webサービス今昔
14年2月13日木曜日
Web2.0マッシュアップ全盛期
14年2月13日木曜日
OAuth流行、支配的に
14年2月13日木曜日
WebAPI制限
14年2月13日木曜日
Open Web API
トラフィック、レスポンスタイム
14年2月13日木曜日
Open Web API
コストは誰が払う?
14年2月13日木曜日
Open Web API
互換性
14年2月13日木曜日
14年2月13日木曜日
社内システム: Closed Web
14年2月13日木曜日
社内システム: Closed Web
機能 > 性能
14年2月13日木曜日
社内システム: Closed Web
Long Life Cycle
14年2月13日木曜日
社内システム: Closed Web
Target User: 自分
14年2月13日木曜日
機能
認証
資産管理
動作状況モニタリング
データ蓄積
可視化
情報共有
プロトコル変換
便利UI提供
バージョン管理
14年2月13日木曜日
何が問題なの?
14年2月13日木曜日
情報と権限の分断
14年2月13日木曜日
情報と機能の冗長化
14年2月13日木曜日
UXの欠如
14年2月13日木曜日
自動化の障壁
14年2月13日木曜日
全部入り: アップデート不可能
14年2月13日木曜日
社内システム連携?
14年2月13日木曜日
DBを直接
14年2月13日木曜日
SOAP
14年2月13日木曜日
CORBA
14年2月13日木曜日
SOA!
14年2月13日木曜日
RPC Protocols
Protocol Buffer, Thrift, XML-RPC, MessagePack-RPC,
...
14年2月13日木曜日
社内システム連携: Make it simple!
14年2月13日木曜日
権限分断を最小限に
14年2月13日木曜日
機能情報には複数の参照方法を
14年2月13日木曜日
モジュール化単機能システムを連携させる
アップデートが容易な状態を保つ
14年2月13日木曜日
1.社内システムほど他システムとの
連携を考えよう機能をAPIとして公開しよう
14年2月13日木曜日
Closed Web API
トラフィック、レスポンスタイム
14年2月13日木曜日
Closed Web API
コストは誰が払う?
14年2月13日木曜日
Closed Web API
互換性
14年2月13日木曜日
API互換性
プロトコルデータ構造意味の一貫性
クライアント要件の不変性/普遍性
14年2月13日木曜日
Protocols of Closed Web API
14年2月13日木曜日
Thrift, Protocol Buffers(IDL)
FTP, RSH, SSH, ...
HTTPSOAP, XML-RPC, ...
JSON
14年2月13日木曜日
長期運用
14年2月13日木曜日
長期運用するということは
きちんとアップデートするということ
14年2月13日木曜日
アップデートの容易さ
14年2月13日木曜日
データ内容の把握
見ればわかる! だいじ!
14年2月13日木曜日
テストの容易さ
curl is great
14年2月13日木曜日
百聞は一見に如かず
1 times curl >>> 100pages docs
ease to try >>> performance
loosely coupled >>> strict protocol
14年2月13日木曜日
2.社内システムでは
HTTP JSON API を使おう
14年2月13日木曜日
実装
14年2月13日木曜日
社内システムの実装
14年2月13日木曜日
動くことが大事
14年2月13日木曜日
ドキュメント、大事?
14年2月13日木曜日
優先度
14年2月13日木曜日
× 「こんなこともあろうかと」
14年2月13日木曜日
「いま」欲しい機能をつくる
14年2月13日木曜日
優先度ハック
実装がラクなAPIをつかう
14年2月13日木曜日
優先度ハック
機能を切り刻む
14年2月13日木曜日
優先度ハック
修正単位を最小化する
14年2月13日木曜日
逆優先度ハック
切り刻まれた細かい機能追加タスク
14年2月13日木曜日
逆優先度ハック
今いらないなら後でやればいいのでは?だっていつでもできるでしょ?
14年2月13日木曜日
逆優先度ハック
後でやればいいなら今後何が必要かをいま考えなくていい
14年2月13日木曜日
逆優先度ハック
(将来の)要件定義は難しいだから後回しにしようよ
14年2月13日木曜日
積極的にサボる
14年2月13日木曜日
3.実装は必要なところから必要なだけやろう
14年2月13日木曜日
アーキテクチャと開発・運用
14年2月13日木曜日
アーキテクチャの割り切りが開発・運用を加速する
14年2月13日木曜日
開発・運用の前提がアーキテクチャをシンプルにする
14年2月13日木曜日
ビジネスへのインパクト
社内システムほど試しやすい場はない顧客は自分
14年2月13日木曜日
To make it simplemakes our own environments
better than before.
let’s do with your own systems!
14年2月13日木曜日