SlideShare a Scribd company logo
マイクロサービス
アーキテクチャ概説
本日のゴール
 「マイクロサービス」へと至る、昨今の開発トレンドを理解する
 今後開催される、深堀りした勉強会の前提となる知識を身に着ける
 テーマが広すぎた・・・。
 どうしよう・・・。
 ソフトな感じで、DevOpsから始めてみます。
突然ですが、DevOpsって知っていますか?
突然ですが、DevOpsって知っていますか?
 そうです。DevとOpsが組み合わさったものです。
突然ですが、DevOpsって知っていますか?
 そうです。DevとOpsが組み合わさったものです。
 バズってます
突然ですが、DevOpsって知っていますか?
 そうです。DevとOpsが組み合わさったものです。
 バズってます
 これの実現を目標にする上司がいたら、黄色信号。
 理由は、のちほど
DevOpsって、なぜ生まれたのでしょう?
DevOpsって、なぜ生まれたのでしょう?
 「必要だったから」
DevOpsって、なぜ生まれたのでしょう?
 「必要だったから」
 まあ、そうなんですが、身も蓋もないので、解説します
DevOpsって、なぜ生まれたのでしょう?
 どの企業も、レッドオーシャンでビジネスなんかしたくないんです
DevOpsって、なぜ生まれたのでしょう?
 どの企業も、レッドオーシャンでビジネスなんかしたくないんです
 だから、
 新しい分野への進出していく
DevOpsって、なぜ生まれたのでしょう?
 どの企業も、レッドオーシャンでビジネスなんかしたくないんです
 だから、
 新しい分野への進出していく
 何らかの付加価値をつけていく
DevOpsって、なぜ生まれたのでしょう?
 どの企業も、レッドオーシャンでビジネスなんかしたくないんです
 だから、
 新しい分野への進出していく
 何らかの付加価値をつけていく
 そこは、トライ&エラーの世界
DevOpsって、なぜ生まれたのでしょう?
 どの企業も、レッドオーシャンでビジネスなんかしたくないんです
 だから、
 新しい分野への進出していく
 何らかの付加価値をつけていく
 そこは、トライ&エラーの世界
 何が成功するのか、答えは誰も知らない世界です
DevOpsって、なぜ生まれたのでしょう?
 どの企業も、レッドオーシャンでビジネスなんかしたくないんです
 だから、
 新しい分野への進出していく
 何らかの付加価値をつけていく
 そこは、トライ&エラーの世界
 何が成功するのか、答えは誰も知らない世界です
 だから仮説をつくり、それを世の中に出して結果を検証していく
DevOpsって、なぜ生まれたのでしょう?
 どの企業も、レッドオーシャンでビジネスなんかしたくないんです
 だから、
 新しい分野への進出していく
 何らかの付加価値をつけていく
 そこは、トライ&エラーの世界
 何が成功するのか、答えは誰も知らない世界です
 だから仮説をつくり、それを世の中に出して結果を検証していく
 そのとき、「早く失敗する」(検証した結果を知る)というのが必要なんです
DevOpsって、なぜ生まれたのでしょう?
 どの企業も、レッドオーシャンでビジネスなんかしたくないんです
 だから、
 新しい分野への進出していく
 何らかの付加価値をつけていく
 そこは、トライ&エラーの世界
 何が成功するのか、答えは誰も知らない世界です
 だから仮説をつくり、それを世の中に出して結果を検証していく
 そのとき、「早く失敗する」(検証した結果を知る)というのが必要なんです
 「早く失敗する」ことで、
 早くビジネスの方向を変えたりすることができる
