SlideShare a Scribd company logo
1 of 76
Download to read offline
マイクロサービスに⾄る歴史とこれから
2021/9/18
グロース・アーキテクチャ&チームス株式会社
鈴⽊雄介
XP祭り2021 @ Online
⾃⼰紹介
鈴⽊雄介
• Graat(グラーツ)
» グロース・アーキテクチャ&チームス株式会社
» 代表取締役 社⻑
• アイムデジタルラボ(三越伊勢丹グループ)
» 取締役
• ⽇本Javaユーザーグループ
» CCC運営委員⻑/サブリーダー
• その他
» @yusuke_arclamp
» http://arclamp.hatenablog.com/
1
アジェンダ
2
• 導⼊
• Agile
• Cloud
• DevOps
• Microservices
• これからのための技術
» Cloud Native
» Serverless
• これから
• まとめ
導⼊
3
導⼊
ITの改善サイクルを早く回す
• ユーザーから学び、その結果を提供するまで
»“開発”が早いだけでは意味がない
4
ユーザー
企画
開発
運⽤
導⼊
その時の課題を、新しい技術が解決する
• テクノロジーやテクニックが改善サイクルを早くする
»テクノロジー︓技術そのもの
»テクニック ︓⼈による技術の活かし⽅
5
2001年 Agile
202X年 これから
2009年 DevOps
2006年 Cloud
2015年 Serverless 2015年 Cloud Native
2014年 Microservices
テクノロジー
テクニック
導⼊
そろそろ、新しい⾔葉が出てきそう︖
• 新しいテクノロジーを⼟台にテクニックが成⻑する
• Cloud NativeやServerlessを⼟台にしたテクニックとは︖
6
2001年 Agile
2023年 これから
2009年 DevOps
2006年 Cloud
2015年 Serverless 2015年 Cloud Native
2014年 Microservices
8年
8年︖
8年
Agile
7
Agile
アジャイルとは
• 2001年︓アジャイルソフトウェア開発宣⾔
• ウォーターフォール的な⼿法への解決策
8
アジャイルソフトウェア開発宣⾔
https://agilemanifesto.org/iso/ja/manifesto.html
プロセスやツールよりも個⼈と対話を、
包括的なドキュメントよりも動くソフトウェアを、
契約交渉よりも顧客との協調を、
計画に従うことよりも変化への対応を
左記のことがらに価値があることを認めながらも、私たち
は右記のことがらにより価値をおく。
Agile
ウォーターフォール
• 初期に全体計画を⽴案し、それに沿って実⾏していく
»計画︓ゴールを定義し、それを実現する計画を⽴案
»実⾏︓その計画に従って実⾏
»計測︓フェーズごとに計画とのズレを把握
»調整︓計画通りになるように調整
▸調整要素︓リソース → スケジュール→スコープ
9
基本設計 実装 テスト
要件定義
計
画
受
⼊
成果物
⽂書 ⽂書 ⽂書 ⽂書
⽂書
要件
Agile
2000年ごろに増えつつあった状況
• インターネットの急速な普及により、B2CやB2B領域の
Webサービスが増えてきた
»ユーザーが社内にないから正しい機能定義が困難
»周囲環境の変化に強く影響を受けてしまう
»どんどん新しい技術が出てくる(未経験な技術)
• 計画の精度が上げにくいプロジェクトが増えてきた
»⽬標が正しいかもわからず、⾒積もり精度も低い
»しかも、リリース後も改修が続いていく
▸プロジェクトからプロダクトへ
10
Agile
ウォーターフォールの課題
• 計画精度が低い状況では破綻しやすい
»計画︓⽬標が完了までに変化し、かつ⾒積もりも正しくない
»計測︓⽂書では”動き”がわからず、確認できるのは最終段階
▸ユーザービリティは触ってみないと分からない
»調整︓計画も計測も曖昧だから、進捗率が信⽤できない
▸結果、PMの調整能⼒に依存しやすくなる
• リリースはゴールではなく、スタート
»ゴールしたらプロジェクトは解散してしまう
11
アジャイルの仕組み
• 短期の再計画&実⾏を通じて調整し続ける
»計画︓⼀定の期間1=作業量を定め、その範囲でゴールを計画
»実⾏︓その⼩さな計画に従って実⾏。実⾏中の調整は禁⽌
»計測︓ゴール後に完成品を⾒て判断する
»調整︓次の計画をもって調整とする
▸調整要素︓スコープのみ
成果物
成果物
要件 要件 要件
成果物
Agile
12
実装
計
画
受
⼊
設計
テスト
実装
計
画
受
⼊
設計
テスト
実装
計
画
受
⼊
設計
テスト
1 ⼀定の期間とは1週間〜3ヶ⽉程度、チームメンバーは安定させる
Agile
アジャイルは電⾞型
• 定期的に電⾞を運⾏する
»①その時点で並んでいる⼈
から定員まで乗⾞
»②電⾞が発⾞したら、到着
するまでは乗降禁⽌
»③次の電⾞が来るまで並び
順は⾃由に変えていい
»④到着した⼈と話して、成
果を確認する
13
b a
出発ホーム 到着ホーム
d c b a
出発ホーム 到着ホーム
d c b a
出発ホーム 到着ホーム
f e
出発ホーム 到着ホーム
d
c b a
d c
定員︓2名
定員︓2名
①
③
④
f
e
定員︓2名
②
Agile
⽐較
• ウォーターフォール:計画主導
»最初に⽬標を定め、リリース時に100点を出すことを重視する
»計画が正しいなら、効率的で⻑期間でも管理可能
• アジャイル:調整主導
»その時点の状況に合わせて⽬標を定めていく
»試⾏錯誤を前提にするなら、効率的で永続的に管理可能
14
アジャイル
まとめ
• 開発プロセスがITの在り⽅を変えた
»ビジネスとソフトウェア開発を地続きにした
▸ソフトウェア開発を継続的な営みとして位置付け
• 再計画で調整するのがコロンブスの卵
»試⾏錯誤にはタイムボックス型管理が向いている
▸ソフトウェア開発だけではない領域にも広がっていっている
15
ユーザー
企画
開発
運⽤
Cloud
16
Cloud
Cloudとは
• 2006年、Google社CEO エリック・シュミットが名付ける
»NISTによるクラウドコンピューティングの定義
▸必要な時にセルフサービスで利⽤できる
▸ネットワークを通じて利⽤できる
▸リソースは共有され、必要な分が割り当てられる
▸いつでも必要なだけの量を調達することができる
▸利⽤状況に応じて課⾦される
17
データやアプリケーションをインターネットの向こう側にあるサーバーに配置し、ユーザーの
持っているパソコンやスマートフォンなどのデバイスから利⽤可能にする。すべてが雲の中の
どこかにあればいい
参考
クラウド・コンピューティングの定義
18
オンデマンド・ セルフサービス
(On-demand self-service)
ユーザは、各サービスの提供者と直接やりとりすることなく、必要に応じ、⾃動的に、サーバーの稼
働時間やネットワークストレージのようなコンピューティング能⼒を⼀⽅的に設定できる。
幅広いネットワークアクセス
(Broad network access)
コンピューティング能⼒は、ネットワークを通じて利⽤可能で、標準的な仕組みで接続可能であり、
そのことにより、様々なシンおよびシッククライアントプラットフォーム(例えばモバイルフォン、
タブレット、ラップトップ コンピュータ、ワークステーション)からの利⽤を可能とする。
リソースの共⽤
(Resource pooling)
サービスの提供者のコンピューティングリソースは集積され、複数のユーザにマルチテナントモデル
を利⽤して提供される。様々な物理的・仮想的リソースは、ユーザの需要に応じてダイナミックに割
り当てられたり 再割り当てされたりする。物理的な所在場所に制約されないという考え⽅で、ユーザ
は⼀般的に、提供されるリソースの正確な所在地を知ったりコントロールしたりできないが、場合に
よってはより抽象的なレベル (例︓国、州、データセンタ)で特定可能である。リソースの例として
は、ストレージ、処理能⼒、メモリ、およびネットワーク帯域が挙げられる。
スピーディな拡張性
(Rapid elasticity)
コンピューティング能⼒は、伸縮⾃在に、場合によっては⾃動で割当ておよび提供が可能で、需要に
応じて即座にスケールアウト/スケールインできる。ユーザにとっては、多くの場合、割当てのため
に利⽤可能な能⼒は無尽蔵で、いつでもどんな量でも調達可能のように⾒える。
サービスが 計測可能であること
(Measured Service)
クラウドシステムは、計測能⼒1を利⽤して、サービスの種類(ストレージ、処理能⼒、帯域、実利⽤
中のユーザアカウント数)に適した管理レベルでリソースの利⽤をコントロールし最適化する。リ
ソースの利⽤状況はモニタされ、コントロールされ、報告される。それにより、サービスの利⽤結果
がユーザにもサービス提供者にも明⽰できる。
1. 通常、従量課⾦(pay-per-use)または従量請求
(charge-per-use)ベースで計算される。
The NIST Definition of Cloud Computing
https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf
⽇本語訳 https://www.ipa.go.jp/files/000025366.pdf
Cloud
X as a Service(XaaS)
• 全てがサービスとして提供される
»仮想化技術によってシステム構成や運⽤作
業までサービス化できるようになった
»PaaSの進化として現れている
▸インスタンスの提供
▸ミドルウェア単体の提供︓データベースなど
▸Webアプリケーションの実⾏環境
ü コンテナランタイム
ü サーバレス
19
ハードウェア
ネットワーク
仮想化OS
OS
ミドルウェア
コード・設定
データ
IaaS
PaaS
SaaS
ユーザ⾃⾝の管理範囲
Cloud
Infrastructure as Code
• 仮想化されたインフラやプラットフォームがコードから操
作ができる
»つまり、「インフラを構成する」という作業が⾃動化できる
»Terraform、Ansible、AWS CloudFormation、Pulumi....
• ⾮機能要件がコーディングで表現できる
»これまでは機能要件しかコーディングできなかった
»サービス(機能+⾮機能)がコード化された世界
20
Cloud
クラウドがもたらした概念
• インフラを「所有」から「利⽤」へ
»発電機を所有するのではなく、発電所の電⼒を利⽤する
»仮想化技術によって「インフラ構成」がサービスとして提供でき
るようになった
• インフラ構築がソフトウェア化された
»「インフラ構成を構築する作業」がコードで表現できる
»インフラ構成のバージョン管理ができる
21
DevOps
22
DevOps
DevOpsのはじまり
• 2009年︓DevOps
»Agile 2008︓Agile Infrastructure & Operations
▸政府系データセンターの移⾏にスクラムを導⼊した事例発表
▸インフラ/運⽤系にアジャイル⽂化を導⼊しようとする機運
»Velocity 2009︓10+ Deploys Per Day
▸Flickrにおける開発と運⽤の協業について
»Devopsdays Ghent 2009
▸ここから「DevOps」が⽣まれる
23
参考︓「The (Short) History of DevOps」(Damon Edwards) https://www.youtube.com/watch?v=o7-IuYS0iSE
DevOps
“10+ Deploys Per Day”のテーマ
• そもそも開発と運⽤は仲が悪かった
»「新機能追加」と「安定稼働」は相反する
• でも、頻繁に機能追加することが前提になった
»リリース回数の圧倒的な増加
»システムの停⽌=価値の棄損
• ツールを活⽤し、⽂化を変えていく
»ツール︓IaC、CI/CD、メトリクス、ChatBot
»⽂化︓リスペクト、信頼、⼼理的安全性、
24
※2009年⽤語
ツール︓Automated Infrastructure, Shared version control, One step build and deploy, Feature flags, Shared Metrics, IRC and IM robots
⽂化︓Respect, Trust, Healthy attitude about failure, Avoiding Blame
DevOps
NoOpsの登場
• 2011年︓NoOps
»「I Donʼt Want DevOps. I Want NoOps.」
▸NoOps は、アプリケーション開発者がオペレーションプロフェッショナル
と話す必要がないことを意味します。
▸Ops は <略> 責任を持ってアプリケーションを迅速に展開するために必要
なツールを開発者に提供できます。
»「NoOps」という⾔葉が強かったため炎上
▸運⽤はいらない︖運⽤担当者はいらない︖
25
I Donʼt Want DevOps. I Want NoOps.
https://www.forrester.com/blogs/11-02-07-i_dont_want_devops_i_want_noops/
DevOps
あるいはPaaS
• 2012年︓Ops, DevOps and PaaS (NoOps) at Netflix
»Dev組織にいる数名のDevOpsエンジニアが⾃動化を推進
»NoOpsでデプロイされ、何かあれば数百名の開発者に直接通知
»開発者がやりたいことはツールを使ってセルフサービス
»Ops組織はなく、開発者が運⽤で何かしたいと思った時、Opsの
⼈と話す必要はない
▸運⽤センター(NOC)はないが、SREチームはいる
»これをDevOpsの進化版としてPaaS (NoOps)と呼んでいる
26
Ops, DevOps and PaaS (NoOps) at Netflix
http://perfcap.blogspot.com/2012/03/ops-devops-and-noops-at-netflix.html
DevOps
DevOps/NoOpsがもたらした概念
• システムを継続的に変更し、動かし続ける
»開発者は「作る」から「作って動かす」まで担当する
▸開発者がインフラ構築、リリース作業、障害通知、復旧作業をやる
ü セキュリティとか品質も
▸すべてツール化&⾃動化され、セルフサービス化される
27
成果物
アプリ
Dev Ops 成果物
Dev
SRE
Ops
ツール
インフラ
アプリ
インフラ
DevOpsエンジニア
Microservices
28
Microservices
マイクロサービスアーキテクチャ
• 2014年︓「Microservceis」 by James Lewis
»2011年︓先端的なウェブサービス企業が似たようなアーキテクチ
ャスタイルを取っていることが議論に
»Microservices - Java, the Unix Way
▸33rd Degree 2012
• 起きていた事象に名前を付けたもの
»コンセプトが先にあったわけではない
29
Microservceis
http://martinfowler.com/articles/microservices.html
Microservices - Java, the Unix Way
http://2012.33degree.org/talk/show/67
Microservices
マイクロサービスの特徴
• サービスによるコンポーネント化
• ビジネス視点でのチーム分割
• プロジェクトではなくプロダクト
• スマートなエンドポイントと単純なパイプ(API連携)
• 分散ガバナンス(脱標準化)
• 分散データ管理
• インフラの⾃動化
• 障害のための設計
• 進化的設計
30
https://martinfowler.com/articles/microservices.html
←DevOpsな部分
←アジャイルな部分
Microservices
モノリシックのデメリット
• 1つのシステム内に全ての機能
»影響調査とリグレッションテストに⼯数を消費
▸実⾏時の依存/影響範囲が⾒えにくい
• 巨⼤化すると実⾏難易度があがる
»個別変更でも全体スケジュール調整
▸部分変更でもシステム全体をリリース
»部分への性能劣化が全体に波及しやすい
31
Microservices
Microservicesのメリット
• 機能別にサービスを分割する
»APIにより実⾏時の依存/影響範囲が限定しやすい
»サービスが独⽴しており、他とは疎結合
• 巨⼤化してもサービス単位で管理
»サービス単位に好きなタイミングで仕様変更、リ
ソース変更ができる
▸「速さ」ではなく「独⽴性」が重要
32
Microservices
どうサービスを設計するか︖
33
どうサービスを設計するか︖
Domain-Driven Design(2003)
• サービス分割の設計指針として有効
»システム構造は、対象ドメインの概念と近づけなさい
▸そうすれは業務の変更についていきやすくなるから
»ドメインのことはビジネス側の有識者に聞きなさい
▸ビジネスの成⻑とともに継続的に進化させていきなさい
• ドメイン︖
»その業務を成り⽴たせるための作業、⼿順、規則、情報など
»ビジネスの仕組みというよりは、それを業務の仕組み
34
どうサービスを設計するか︖
サービスの分割は変化の予測
• 変化の⽅向やスピードが異なる部分を⾒つける
»変化の⽅向やスピードが同じなら、同じサービスにいれるべき
»それが異なるならサービスを分割しておいたほうが安全
»変化の発⽣はビジネス成⻑、展開、外部環境などに起因
»その予測はビジネス側の有識者のほうが精度が⾼い(はず)
▸捨てるかもしれない業務は切り離して作る、みたいなセンスが前提
▸性能やセキュリティで分割することもあるが、多くの場合、そこの起因も
ビジネス側で判断できる(はず)
35
Microservices
どうサービスを実装するか︖
36
どうサービスを実装するか︖
Twelve-Factor App(2011)
• 疎結合を実現するための実装
»コーディング時、ビルド&デプロイ時、実⾏時、運⽤時などにお
いて他者/環境に対する依存度を下げることで取り回しを良くして
いくための⼯夫
»Beyond The Twelve-Factor App(2016)
▸クラウド前提で変更と追加(3つ)
▸特に認証認可(シングルサインオン)は⾮常に重要
37
Twelve-Factor App(2011)
• I. コードベース
» バージョン管理されている1つのコードベ
ースと複数のデプロイ
• II. 依存関係
» 依存関係を明⽰的に宣⾔し分離する
• III. 設定
» 設定を環境変数に格納する
• IV. バックエンドサービス
» バックエンドサービスをアタッチされた
リソースとして扱う
• V. ビルド、リリース、実⾏
» ビルド、リリース、実⾏の3つのステージ
を厳密に分離する
• VI. プロセス
» アプリケーションを1つもしくは複数のス
テートレスなプロセスとして実⾏する
38
• VII. ポートバインディング
» ポートバインディングを通してサービス
を公開する
• VIII. 並⾏性
» プロセスモデルによってスケールアウト
する
• IX. 廃棄容易性
» ⾼速な起動とグレースフルシャットダウ
ンで堅牢性を最⼤化する
• X. 開発/本番⼀致
» 開発、ステージング、本番環境をできる
だけ⼀致させた状態を保つ
• XI. ログ
» ログをイベントストリームとして扱う
• XII. 管理プロセス
» 管理タスクを1回限りのプロセスとして実
⾏する
https://12factor.net/ja/
Beyond The Twelve-Factor App (2016)
• One codebase, one
application
• API first
• Dependency management
• Design, build, release,
and run
• Configuration, credentials,
and code
• Logs
• Disposability
• Backing services
39
• Environment parity
• Administrative
processes
• Port binding
• Stateless processes
• Concurrency
• Telemetry
• Authentication and
authorization
https://tanzu.vmware.com/content/blog/beyond-the-twelve-factor-app
どうサービスを実装するか︖
Beyond Beyond The Twelve-Factor App
• さらなる進化
»Monorepo(2017)
»Ahead-Of-Time (AOT) コンパイル
»オブザーバビリティ
»サービスメッシュ
• いずれにせよコンテナライズは重要
40
Microservices
Microservice化
41
Microservice化
Microserviceization?
• 既存システムのマイクロサービス化
»既存システムは改修せず、同⼀機能を
切り出して作成し、段階的にすり替え
ていくことが望ましい
»ストラングラーパターン
• ⼀括再構築はうまくいかない
»⼤規模開発はリスクが⾼い
»無駄なものまで移植する
42
https://www.flickr.com/photos/paulafunnell/3871868188/
Microservice化
ストラングラーパターン
• 既存システムを使わないようにしていく
»最終的に廃棄するか、⼀部だけを残していく
43
サービス
A
システムA
機能A
機能B
機能C
クライアント
システムA
機能A
機能B
機能C
クライアント
機能A
サービス
A
機能A
サービス
B
機能B
サービス
C
機能C
クライアント
システムA
機能A
機能B
機能C
Microservices
まとめ
44
Microservices
まとめ
• 巨⼤サービスを継続的に改善させる仕組み
»巨⼤サービスであってもアジャイルを機能させる
»チームごとにサービスを分割し、独⽴性を担保する
»DevOpsがシステムの分割を推進した
»疎結合にはAPI連携とデータ管理の分割が必要になってくる
▸この部分の進化は次章以降で
• どのようにマイクロサービス化していくのか︖が重要
45
ユーザー
企画
開発
運⽤
これからのための技術
46
これからのための技術
Cloud Native
47
Cloud Native
Cloud Nativeとは
• CNCF(2015)による定義(2018)
48
CNCF Cloud Native Definition v1.0
https://github.com/cncf/toc/blob/main/DEFINITION.md
クラウドネイティブ技術は、パブリッククラウド、プライベートクラウド、ハイブリッドクラウドな
どの近代的でダイナミックな環境において、スケーラブルなアプリケーションを構築および実⾏する
ための能⼒を組織にもたらします。 このアプローチの代表例に、コンテナ、サービスメッシュ、マイ
クロサービス、イミュータブルインフラストラクチャ、および宣⾔型APIがあります。
これらの⼿法により、回復性、管理⼒、および可観測性のある疎結合システムが実現します。 これら
を堅牢な⾃動化と組み合わせることで、エンジニアはインパクトのある変更を最⼩限の労⼒で頻繁か
つ予測どおりに⾏うことができます。
Cloud Native Computing Foundationは、オープンソースでベンダー中⽴プロジェクトのエコシステ
ムを育成・維持して、このパラダイムの採⽤を促進したいと考えてます。 私たちは最先端のパターン
を⺠主化し、これらのイノベーションを誰もが利⽤できるようにします。
Cloud Native Computing Foundation
https://www.cncf.io/
Cloud Native
Cloud Native Trail Map
• Cloud Nativeへの道のり
1. コンテナ化
2. CI/CD
3. オーケストレーション
4. オブザーバビリティ
5. サービスメッシュ
6. セキュリティ
7. 分散データベース&ストレージ
8. ストリーミング
9. コンテナレジストリ&ランタイム
10.ソフトウェアディストリビューション
49
Cloud Native Trail Map
https://raw.githubusercontent.com/cncf/trailmap/master/CNCF_TrailMap_latest.pdf
Cloud Native
オーケストレーション
50
オーケストレーション
Kubernetes
• 2014年にGoogleがOSS化
»Google社内での15年以上の運⽤ノウハウを形にしたもの
• コンテナ群のための実⾏プラットフォーム
»コンテナ
▸アプリケーションと、その実⾏環境ミドルウェアをパッケージにしたもの
▸その中であらゆる種類の⾔語、実⾏環境を動かして良い
»コンテナオーケストレーションツール
▸コンテナという形になっていれば、同⼀のものとして扱える
51
オーケストレーション
Kubernetesがやること
• コンテナワークロードに対する
»CPU、メモリ、ストレージ、IPの割り当て
»スケーリング
»状態監視と⾃動復旧
»環境変数の管理
• コンテナの実⾏に関わる様々なことをやってくれる
»必要リソースはノード側で指定=分散管理型
»宣⾔型設定
52
オーケストレーション
Kubernetesの仕組み
53
Cloud Controller Manager
https://kubernetes.io/docs/concepts/architecture/cloud-controller/
エコシステムの発展
• KubernetesだけではPaaSとしては機能不⾜
»k8sは「コンテナを動かす」だけ
• 周辺プロダクト群が増えて続けている
オーケストレーション
54
The cloud native landscape Serverless landscape
Continuous Delivery landscape
Kubernetes
55
アプリ設定および開発
データベース、ストリーミング&メッセージング
アプリケーション定義&イメージビルド、CI/CD
オーケストレーション&管理
スケジューリング&オーケストレーション、コーディ
ネーション&サービスディスカバリー、RPC、サービス
プロキシ、APIゲートウェイ、サービスメッシュ
ランタイム
クラウドネイティブストレージ、コンテナランタイム、
クラウドネイティグネットワーク、
プロビジョニング
⾃動化&設定、コンテナレジストリ、セキュリティ&コ
ンプライアンス、キーマネジメント
スペシャル
Kubernetes認定サービスプロバイダ
Kubernetesトレーニングパートナー
プラットフォーム
Kubernetesディストリビューター
Kubernetesホスティング
Kubernetesインストーラー
PaaS /コンテナサービス
オブザーバビリティ&分析
モニタリング、ロギング、トレーシング、
カオスエンジニアリング
継続的デプロイ
The Continuous
Delivery Foundation
会員
サーバレス
Cloud Native
サービスメッシュ
56
サービスメッシュ
サービス間連携の管理
• サービス間連携に関する横断的関⼼事の分離
»連携先サービスの検出とルーティング
»通信制御(認証認可、暗号化、流量制限など)
▸障害対応(サーキットブレーカー、リトライ、障害注⼊など)
»通信状況のロギング
• 分割されたサービスを統合するためのレイヤー
»サービスのリソースは分散管理するが、サービス間の連携は集中
管理する必要性がある
57
サービスメッシュ
Istio
• 現時点でのデファクトスタンダード
»2017年にGoogle、IBM、LyftがOSS化
• Istioの仕組み
»データプレーン
▸サイドカーとしてデプロイし、全ての通信
をインターセプトして制御
▸Envy Proxyを利⽤
»コントロールプレーン
▸設定の配布とログの収集
58
Cloud Native
ストリーミング
59
ストリーミング
Event-Driven Architecture
• サービス同⼠の連携をイベントで⾏う
»同期API連携は密結合だった
▸呼び出し元の責務が多すぎる
▸相⼿を知らないといけない
»イベント駆動のメリット
▸元は流すだけ
▸先は好きな時に好きな部分だけ受け取る
▸Pub-Subにすれば、イベントが共有できる
▸API-FirstからEvent-Firstへ
60
元 先
元 先 先
ストリーミング
CQRSとEvent-Sourcing
• データを疎結合に共有する
»CQRS(Command Query Responsibility Segregation)
▸更新と表⽰のモデルを分離する
▸=元システムと先システムは異なるモデルでよい
»Event-Sourcing
▸データに対する操作をイベントとして記録
▸=欲しい操作だけ、任意のタイミングで反映
61
元 先
変更
①
変更
①
最新の
データ
ストリーミング
Apache Kafka
• 現時点でのデファクトスタンダード
»2011年、LinkedInによってOSS化
▸現在はConfluent社が主に開発している
»分散処理に優れ、スケールさせやすい
▸順序の維持と永続性が特徴
»k8s上で動かすことも可能
▸3.0でZooKeeperも不要になる予定
62
これからのための技術
Serverless
63
Serverless
Serverlessのはじまり
• Serverless FaaS
»2015年のAWS API Gateway+Lambda(2014)
▸REST API経由でLambdaを起動することができる
»Serverless FaaSとは何か︖
▸イベントで起動する
▸短時間実⾏される、コードから起動し
▸スケーリングするまではフルマネージ
»代表的なサービス
▸AWS Lambda、Azure Functions、GCP Cloud Functions
64
Serverless Architectures
https://martinfowler.com/articles/serverless.html
Serverless
コンテナを前提としたServerless
• Container Serverless
»コンテナを前提としたサーバレス環境
▸⻑時間稼働、複雑な業務ロジックなど広いユースケースに対応可能
▸ただし、スケーラビリティはFaaSに劣る
• Kubernetes Serverless
»k8sを前提としたContainer Serverless
▸仕様︓Knative、KEDA
▸製品︓GCP Cloud Run、AWS App Runner
»ビルドが統合され、Gitから起動まで含む
65
Serverless Architectures
https://martinfowler.com/articles/serverless.html
Serverless
CI/CD+イベント起動+オートスケール
• コードを書くことだけに集中していける
»アプリの柔軟性からするとコンテナベースのものが主流に
▸業務アプリなら常駐もバッチも⾮常に簡単に扱えるようになる
▸FaaSも特定のユースケースでは重要
»NoOpsの1つのパターンとしてテクノロジー化されたもの
▸コードを書いたら動く、という感覚
66
これから
67
これから
2023年ごろに必要なこと
• Cloud NativeやServerlessが基礎技術
• その上で、どんなテクニックが重要になるか︖
68
2001年 Agile
2023年 これから
2009年 DevOps
2006年 Cloud
2015年 Serverless 2015年 Cloud Native
2014年 Microservices
8年
8年︖
8年
これから
Kubernetesの状況整理
• Cloud Native、K8s Serverlessは未成熟な段階
»巨⼤サービスには魅⼒的だが、中規模にはオーバーキル
»標準化を重視しているため、進化はちょっと遅め
▸AWS対抗の雰囲気は強い。中⼼はGoogle、Microsoft、Red Hat(IBM)
»⼗分に実⽤的になるには数年かかるはず
• 現時点ではコンテナライズやCI/CDに取り組んでおく
»⾮k8sなコンテナサーバレスは実⽤性が⾼い
69
これから
単語はEvent-Driven︖Event-First︖
• イベント駆動はテクニックとして注⽬されつつある
»API連携からイベント連携へ
▸もちろん、使い分けは重要。同期APIのユースケースは必ずある
»分散データ管理に対する現実的な解決策
▸初期移⾏やリカバリ、不整合の解消など周辺テクニックは未成熟
• 現時点では部分的にイベント駆動を試してみてよい
»同期APIは密結合という癖はつけておいたほうがいい
»イベントストリーミングのマネージドサービスは利⽤しやすい
70
これから
イベント管理の技術は未成熟な状態
• Istioとの統合
»試⾏錯誤はされている状態
• データは共有しないが、スキーマは共有すべき
»受け取る側はスキーマのバージョンに関する情報が重要
»1つの⽅向性︓Confluent Schema Registry
▸Kafka向けのスキーマ管理ツール
ü スキーマ定義、およびシリアライズ・デシリアライズ処理
71
Schema Registry Overview
https://docs.confluent.io/platform/current/schema-registry/
The benefits of integrating Apache Kafka with Istio on Kubernetes – Istio Con 2021
https://events.istio.io/istiocon-2021/sessions/the-benefits-of-integrating-apache-kafka-with-istio-on-kubernetes/
まとめ
72
まとめ
ともかく改善サイクルを早くすることが重要
• そのためにテクノロジーもテクニックも進化している
73
ユーザー
企画
開発
運⽤
まとめ
そろそろ、新しい⾔葉が出てきそう︖
• イベント駆動あたりな気がする
»コンテナのよる分割とサービスメッシュによる統合
»k8sサーバレスによるNoOpsの実現
74
2001年 Agile
2023年 これから
2009年 DevOps
2006年 Cloud
2015年 Serverless 2015年 Cloud Native
2014年 Microservices
8年
8年︖
8年
マイクロサービスに⾄る歴史とこれから
2021/9/18
グロース・アーキテクチャ&チームス株式会社
鈴⽊雄介
XP祭り2021 @ Online

