Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
社内システムの
構造と設計、実装のはなし
Developers Summit 2014 [13-B-3] #devsumiE
2014/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, ...
HTTP

SOAP, 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 simple
makes our own environments
better than before.
let’s do with your own systems!

14年2月13日木曜日
Upcoming SlideShare
Loading in …5
×

社内システムの構造と設計、実装のはなし

30,894 views

Published on

Developers Summit 2014 13-B-3

Published in: Technology

社内システムの構造と設計、実装のはなし

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

×