DevOpsって、なぜ生まれたのでしょう?
 どの企業も、レッドオーシャンでビジネスなんかしたくないんです
 だから、
 新しい分野への進出していく
 何らかの付加価値をつけていく
 そこは、トライ&エラーの世界
 何が成功するのか、答えは誰も知らない世界です
 だから仮説をつくり、それを世の中に出して結果を検証していく
 そのとき、「早く失敗する」(検証した結果を知る)というのが必要なんです
 「早く失敗する」ことで、
 早くビジネスの方向を変えたりすることができる
 致命傷になる前にやめられる
 大丈夫です。ひどいニオイかもしれないけど、
 鍋は無事です(外から見る限り)
 火事になっていないですよ。
「早く失敗する」にはどうしたらいい?
「早く失敗する」にはどうしたらいい?
 「構築 – 計測 – 学習」のサイクルをできる限り早く回すことです
 このあたりは、リーン開発とかが詳しいみたいです。
 深追いはしませんよ。
「早く失敗する」にはどうしたらいい?
 「構築 – 計測 – 学習」のサイクルをできる限り早く回すことです
 このあたりは、リーン開発とかが詳しいみたいです。
 深追いはしませんよ。
 ものすご~く大雑把にいうと
「早く失敗する」にはどうしたらいい?
 「構築 – 計測 – 学習」のサイクルをできる限り早く回すことです
 このあたりは、リーン開発とかが詳しいみたいです。
 深追いはしませんよ。
 ものすご~く大雑把にいうと
 構築: システムの構築や改修
 計測: 運用と、そこで得られる様々なデータ
 学習: 計測で得られたデータから得た知見
「早く失敗する」にはどうしたらいい?
 「構築 – 計測 – 学習」のサイクルをできる限り早く回すことです
 このあたりは、リーン開発とかが詳しいみたいです。
 深追いはしませんよ。
 ものすご~く大雑把にいうと
 構築: システムの構築や改修
 計測: 運用と、そこで得られる様々なデータ
 学習: 計測で得られたデータから得た知見
⇒このサイクルをできるだけ早くしていきたい
「構築 – 計測 – 学習」サイクルを早めるには
「構築 – 計測 – 学習」サイクルを早めるには
 いままで(いまも?)こういった組織構成となることが多かったのでは?
 構築:開発部門
 計測:運用部門
 学習:サービス事業部門
「構築 – 計測 – 学習」サイクルを早めるには
 いままで(いまも?)こういった組織構成となることが多かったのでは?
 構築:開発部門
 計測:運用部門
 学習:サービス事業部門
 これでは、サイクルを回すのにオーバヘッドがかかってしまいます
「構築 – 計測 – 学習」サイクルを早めるには
 いままで(いまも?)こういった組織構成となることが多かったのでは?
 構築:開発部門
 計測:運用部門
 学習:サービス事業部門
 これでは、サイクルを回すのにオーバヘッドがかかってしまいます
 こういった組織の垣根を取り払ってチーム一丸となる必要があります
「構築 – 計測 – 学習」サイクルを早めるには
 いままで(いまも?)こういった組織構成となることが多かったのでは?
 構築:開発部門
 計測:運用部門
 学習:サービス事業部門
 これでは、サイクルを回すのにオーバヘッドがかかってしまいます
 こういった組織の垣根を取り払ってチーム一丸となる必要があります
 でもこれって、とても難しいことなんです。
 たとえば
「構築 – 計測 – 学習」サイクルを早めるには
 いままで(いまも?)こういった組織構成となることが多かったのでは?
 構築:開発部門
 計測:運用部門
 学習:サービス事業部門
 これでは、サイクルを回すのにオーバヘッドがかかってしまいます
 こういった組織の垣根を取り払ってチーム一丸となる必要があります
 でもこれって、とても難しいことなんです。
 たとえば
 開発部門 vs サービス just like: “あなた作る人、わたし食べる人”