More Related Content

What's hot

マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発Amazon Web Services Japan
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意Yoshitaka Kawashima
 
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #1320210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13Amazon Web Services Japan
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル貴志 上坂
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAkihiro Kuwano
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)NTT DATA Technology & Innovation
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)NTT DATA Technology & Innovation
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能Kohei Tokunaga
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -onozaty
 
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017Yusuke Suzuki
 
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLiveDXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLiveTokoroten Nakayama
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門Kohei Tokunaga
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれKumazaki Hiroki
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方Yoshiyasu SAEKI
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したことAmazon Web Services Japan
 

What's hot (20)

マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
Serverless時代のJavaについて
Serverless時代のJavaについてServerless時代のJavaについて
Serverless時代のJavaについて
 
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
 
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #1320210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
 
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
 
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLiveDXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと
 

Similar to マイクロサービスに至る歴史とこれから - XP祭り2021

作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていくRyo Mitoma
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshopDaisuke Sugai
 
サイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOpsサイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOpsShuhei Eda
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~Yuki Ando
 
OSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCOSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCDaisuke Nishino
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsEtsuji Nakai
 
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~Rakuten Group, Inc.
 
2014.11.01 Dockerことはじめ
2014.11.01 Dockerことはじめ2014.11.01 Dockerことはじめ
2014.11.01 Dockerことはじめxyzplus_net
 