「構築 – 計測 – 学習」サイクルを早めるには
 いままで(いまも?)こういった組織構成となることが多かったのでは?
 構築:開発部門
 計測:運用部門
 学習:サービス事業部門
 これでは、サイクルを回すのにオーバヘッドがかかってしまいます
 こういった組織の垣根を取り払ってチーム一丸となる必要があります
 でもこれって、とても難しいことなんです。
 たとえば
 開発部門 vs サービス just like: “あなた作る人、わたし食べる人”
 開発部門 vs 運用部門 just like: “変化”を好む vs “安定”を好む
 それぞれを、もう少し細かくみていきます
「構築 – 計測 – 学習」サイクルで
必要とされる「構築」とは?
 「構築 - 計測 - 学習」サイクルを回していくためには
 「構築」にかかる時間を短くする必要があります。
「構築 – 計測 – 学習」サイクルで
必要とされる「構築」とは?
 「構築 - 計測 - 学習」サイクルを回していくためには
 「構築」にかかる時間を短くする必要があります。
 日本では、ここで「アジャイル開発が必要!」となります。
「構築 – 計測 – 学習」サイクルで
必要とされる「構築」とは?
 「構築 - 計測 - 学習」サイクルを回していくためには
 「構築」にかかる時間を短くする必要があります。
 日本では、ここで「アジャイル開発が必要!」となります。
 でも海外では、そうはなりません。なぜならアジャイルが普通だからです。
「構築 – 計測 – 学習」サイクルで
必要とされる「構築」とは?
 「構築 - 計測 - 学習」サイクルを回していくためには
 「構築」にかかる時間を短くする必要があります。
 日本では、ここで「アジャイル開発が必要!」となります。
 でも海外では、そうはなりません。なぜならアジャイルが普通だからです。
 「私は間違っていた。ごめん。ウォーターフォールは何のメリットもない」 in メソッド屋のブログ
 http://simplearchitect.hatenablog.com/entry/2016/06/20/080807
「構築 – 計測 – 学習」サイクルで
必要とされる「構築」とは?
 「構築 - 計測 - 学習」サイクルを回していくためには
 「構築」にかかる時間を短くする必要があります。
 アジャイル開発では、 変化を受容する
「構築 – 計測 – 学習」サイクルで
必要とされる「構築」とは?
 「構築 - 計測 - 学習」サイクルを回していくためには
 「構築」にかかる時間を短くする必要があります。
 アジャイル開発では、 変化を受容する
 そこには仮説に沿った「構築」を行う素地が既にある
「構築 – 計測 – 学習」サイクルに
おける「学習」とは?
 仮説を立てる
「構築 – 計測 – 学習」サイクルに
おける「学習」とは?
 仮説を立てる
 仮説のもととなるデータは「計測」のなかで取得される
「構築 – 計測 – 学習」サイクルに
おける「学習」とは?
 仮説を立てる
 仮説のもととなるデータは「計測」のなかで取得される
 フィードバックから、仮説が正しかったのかを検証する
「構築 – 計測 – 学習」サイクルに
おける「学習」とは?
 仮説を立てる
 仮説のもととなるデータは「計測」のなかで取得される
 フィードバックから、仮説が正しかったのかを検証する
 フィードバックは「計測」からもたらされる
「構築 – 計測 – 学習」サイクルに
おける「学習」とは?
 仮説を立てる
 仮説のもととなるデータは「計測」のなかで取得される
 フィードバックから、仮説が正しかったのかを検証する
 フィードバックは「計測」からもたらされる
 進む方向を決定する
「構築 – 計測 – 学習」サイクルで
必要とされる「測定」のために
「構築 – 計測 – 学習」サイクルで
必要とされる「測定」のために
 「構築 - 計測 - 学習」サイクルを回していくためには
 「測定」をする環境の作成にかかる時間を、短くする必要があります。
※「測定」する対象も重要なのですが、ここでは割愛。
「構築 – 計測 – 学習」サイクルで
必要とされる「測定」のために
 「構築 - 計測 - 学習」サイクルを回していくためには
 「測定」をする環境の作成にかかる時間を、短くする必要があります。
※「測定」する対象も重要なのですが、ここでは割愛。
 環境の作成の高速化