ToolChainを使った次世代DevOps環境の作り方
ToolChainを使った次世代DevOps環境の作り方ToolChainを使った次世代DevOps環境の作り方
ToolChainを使った次世代DevOps環境の作り方Harada Kazuki
 
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops20120927 findjob4 dev_ops
20120927 findjob4 dev_opsume3_
 
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しよう
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しようAzure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しよう
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しようShinya Nakajima
 
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02Hiro Yoshioka
 
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善Works Applications
 
開発現場から考える プロジェクトで活躍する 新入社員の育て方とは?
開発現場から考えるプロジェクトで活躍する新入社員の育て方とは?開発現場から考えるプロジェクトで活躍する新入社員の育て方とは?
開発現場から考える プロジェクトで活躍する 新入社員の育て方とは?CASAREAL, Inc.
 
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...VirtualTech Japan Inc.
 
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...Nobuyuki Tamaoki
 
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダJAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダKenichi Yoshida
 
Azure DevOps で始めるスタートダッシュ
Azure DevOps で始めるスタートダッシュAzure DevOps で始めるスタートダッシュ
Azure DevOps で始めるスタートダッシュYasuaki Matsuda
 

Similar to マイクロサービスに至る歴史とこれから - XP祭り2021 (20)

作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
 
サイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOpsサイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOps
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
 
OSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCOSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSC
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
 
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
 
2014.11.01 Dockerことはじめ
2014.11.01 Dockerことはじめ2014.11.01 Dockerことはじめ
2014.11.01 Dockerことはじめ
 
ToolChainを使った次世代DevOps環境の作り方
ToolChainを使った次世代DevOps環境の作り方ToolChainを使った次世代DevOps環境の作り方
ToolChainを使った次世代DevOps環境の作り方
 
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops20120927 findjob4 dev_ops
20120927 findjob4 dev_ops
 
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しよう
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しようAzure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しよう
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しよう
 
Xpjug lt-20210918
Xpjug lt-20210918Xpjug lt-20210918
Xpjug lt-20210918
 
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02
 
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
 
開発現場から考える プロジェクトで活躍する 新入社員の育て方とは?
開発現場から考えるプロジェクトで活躍する新入社員の育て方とは?開発現場から考えるプロジェクトで活躍する新入社員の育て方とは?
開発現場から考える プロジェクトで活躍する 新入社員の育て方とは?
 
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
 
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
 
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダJAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
 
Azure DevOps で始めるスタートダッシュ
Azure DevOps で始めるスタートダッシュAzure DevOps で始めるスタートダッシュ
Azure DevOps で始めるスタートダッシュ
 