「構築 – 計測 – 学習」サイクルで
必要とされる「測定」のために
 「構築 - 計測 - 学習」サイクルを回していくためには
 「測定」をする環境の作成にかかる時間を、短くする必要があります。
※「測定」する対象も重要なのですが、ここでは割愛。
 環境の作成を機械化
 仮想化、コンテナ
「構築 – 計測 – 学習」サイクルで
必要とされる「測定」のために
 「構築 - 計測 - 学習」サイクルを回していくためには
 「測定」をする環境の作成にかかる時間を、短くする必要があります。
※「測定」する対象も重要なのですが、ここでは割愛。
 環境の作成の高速化
 仮想化、コンテナ
 Infrastructure As Code
「構築 – 計測 – 学習」サイクルで
必要とされる「測定」のために
 「構築 - 計測 - 学習」サイクルを回していくためには
 「測定」をする環境の作成にかかる時間を、短くする必要があります。
※「測定」する対象も重要なのですが、ここでは割愛。
 環境の作成の高速化
 仮想化、コンテナ
 Infrastructure As Code
 Blue Green Deployment
「構築 – 計測 – 学習」サイクルで
必要とされる「測定」のために
 「構築 - 計測 - 学習」サイクルを回していくためには
 「測定」をする環境の作成にかかる時間を、短くする必要があります。
※「測定」する対象も重要なのですが、ここでは割愛。
 環境の作成の高速化
 仮想化、コンテナ
 直接、機械を触る必要がなくなる
 Infrastructure As Code
 Blue Green Deployment
「構築 – 計測 – 学習」サイクルで
必要とされる「測定」のために
 「構築 - 計測 - 学習」サイクルを回していくためには
 「測定」をする環境の作成にかかる時間を、短くする必要があります。
※「測定」する対象も重要なのですが、ここでは割愛。
 環境の作成の高速化
 仮想化、コンテナ
 直接、機械を触る必要がなくなる
 Infrastructure As Code
 人間が1台ずつ設定していく必要がなくなる
 Blue Green Deployment
「構築 – 計測 – 学習」サイクルで
必要とされる「測定」のために
 「構築 - 計測 - 学習」サイクルを回していくためには
 「測定」をする環境の作成にかかる時間を、短くする必要があります。
※「測定」する対象も重要なのですが、ここでは割愛。
 環境の作成の高速化
 仮想化、コンテナ
 直接、機械を触る必要がなくなる
 Infrastructure As Code
 人間が1台ずつ設定していく必要がなくなる
 Blue Green Deployment
 設定は必要になったタイミングで都度、実施
 いらなくなったら、全部リセット
「構築 – 計測 – 学習」サイクルで
必要とされる「測定」とは?
「構築 – 計測 – 学習」サイクルで
必要とされる「測定」とは?
 仮説を構築するためのデータを提供する
「構築 – 計測 – 学習」サイクルで
必要とされる「測定」とは?
 仮説を構築するためのデータを提供する
 仮説を検証するためのフィードバックを提供する
「構築 – 計測 – 学習」サイクルで
必要とされる「測定」とは?
 仮説を構築するためのデータを提供する
 仮説を検証するためのフィードバックを提供する
 「学習」のプロセスでは上記が視覚化されることが必要
「構築 – 計測 – 学習」サイクルで
必要とされる「測定」とは?
 仮説を構築するためのデータを提供する
 仮説を検証するためのフィードバックを提供する
 「学習」のプロセスでは上記が視覚化されることが必要
 視覚化を「計測」「学習」のどちらでやるかは、考えなくてもよいと思う。
 チーム一丸なので、どちらでも。
 そろそろ「マイクロサービス」の話を
ひとつの巨大なシステムでは、
「構築 - 計測 - 学習」サイクルを早く回せない
ひとつの巨大なシステムでは、
「構築 - 計測 - 学習」サイクルを早く回せない
 リリースには時間がかかります
ひとつの巨大なシステムでは、
「構築 - 計測 - 学習」サイクルを早く回せない
 リリースには時間がかかります
 部署間の調整
 システムの影響範囲の調査
ひとつの巨大なシステムでは、
「構築 - 計測 - 学習」サイクルを早く回せない
 リリースには時間がかかります
 部署間の調整
 システムの影響範囲の調査
 スケールアウトではなく、スケールアップが選択肢となることが多い
ひとつの巨大なシステムでは、
「構築 - 計測 - 学習」サイクルを早く回せない
 リリースには時間がかかります
 部署間の調整
 システムの影響範囲の調査
 スケールアウトではなく、スケールアップが選択肢となることが多い
 チームや組織、コンポーネントの関係が密になりすぎているわけです
ひとつの巨大なシステムでは、
「構築 - 計測 - 学習」サイクルを早く回せない
 リリースには時間がかかります
 部署間の調整
 システムの影響範囲の調査
 スケールアウトではなく、スケールアップが選択肢となることが多い
 チームや組織、コンポーネントの関係が密になりすぎているわけです
 この密接すぎる関係を解決すれば、チーム、組織が自由にリリースできる(はず)
 APIを通じて、お互いがコミュニケーションすればよい
ひとつの巨大なシステムでは、
「構築 - 計測 - 学習」サイクルを早く回せない
 リリースには時間がかかります
 部署間の調整
 システムの影響範囲の調査
 スケールアウトではなく、スケールアップが選択肢となることが多い
 チームや組織、コンポーネントの関係が密になりすぎているわけです
 この密接すぎる関係を解決すれば、チーム、組織が自由にリリースできる(はず)
 APIを通じて、お互いがコミュニケーションすればよい
 スケールアップではなく、スケールアウトが選択肢となる
ひとつの巨大なシステムでは、
「構築 - 計測 - 学習」サイクルを早く回せない
 リリースには時間がかかります
 部署間の調整
 システムの影響範囲の調査
 スケールアウトではなく、スケールアップが選択肢となることが多い
 チームや組織、コンポーネントの関係が密になりすぎているわけです
 この密接すぎる関係を解決すれば、チーム、組織が自由にリリースできる(はず)
 APIを通じて、お互いがコミュニケーションすればよい
 スケールアップではなく、スケールアウトが選択肢となる
⇒これが、「マイクロサービス・アーキテクチャ」の原型です
ひとつの巨大なシステムでは、
「構築 - 計測 - 学習」サイクルを早く回せない
 リリースには時間がかかります
 部署間の調整
 システムの影響範囲の調査
 スケールアップ
 チームや組織、コンポーネントの関係が密になりすぎているわけです
 この密接すぎる関係を解決すれば、チーム、組織が自由にリリースできる(はず)
 APIを通じて、お互いがコミュニケーションすればよい
 スケールアップではなく、スケールアウトが選択肢となる
⇒これが、「マイクロサービス・アーキテクチャ」の原型です
「マイクロサービス・アーキテクチャ」は、
現実世界の課題を解決しようと
試行錯誤したうえで出てきたもの
マイクロサービス・アーキテクチャの一般化
 2014年、マーティン・ファウラーとジェームス・ルイスにより
 「マイクロサービスの前提条件」という記事を公開
※http://martinfowler.com/articles/microservices.html
 現在、マイクロサービスについて議論されるときは、この記事の内容が意識されている(はず)
「マイクロサービス・アーキテクチャ」へ
 トップダウンで、こちらに舵を切ることが重要です
 ボトムアップではうまくいきません。
「マイクロサービス・アーキテクチャ」へ
 トップダウンで、こちらに舵を切ることが重要です
 ボトムアップではうまくいきません。
 組織を変更する必要があります