Dockerとdev ops
Dockerとdev opsDockerとdev ops
Dockerとdev ops
 

More from Yusuke Suzuki

アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチアーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチYusuke Suzuki
 
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023Yusuke Suzuki
 
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022Yusuke Suzuki
 
Javaとコミュニティの歩み 2020
Javaとコミュニティの歩み 2020Javaとコミュニティの歩み 2020
Javaとコミュニティの歩み 2020Yusuke Suzuki
 
エンタプライズ領域のアジャイル開発の課題 - FIT2020
エンタプライズ領域のアジャイル開発の課題 - FIT2020エンタプライズ領域のアジャイル開発の課題 - FIT2020
エンタプライズ領域のアジャイル開発の課題 - FIT2020Yusuke Suzuki
 
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏Yusuke Suzuki
 
エンタープライズ、アーキテクチャ、アジャイルのこれから
エンタープライズ、アーキテクチャ、アジャイルのこれからエンタープライズ、アーキテクチャ、アジャイルのこれから
エンタープライズ、アーキテクチャ、アジャイルのこれからYusuke Suzuki
 
アーキテクチャのレビューについて - JaSST Review '18
アーキテクチャのレビューについて - JaSST Review '18アーキテクチャのレビューについて - JaSST Review '18
アーキテクチャのレビューについて - JaSST Review '18Yusuke Suzuki
 
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018Yusuke Suzuki
 
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJPMicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJPYusuke Suzuki
 
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナーエンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナーYusuke Suzuki
 
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会Yusuke Suzuki
 
Javaはコミュニティの力で再び偉大になれるのか
Javaはコミュニティの力で再び偉大になれるのかJavaはコミュニティの力で再び偉大になれるのか
Javaはコミュニティの力で再び偉大になれるのかYusuke Suzuki
 
Javaのカルチャーとグロース - MANABIYA 2018
Javaのカルチャーとグロース - MANABIYA 2018Javaのカルチャーとグロース - MANABIYA 2018
Javaのカルチャーとグロース - MANABIYA 2018Yusuke Suzuki
 
アジャイル開発を支えるアーキテクチャ設計とは
アジャイル開発を支えるアーキテクチャ設計とはアジャイル開発を支えるアーキテクチャ設計とは
アジャイル開発を支えるアーキテクチャ設計とはYusuke Suzuki
 
JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座Yusuke Suzuki
 
ITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについてITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについてYusuke Suzuki
 
エナジャイル設立によせて
エナジャイル設立によせてエナジャイル設立によせて
エナジャイル設立によせてYusuke Suzuki
 
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016Yusuke Suzuki
 
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナーユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナーYusuke Suzuki
 

More from Yusuke Suzuki (20)

アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチアーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
 
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
 
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
 
Javaとコミュニティの歩み 2020
Javaとコミュニティの歩み 2020Javaとコミュニティの歩み 2020
Javaとコミュニティの歩み 2020
 