「マイクロサービス・アーキテクチャ」へ
 トップダウンで、こちらに舵を切ることが重要です
 ボトムアップではうまくいきません。
 組織を変更する必要があります
 「失敗」を糧とする文化が必要です
 以上です。
おまけ(時間が余れば)
 実際に構築するマイクロサービス(のようなもの)を構築するなら
 “The Tweleve-Factor App”(http://12factor.net/)を知っていたほうがいいです
 日本語訳もあります(http://12factor.net/ja/)
謝辞
 今回、スライドに利用した画像は、こちらのサイトよりお貸しいただきました
さいごに
 ご清聴ありがとうございました

More Related Content

Similar to MicroServiceArchitecture

ふつうの受託開発チームのつくりかた
ふつうの受託開発チームのつくりかたふつうの受託開発チームのつくりかた
ふつうの受託開発チームのつくりかた
Yoshitaka Kawashima
 
第25回 #TFSUG ノウハウお伝えします! 鉄人から学ぶ TFS セミナー編 - イマドキのチーム開発を支えるプロセスとは?
第25回 #TFSUG ノウハウお伝えします! 鉄人から学ぶ TFS セミナー編 - イマドキのチーム開発を支えるプロセスとは?第25回 #TFSUG ノウハウお伝えします! 鉄人から学ぶ TFS セミナー編 - イマドキのチーム開発を支えるプロセスとは?
第25回 #TFSUG ノウハウお伝えします! 鉄人から学ぶ TFS セミナー編 - イマドキのチーム開発を支えるプロセスとは?
Takashi Takebayashi
 
プロセスの過去から未来への物語 〜イマドキのチーム開発を支えるプロセスとは?〜
プロセスの過去から未来への物語 〜イマドキのチーム開発を支えるプロセスとは?〜プロセスの過去から未来への物語 〜イマドキのチーム開発を支えるプロセスとは?〜
プロセスの過去から未来への物語 〜イマドキのチーム開発を支えるプロセスとは?〜
Takashi Takebayashi
 
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
Operation Lab, LLC.
 
イマドキのソフトウェア開発プロジェクトの流れ
イマドキのソフトウェア開発プロジェクトの流れイマドキのソフトウェア開発プロジェクトの流れ
イマドキのソフトウェア開発プロジェクトの流れ
Takashi Takebayashi
 
今、おさえておきたい DevOps
今、おさえておきたい DevOps 今、おさえておきたい DevOps
今、おさえておきたい DevOps
智治 長沢
 
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
Takahiro Okumura
 
コンソールゲームを世界展開してみた - JAWS DAYS 2015
コンソールゲームを世界展開してみた - JAWS DAYS 2015コンソールゲームを世界展開してみた - JAWS DAYS 2015
コンソールゲームを世界展開してみた - JAWS DAYS 2015
Ryo Nakamaru
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
Yuki Ando
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
Ryo Mitoma
 
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~InnovationSprint2011
 
アジャイル開発&TFS導入
アジャイル開発&TFS導入アジャイル開発&TFS導入
アジャイル開発&TFS導入
You&I
 
Dockerとdev ops
Dockerとdev opsDockerとdev ops
Dockerとdev ops
Hiroshi Maekawa
 
Changing Infrastructure operation by DevOps And Agile Development
Changing Infrastructure operation by DevOps And Agile DevelopmentChanging Infrastructure operation by DevOps And Agile Development
Changing Infrastructure operation by DevOps And Agile Development
Taiji Tsuchiya
 
サイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOpsサイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOps
Shuhei Eda
 
Openshift 20191108
Openshift 20191108Openshift 20191108
Openshift 20191108
Yasushi Osonoi
 
テスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決することテスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決すること
yuichi_kuwahara
 
[Agile Japan 2017 NRIサテライト(再演)]Social change starts with you~三周目のAgileの世界への招待状~
[Agile Japan 2017 NRIサテライト(再演)]Social change starts with you~三周目のAgileの世界への招待状~[Agile Japan 2017 NRIサテライト(再演)]Social change starts with you~三周目のAgileの世界への招待状~
[Agile Japan 2017 NRIサテライト(再演)]Social change starts with you~三周目のAgileの世界への招待状~
Shigeki Morizane
 
スクラムプロジェクト準備(公開用) No.31
スクラムプロジェクト準備(公開用) No.31スクラムプロジェクト準備(公開用) No.31
スクラムプロジェクト準備(公開用) No.31
Sukusuku Scrum
 
13_B_5 Who is a architect?
13_B_5 Who is a architect?13_B_5 Who is a architect?
13_B_5 Who is a architect?
Atsushi Fukui
 

Similar to MicroServiceArchitecture (20)

ふつうの受託開発チームのつくりかた
ふつうの受託開発チームのつくりかたふつうの受託開発チームのつくりかた
ふつうの受託開発チームのつくりかた
 
第25回 #TFSUG ノウハウお伝えします! 鉄人から学ぶ TFS セミナー編 - イマドキのチーム開発を支えるプロセスとは?
第25回 #TFSUG ノウハウお伝えします! 鉄人から学ぶ TFS セミナー編 - イマドキのチーム開発を支えるプロセスとは?第25回 #TFSUG ノウハウお伝えします! 鉄人から学ぶ TFS セミナー編 - イマドキのチーム開発を支えるプロセスとは?
第25回 #TFSUG ノウハウお伝えします! 鉄人から学ぶ TFS セミナー編 - イマドキのチーム開発を支えるプロセスとは?
 
プロセスの過去から未来への物語 〜イマドキのチーム開発を支えるプロセスとは?〜
プロセスの過去から未来への物語 〜イマドキのチーム開発を支えるプロセスとは?〜プロセスの過去から未来への物語 〜イマドキのチーム開発を支えるプロセスとは?〜
プロセスの過去から未来への物語 〜イマドキのチーム開発を支えるプロセスとは?〜
 
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
 
イマドキのソフトウェア開発プロジェクトの流れ
イマドキのソフトウェア開発プロジェクトの流れイマドキのソフトウェア開発プロジェクトの流れ
イマドキのソフトウェア開発プロジェクトの流れ
 
今、おさえておきたい DevOps
今、おさえておきたい DevOps 今、おさえておきたい DevOps
今、おさえておきたい DevOps
 
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
 
コンソールゲームを世界展開してみた - JAWS DAYS 2015
コンソールゲームを世界展開してみた - JAWS DAYS 2015コンソールゲームを世界展開してみた - JAWS DAYS 2015
コンソールゲームを世界展開してみた - JAWS DAYS 2015
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
 
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
 
アジャイル開発&TFS導入
アジャイル開発&TFS導入アジャイル開発&TFS導入
アジャイル開発&TFS導入
 
Dockerとdev ops
Dockerとdev opsDockerとdev ops
Dockerとdev ops
 
Changing Infrastructure operation by DevOps And Agile Development
Changing Infrastructure operation by DevOps And Agile DevelopmentChanging Infrastructure operation by DevOps And Agile Development
Changing Infrastructure operation by DevOps And Agile Development
 
サイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOpsサイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOps
 
Openshift 20191108
Openshift 20191108Openshift 20191108
Openshift 20191108
 
テスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決することテスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決すること
 
[Agile Japan 2017 NRIサテライト(再演)]Social change starts with you~三周目のAgileの世界への招待状~
[Agile Japan 2017 NRIサテライト(再演)]Social change starts with you~三周目のAgileの世界への招待状~[Agile Japan 2017 NRIサテライト(再演)]Social change starts with you~三周目のAgileの世界への招待状~
[Agile Japan 2017 NRIサテライト(再演)]Social change starts with you~三周目のAgileの世界への招待状~
 
スクラムプロジェクト準備(公開用) No.31
スクラムプロジェクト準備(公開用) No.31スクラムプロジェクト準備(公開用) No.31
スクラムプロジェクト準備(公開用) No.31
 
13_B_5 Who is a architect?
13_B_5 Who is a architect?13_B_5 Who is a architect?
13_B_5 Who is a architect?
 

Recently uploaded

本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
Masatsugu Matsushita
 
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
miyp
 
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
Toru Miyahara
 
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
Toru Miyahara
 
「VRC海のおはなし会_深海探査とロボットのお話」発表資料
「VRC海のおはなし会_深海探査とロボットのお話」発表資料「VRC海のおはなし会_深海探査とロボットのお話」発表資料
「VRC海のおはなし会_深海探査とロボットのお話」発表資料
Yuuitirou528 default
 
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHubCompute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
K Kinzal
 
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Toru Miyahara
 

Recently uploaded (7)

本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
 
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
 
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
 
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
 
「VRC海のおはなし会_深海探査とロボットのお話」発表資料
「VRC海のおはなし会_深海探査とロボットのお話」発表資料「VRC海のおはなし会_深海探査とロボットのお話」発表資料
「VRC海のおはなし会_深海探査とロボットのお話」発表資料
 
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHubCompute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
 
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
 

MicroServiceArchitecture

Editor's Notes

  1. それぞれの組織が、自己の「責任」を果たそうとする とても正しく、素晴らしいことで、それを否定するつもりはないのです (誤解されそうなので、ここ強調!)
  2. 一丸となるには、結集軸が必要となります。 ・自分の組織や仕事への影響は出るでしょうが、それを甘受できるようになるなにかが。
  3. アジャイル開発が隆盛:2000年前後。 2001年、「アジャイルソフトウェア開発宣言」 一方、MapReduceのGoogleの論文は、2004年
  4. アジャイル開発が隆盛したときには、まだこの、計測は難しかった。 2001年、「アジャイルソフトウェア開発宣言」 一方、MapReduceのGoogleの論文は、2004年
  5. アジャイル開発が隆盛したときには、まだこの、計測は難しかった。 2001年、「アジャイルソフトウェア開発宣言」 一方、MapReduceのGoogleの論文は、2004年
  6. アジャイル開発が隆盛したときには、まだこの、計測は難しかった。 2001年、「アジャイルソフトウェア開発宣言」 一方、MapReduceのGoogleの論文は、2004年
  7. 「発見」っていうのは言い過ぎなので、訂正
  8. http://readwrite.jp/startup/29950 に失敗を従容すること そして有名な6原則が書かれている。 英語だと、こちら? http://apievangelist.com/2012/01/12/the-secret-to-amazons-success-internal-apis/ 「Amazonは一つのことだけに携わる小さなチームの集まりで出来ており、そのために急速なイノベーションが可能になっている」とベゾス氏は述べている。 これらのチームは、以下にある「公開されたAPI」に(強制的に)沿って互いにコミュニケーションを取っている。  -全てのチームはサービスインターフェイスを通じてその機能やデータを公開しなければならない。  -チームのコミュニケーションはインターフェイスを通じて行われる。  -インターフェイスを通じたもの以外のあらゆるプロセス間通信は許可されない。   直接的にリンクすること、他のチームのデータを直接見ること、共有メモリモデルによる   コミュニケーション、バックドアやその他の手段すべてに対してこれは適用される。   唯一許可されるコミュニケーションは、ネットワーク越しにインターフェイスを叩くことのみである。  -どのようなテクノロジーを使っていたとしてもこのルールは変わらない。  -どのようなサービスインターフェイスも例外なく公開されることを前提に、   根底からデザインされなければならない。つまり、チームはインターフェイスを   開発者に公開できるようにプラン設計を行わなければならない。例外は認められない。 そして、これらを選択肢の1つだと考えているAmazonの従業員たちに対し、ベゾス氏はこう締めくくっている。 「これを守れない社員はクビにする。では、今日もいい日を」