エンタプライズ領域のアジャイル開発の課題 - FIT2020
エンタプライズ領域のアジャイル開発の課題 - FIT2020エンタプライズ領域のアジャイル開発の課題 - FIT2020
エンタプライズ領域のアジャイル開発の課題 - FIT2020
 
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
 
エンタープライズ、アーキテクチャ、アジャイルのこれから
エンタープライズ、アーキテクチャ、アジャイルのこれからエンタープライズ、アーキテクチャ、アジャイルのこれから
エンタープライズ、アーキテクチャ、アジャイルのこれから
 
アーキテクチャのレビューについて - JaSST Review '18
アーキテクチャのレビューについて - JaSST Review '18アーキテクチャのレビューについて - JaSST Review '18
アーキテクチャのレビューについて - JaSST Review '18
 
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
 
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJPMicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
 
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナーエンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
 
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
 
Javaはコミュニティの力で再び偉大になれるのか
Javaはコミュニティの力で再び偉大になれるのかJavaはコミュニティの力で再び偉大になれるのか
Javaはコミュニティの力で再び偉大になれるのか
 
Javaのカルチャーとグロース - MANABIYA 2018
Javaのカルチャーとグロース - MANABIYA 2018Javaのカルチャーとグロース - MANABIYA 2018
Javaのカルチャーとグロース - MANABIYA 2018
 
アジャイル開発を支えるアーキテクチャ設計とは
アジャイル開発を支えるアーキテクチャ設計とはアジャイル開発を支えるアーキテクチャ設計とは
アジャイル開発を支えるアーキテクチャ設計とは
 
JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座
 
ITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについてITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについて
 
エナジャイル設立によせて
エナジャイル設立によせてエナジャイル設立によせて
エナジャイル設立によせて
 
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
 
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナーユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
 

Recently uploaded

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 

Recently uploaded (9)

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 

マイクロサービスに至る歴史とこれから - XP祭り2021