Submit Search
Upload
FiNCとマイクロサービス
•
40 likes
•
54,156 views
Fumiya Shinozuka
Follow
FiNCでのマイクロサービスの取り組みについてまとめました。 2015/9/3 ヒカラボでの登壇資料です。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 53
Download now
Download to read offline
Recommended
20151204 遺伝子&健康アプリサービスの提案
20151204 遺伝子&健康アプリサービスの提案
hirosawashinobu
11:7@google
11:7@google
Mitsunori Nanno
ウェルネスAiとグラフDB
ウェルネスAiとグラフDB
Mitsunori Nanno
Microserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かった
Akira Miki
上げよう!IoT女子力
上げよう!IoT女子力
NHN テコラス株式会社
IoTガーデニング(IT農業)第一弾
IoTガーデニング(IT農業)第一弾
M Ikarashi
新卒自称IoT女子が社内でIT農業をやろうとがんばっています
新卒自称IoT女子が社内でIT農業をやろうとがんばっています
NHN テコラス株式会社
Japan Anti-Abuse Working Group
Japan Anti-Abuse Working Group
APNIC
Recommended
20151204 遺伝子&健康アプリサービスの提案
20151204 遺伝子&健康アプリサービスの提案
hirosawashinobu
11:7@google
11:7@google
Mitsunori Nanno
ウェルネスAiとグラフDB
ウェルネスAiとグラフDB
Mitsunori Nanno
Microserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かった
Akira Miki
上げよう!IoT女子力
上げよう!IoT女子力
NHN テコラス株式会社
IoTガーデニング(IT農業)第一弾
IoTガーデニング(IT農業)第一弾
M Ikarashi
新卒自称IoT女子が社内でIT農業をやろうとがんばっています
新卒自称IoT女子が社内でIT農業をやろうとがんばっています
NHN テコラス株式会社
Japan Anti-Abuse Working Group
Japan Anti-Abuse Working Group
APNIC
Programming camp 共通科目オープンソース
Programming camp 共通科目オープンソース
Hiro Yoshioka
GotAPIの概要と技術解説
GotAPIの概要と技術解説
Device WebAPI Consortium
デバイスコネクトWebAPIの開発状況について
デバイスコネクトWebAPIの開発状況について
Device WebAPI Consortium
Device WebAPI 20160407
Device WebAPI 20160407
陽平 山口
セキュリティ担当者が見たAWS re:Inforce 2019
セキュリティ担当者が見たAWS re:Inforce 2019
Yusuke Karasawa
サイバーセキュリティアナリストやペンテスターに人気の入門資格って?
サイバーセキュリティアナリストやペンテスターに人気の入門資格って?
Masanori KAMAYAMA
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
Developers Summit
AI for Media 2018 Updateセミナー: 株式会社Jストリーム様: AI動画解析に対応!動画配信基盤 ”VideoAid” のご紹介
AI for Media 2018 Updateセミナー: 株式会社Jストリーム様: AI動画解析に対応!動画配信基盤 ”VideoAid” のご紹介
Daiyu Hatakeyama
WebRTCプラグインで広がるWi-Fiカメラのアプリケーション
WebRTCプラグインで広がるWi-Fiカメラのアプリケーション
Device WebAPI Consortium
[国語] クラウドで効果的なドキュメンテーション Fin-jaws (2020年5月4日)
[国語] クラウドで効果的なドキュメンテーション Fin-jaws (2020年5月4日)
Masanori KAMAYAMA
20160526 kintone hive Vol.3 Tokyo
20160526 kintone hive Vol.3 Tokyo
R3 institute
AI for Media 2018 Update セミナー: 株式会社ユニゾンシステム: スピーチ AI を活用した文字起こしプラットホームの活用
AI for Media 2018 Update セミナー: 株式会社ユニゾンシステム: スピーチ AI を活用した文字起こしプラットホームの活用
Daiyu Hatakeyama
IoTあるじゃん北海道支部勉強会#1
IoTあるじゃん北海道支部勉強会#1
Koyo Takenoshita
障害のない社会を作るためのアプリづくりとは? - 発達障害の方向けアプリ開発から学んだこと
障害のない社会を作るためのアプリづくりとは? - 発達障害の方向けアプリ開発から学んだこと
Takashi Kishida
八子Opening IoT trend_151114
八子Opening IoT trend_151114
知礼 八子
20190115 tech on-fintech_600xStripe
20190115 tech on-fintech_600xStripe
Hideki Ojima
Monacaによるモバイルアプリ開発ことはじめ
Monacaによるモバイルアプリ開発ことはじめ
アシアル株式会社
2016年9月6日 IoTとセキュリティ『IoT開発におけるセキュリティ設計の手引き』
2016年9月6日 IoTとセキュリティ『IoT開発におけるセキュリティ設計の手引き』
aitc_jp
20180525 system department manager microservices
20180525 system department manager microservices
kounan13
朝日放送グループにおける番組配信/ライブ配信事例および視聴者参加型コンテンツのご紹介
朝日放送グループにおける番組配信/ライブ配信事例および視聴者参加型コンテンツのご紹介
Eiji KOMINAMI
Creating Mashup service in Yamaguchi
Creating Mashup service in Yamaguchi
Ohishi Mikage
Monolithtomicroservices
Monolithtomicroservices
Shotaro Suzuki
More Related Content
What's hot
Programming camp 共通科目オープンソース
Programming camp 共通科目オープンソース
Hiro Yoshioka
GotAPIの概要と技術解説
GotAPIの概要と技術解説
Device WebAPI Consortium
デバイスコネクトWebAPIの開発状況について
デバイスコネクトWebAPIの開発状況について
Device WebAPI Consortium
Device WebAPI 20160407
Device WebAPI 20160407
陽平 山口
セキュリティ担当者が見たAWS re:Inforce 2019
セキュリティ担当者が見たAWS re:Inforce 2019
Yusuke Karasawa
サイバーセキュリティアナリストやペンテスターに人気の入門資格って?
サイバーセキュリティアナリストやペンテスターに人気の入門資格って?
Masanori KAMAYAMA
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
Developers Summit
AI for Media 2018 Updateセミナー: 株式会社Jストリーム様: AI動画解析に対応!動画配信基盤 ”VideoAid” のご紹介
AI for Media 2018 Updateセミナー: 株式会社Jストリーム様: AI動画解析に対応!動画配信基盤 ”VideoAid” のご紹介
Daiyu Hatakeyama
WebRTCプラグインで広がるWi-Fiカメラのアプリケーション
WebRTCプラグインで広がるWi-Fiカメラのアプリケーション
Device WebAPI Consortium
[国語] クラウドで効果的なドキュメンテーション Fin-jaws (2020年5月4日)
[国語] クラウドで効果的なドキュメンテーション Fin-jaws (2020年5月4日)
Masanori KAMAYAMA
20160526 kintone hive Vol.3 Tokyo
20160526 kintone hive Vol.3 Tokyo
R3 institute
AI for Media 2018 Update セミナー: 株式会社ユニゾンシステム: スピーチ AI を活用した文字起こしプラットホームの活用
AI for Media 2018 Update セミナー: 株式会社ユニゾンシステム: スピーチ AI を活用した文字起こしプラットホームの活用
Daiyu Hatakeyama
What's hot
(12)
Programming camp 共通科目オープンソース
Programming camp 共通科目オープンソース
GotAPIの概要と技術解説
GotAPIの概要と技術解説
デバイスコネクトWebAPIの開発状況について
デバイスコネクトWebAPIの開発状況について
Device WebAPI 20160407
Device WebAPI 20160407
セキュリティ担当者が見たAWS re:Inforce 2019
セキュリティ担当者が見たAWS re:Inforce 2019
サイバーセキュリティアナリストやペンテスターに人気の入門資格って?
サイバーセキュリティアナリストやペンテスターに人気の入門資格って?
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
AI for Media 2018 Updateセミナー: 株式会社Jストリーム様: AI動画解析に対応!動画配信基盤 ”VideoAid” のご紹介
AI for Media 2018 Updateセミナー: 株式会社Jストリーム様: AI動画解析に対応!動画配信基盤 ”VideoAid” のご紹介
WebRTCプラグインで広がるWi-Fiカメラのアプリケーション
WebRTCプラグインで広がるWi-Fiカメラのアプリケーション
[国語] クラウドで効果的なドキュメンテーション Fin-jaws (2020年5月4日)
[国語] クラウドで効果的なドキュメンテーション Fin-jaws (2020年5月4日)
20160526 kintone hive Vol.3 Tokyo
20160526 kintone hive Vol.3 Tokyo
AI for Media 2018 Update セミナー: 株式会社ユニゾンシステム: スピーチ AI を活用した文字起こしプラットホームの活用
AI for Media 2018 Update セミナー: 株式会社ユニゾンシステム: スピーチ AI を活用した文字起こしプラットホームの活用
Similar to FiNCとマイクロサービス
IoTあるじゃん北海道支部勉強会#1
IoTあるじゃん北海道支部勉強会#1
Koyo Takenoshita
障害のない社会を作るためのアプリづくりとは? - 発達障害の方向けアプリ開発から学んだこと
障害のない社会を作るためのアプリづくりとは? - 発達障害の方向けアプリ開発から学んだこと
Takashi Kishida
八子Opening IoT trend_151114
八子Opening IoT trend_151114
知礼 八子
20190115 tech on-fintech_600xStripe
20190115 tech on-fintech_600xStripe
Hideki Ojima
Monacaによるモバイルアプリ開発ことはじめ
Monacaによるモバイルアプリ開発ことはじめ
アシアル株式会社
2016年9月6日 IoTとセキュリティ『IoT開発におけるセキュリティ設計の手引き』
2016年9月6日 IoTとセキュリティ『IoT開発におけるセキュリティ設計の手引き』
aitc_jp
20180525 system department manager microservices
20180525 system department manager microservices
kounan13
朝日放送グループにおける番組配信/ライブ配信事例および視聴者参加型コンテンツのご紹介
朝日放送グループにおける番組配信/ライブ配信事例および視聴者参加型コンテンツのご紹介
Eiji KOMINAMI
Creating Mashup service in Yamaguchi
Creating Mashup service in Yamaguchi
Ohishi Mikage
Monolithtomicroservices
Monolithtomicroservices
Shotaro Suzuki
Monolith to microservice
Monolith to microservice
YorikoYokoyama
第1回勉強会
第1回勉強会
setogon
ふくしま IoT ビジネス共創ラボ 第1回 勉強会 | IoT ビジネスに不可欠な SORACOM サービス 〜様々な業界の導入事例を一挙にご紹介〜
ふくしま IoT ビジネス共創ラボ 第1回 勉強会 | IoT ビジネスに不可欠な SORACOM サービス 〜様々な業界の導入事例を一挙にご紹介〜
SORACOM,INC
TTNのご紹介_2023年版
TTNのご紹介_2023年版
CRI Japan, Inc.
kintoneと○○をつないでみた
kintoneと○○をつないでみた
Sakae Saito
Java kuche agile japan 2017
Java kuche agile japan 2017
Akichika Higa
Microsoft in Action! - COVID19への取り組み、これから皆様とできること。
Microsoft in Action! - COVID19への取り組み、これから皆様とできること。
IoTビジネス共創ラボ
エッジヘビーコンピューティングと機械学習
エッジヘビーコンピューティングと機械学習
Preferred Networks
大容量ファイルを爆速で転送! 世界を飛び回る! AsperaとSoftLayerの最強コラボ!
大容量ファイルを爆速で転送! 世界を飛び回る! AsperaとSoftLayerの最強コラボ!
softlayerjp
2016年度コーポレートフェローシップ活動報告(山本さん)
2016年度コーポレートフェローシップ活動報告(山本さん)
Code for Japan
Similar to FiNCとマイクロサービス
(20)
IoTあるじゃん北海道支部勉強会#1
IoTあるじゃん北海道支部勉強会#1
障害のない社会を作るためのアプリづくりとは? - 発達障害の方向けアプリ開発から学んだこと
障害のない社会を作るためのアプリづくりとは? - 発達障害の方向けアプリ開発から学んだこと
八子Opening IoT trend_151114
八子Opening IoT trend_151114
20190115 tech on-fintech_600xStripe
20190115 tech on-fintech_600xStripe
Monacaによるモバイルアプリ開発ことはじめ
Monacaによるモバイルアプリ開発ことはじめ
2016年9月6日 IoTとセキュリティ『IoT開発におけるセキュリティ設計の手引き』
2016年9月6日 IoTとセキュリティ『IoT開発におけるセキュリティ設計の手引き』
20180525 system department manager microservices
20180525 system department manager microservices
朝日放送グループにおける番組配信/ライブ配信事例および視聴者参加型コンテンツのご紹介
朝日放送グループにおける番組配信/ライブ配信事例および視聴者参加型コンテンツのご紹介
Creating Mashup service in Yamaguchi
Creating Mashup service in Yamaguchi
Monolithtomicroservices
Monolithtomicroservices
Monolith to microservice
Monolith to microservice
第1回勉強会
第1回勉強会
ふくしま IoT ビジネス共創ラボ 第1回 勉強会 | IoT ビジネスに不可欠な SORACOM サービス 〜様々な業界の導入事例を一挙にご紹介〜
ふくしま IoT ビジネス共創ラボ 第1回 勉強会 | IoT ビジネスに不可欠な SORACOM サービス 〜様々な業界の導入事例を一挙にご紹介〜
TTNのご紹介_2023年版
TTNのご紹介_2023年版
kintoneと○○をつないでみた
kintoneと○○をつないでみた
Java kuche agile japan 2017
Java kuche agile japan 2017
Microsoft in Action! - COVID19への取り組み、これから皆様とできること。
Microsoft in Action! - COVID19への取り組み、これから皆様とできること。
エッジヘビーコンピューティングと機械学習
エッジヘビーコンピューティングと機械学習
大容量ファイルを爆速で転送! 世界を飛び回る! AsperaとSoftLayerの最強コラボ!
大容量ファイルを爆速で転送! 世界を飛び回る! AsperaとSoftLayerの最強コラボ!
2016年度コーポレートフェローシップ活動報告(山本さん)
2016年度コーポレートフェローシップ活動報告(山本さん)
Recently uploaded
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
Recently uploaded
(9)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
FiNCとマイクロサービス
1.
組織の急成長を支える技術 FiNCとマイクロサービス 株式会社FiNC Shinozuka Fumiya
2.
I. マイクロサービスがそれなりに II. マイクロサービスで踏みやすい地雷 III.
FiNCにおけるマイクロサービスの実情 この講演を聞いてわかること
3.
自己紹介 マイクロサービス FiNCでの導入事例 困難と対策 課題と今後の対応予定 まとめ ~table of contents~
4.
自己紹介 • 篠塚 史弥
(@shinofumijp) • FiNCエンジニア • FiNC内のほとんどのアプリケーションの立ち上げに関わる • アプリケーションアーキテクチャの設計と実装を行う • APIへの目覚め • 大学院在学中に総務省の情報流通連携基盤の共同研究に携わり、 Web API、マイクロサービスに興味を持つ
5.
自己紹介 マイクロサービス FiNCでの導入事例 困難と対策 課題と今後の対応予定 まとめ ~table of contents~
6.
1つのアプリケーションを 小さなサービスの集合として開発する手法 マイクロサービスって? http://dev.otto.de/2014/07/29/scaling-with-microservices-and-vertical-decomposition/
7.
マイクロサービス9つの特徴 ① サービスによるコンポーネント化 ② ビジネス機能中心の構成 ③
プロジェクトではなくプロダクト ④ スマートエンドポイント、ダムパイプ ⑤ 分散ガバナンス ⑥ 分散データ管理 ⑦ インフラストラクチャ自動化 ⑧ 障害設計 ⑨ 進化的設計 http://martinfowler.com/articles/microservices.html
8.
マイクロサービス9つの特徴 ①サービスによるコンポーネント化 HTTPやRPCで連携するサービスを分離してコンポーネントとして扱う ②ビジネス機能中心の構成 技術レイヤーではなく、ビジネス能力に基づきサービスの分割を行う コンウェイの法則 ③プロジェクトではなくプロダクト 機能を提供して終わりではなく、プロダクトやユーザを意識する http://martinfowler.com/articles/microservices.html
9.
マイクロサービス9つの特徴 ④スマートエンドポイント、ダムパイプ 複雑なプロトコルではなくRESTfulなHTTP APIや軽量なメッセージングプ ロトコルを用いる ⑤分散ガバナンス 中央集権的にすると特定の技術にロックインされがち 適材適所で技術の選定ができる ⑥ 分散データ管理 個々のサービスがデータベースを所有 結果整合性 境界づけられたコンテキスト http://martinfowler.com/articles/microservices.html
10.
マイクロサービス9つの特徴 ⑦インフラストラクチャ自動化 自動テストや自動デプロイを行う ビルドパイプラインを作成する ⑧障害設計 障害体制があるように設計する。障害がUXに影響しないか考慮。 障害を検知できるようにモニタリングする ⑨進化的設計 他への影響を少なくデプロイできるのでざっくりとしたリリーススケジュ ールを立てることができる http://martinfowler.com/articles/microservices.html
11.
マイクロサービスでなにがうれしいの? •モノリシックでやっていると辛いことがある •デプロイが全体のアプリケーションに影響を与える •開発の影響範囲、責任の分解点が難しい •プロジェクトにジョインしたもののどこから読めばいいん すか
12.
なんでマイクロサービスて流行ってるの? •技術環境の変化 •ハードウェアの低廉化と高速化 •ネットワークの高速化と普及 •クラウド環境の充実 •技術スタートアップに代表されるプロダクト中心の組織構成 •コンウェイの法則
13.
前から似たような手法ない? SOA(Service Oriented Architecture)がある マイクロサービスもSOAの焼き直し (マイクロサービス自体明確な定義がないしSOAも多義的)
14.
新規性は? 概念自体は新しくない HTTP APIといったシンプルなWeb技術の利用とか CI環境により実現しやすくなったとか
15.
銀の弾丸? もしかして
16.
もしかして NO
17.
パフォーマンス もしかして:銀の弾丸? インフラ管理コスト デプロイ順序 整合性 分散 APIルーティング テスト サーバ構築方法多様化 障害発生ポイントの増加 車輪の再発明 バージョンアップが地獄
18.
もしかして:銀の弾丸? ググると出てくるような一般的な話ですが 運用すると大変さがわかります(後述)
19.
自己紹介 マイクロサービス FiNCでの導入事例 困難と対策 課題と今後の対応予定 まとめ ~table of contents~
20.
マイクロサービスに至った経緯 サービス多角化とDivision経営 ダイエット家 庭 教
師 CEO マ | ケ テ ィ ン グ 事 業 部 フ ィ ッ ト ネ ス 事 業 部 オ ン ラ イ ン ワ | ク ス 事 業 部 E C 事 業 部 ラ イ フ サ イ エ ン ス 事 業 部
21.
マイクロサービスの実例 FiNC App
22.
マイクロサービスの実例 FiNC App •
チェック→ソリューション→EC • 行動変容と継続のためのウェルネスバリューチェーン ウェルネス サーベイ 遺伝子・ 血液検査 食事指導 サーベイ+ 各種検査 分析結果 レポート パーソナライズ ソリューション&コンテンツ 専門家の アドバイス SNS ヘルスケア の知識・智恵 レシピ 豆知識 理想の食事 腕を大きくふって歩く 背伸びを3回する 肩甲骨を3回す 野菜を毎食食べる 1日1ℓ以上水を飲む 朝ヨーグルトを食べる • 総合結果 • 心身の状態 • 解決すべき行動 • 生活習慣病リスク • お勧めプラン etc. フィットネスタスク FiNC STORE ポイント 獲得 • オーダメイド・ パー ソナル・ サプリ メント • 酵素ドリンク • スムージー etc. タスク実行や 食事投稿で 貯まるポイント ポイント適用可サーベイ結果 ヘルスケア ツーリズム 健康食 コンテンツ etc. 食事タスク スクワットを10回x3 継続して10分歩く ライスを半分に控える 毎食野菜から食べる
23.
FiNC Appのシステム構成 • APIサーバの大部分はRailsアプリケーション •
Backend APIの一部はGoを使用 • Front APIへのリクエスト負荷が大きくなってきたら 別言語やフレームワークの利用も検討
24.
具体的な事例① Instance Instance Instance Instance Front
API 血液検査 API 遺伝子検査 API 生活習慣 API • 各サービス間のAPI連携
25.
具体的な事例② • ユーザーが日々行うタスクはタスク生成バックエンド サービスにより生成 • 言語にはGoを採用 ・生活習慣・運動ログ ・睡眠・タスクの実行 ・食事・アプリログ等 ・タスクDB・学習エンジン
・GO
26.
具体的な事例③ • Webクライアントは独立したアプリケーションにする • ユーザ側・管理画面もそれぞれ別アプリケーション •
ユーザ側ではReact.jsを採用
27.
具体的な事例④ • ユーザの食事に対する、専門家による指導はFiNCオ ンラインワークス事業部。 • 別アプリケーションから行っている。
28.
自己紹介 マイクロサービス FiNCでの導入事例 困難と対策 課題と今後の対応予定 まとめ ~table of contents~
29.
I. API管理の複雑化 II. 共通機能の再開発 III.
ユーザ情報の分散 IV. ローカル開発の困難 V. 障害ポイントの増加 VI. 整合性 発生した問題
30.
• このデータはどのアプリケーションの責務?どのアプ リケーションが何のAPI持っている? • アプリケーション開発者が都度確認しながら開発する ことにより効率が下がった •
マイクロサービスに備えてちゃんと設計しないと初期 に起こる問題 API管理の複雑化発生した問題
31.
• ドメインモデルによる分割とRESTfulなインターフェ ース • アプリケーション開発者はデータの出自を気にせずに 欲しいデータを取得できるように •
データを自アプリケーション内にキャッシュするかは 各アプリケーション運用方針に委ねる 対応
32.
• ビジネススキームの変化、ドメインの追加により分割 が変更する可能性は大いにある。最初から賢く設計し すぎないことが大事。 • ドメインの分割は頭を使う作業 •
提供したい、利用したいものを適切な粒度の言葉(= 概念)で抽象 • サービスを通して何を提供したいのか、事業のフォー カス、設計思想、ハードウェアリソース、etc.に左 右される 余談)ただし、、、
33.
• ツールやtips系のメソッドを別アプリケーションでも 書いてしまう 共通機能の再開発発生した問題
34.
• Gemで! • 言語をまたがる時は車輪の再発明してしまっている 対応
35.
• 各アプリケーションで独立してDBを利用 • 認証情報が分散し同期が困難に ユーザの認証情報の分散発生した問題 http://martinfowler.com/articles/microservices.html
36.
• FiNCAccountManagerというライトな認証サービス をバックエンドアプリケーションとして作成 • 基本はOAuth 対応
37.
• アプリケーションをいくつも立ち上げる必要がある • すべてのアプリケーションを自分でclone
& pull(!) • バージョンが古いまま開発することも、、、 ローカル開発環境発生した問題
38.
• Dockerを用いたローカル開発環境基盤の作成 • コマンドラインから以下の操作が可能に •
ローカル環境にデプロイ • 個人情報をマスクしたデータを利用 • 最新バージョンをpull 対応
39.
• サーバ数の増加に伴う障害発生ポイントが増加 障害ポイントの増加発生した問題
40.
• 障害が発生するのは仕方ない • 冗長構成にする •
死活監視を行う • 逆にモノリシックなシステムだと障害回数自体は少な くなるかもしれないが、その分1回あたりのダメージ が大きくなるので恩恵を受けている • 障害が起きても他アプリケーションが稼動できるよう な設計は必要 対応
41.
• 分散環境ではSQLのトランザクションが行えない 整合性発生した問題
42.
• 結果整合性を採用 • 現在は定期的なバッチによる同期処理 •
失敗時のロールバックをアプリケーションで保障 対応
43.
マイクロサービスって大変そうだし 本当にやる意味あるの?
44.
困難はあれど それを上回る恩恵がある!!
45.
マイクロサービスにより得た恩恵 • 独立した開発サイクル • 小さなチームで機動力のある開発 •
技術的なチャレンジがしやすい • 適材適所で言語が変えられる • コードが小さく影響範囲も小さい • サービスにメンバーがジョインしやすい • リファクタリングも楽 • 独立してデプロイできる • 影響範囲が小さなPDCAが回せる • テストからデプロイまでが早い • 障害が波及しない
46.
自己紹介 マイクロサービス FiNCでの導入事例 困難と対策 課題と今後の対応予定 まとめ ~table of contents~
47.
• APIオーケストレーション層の作成 • クライアントとサーバの間にクライアント用にAPI を変換する層 •
各クライアント開発者がカスタマイズ可能 課題1:各クライアントに最適化されたAPIがほしい http://techblog.netflix.com/2012/07/embracing-differences-inside-netflix.html
48.
• RDBをキューとして利用 +
デーモン • キューに保存するまでをトランザクションにする 課題2:分散環境での整合性保障を楽にしたい
49.
• アプリケーションの改善、組織の拡大は続く • 疎結合にしたつもりが依存しあうこともある •
アプリケーションを運用し続ける限り避けられない 課題3:それでも残る(悪い)密結合! http://www.pwc.com/us/en/technology-forecast/2014/cloud-computing/features/microservices.jhtml
50.
• アプリケーションの改善、組織の拡大は続く • 疎結合に •
アプリケーションを運用し続ける限り 課題3:それでも残る(悪い)密結合! 一緒にマイクロサービスを支えてくれるエンジニア求む! http://www.pwc.com/us/en/technology-forecast/2014/cloud-computing/features/microservices.jhtml
51.
自己紹介 マイクロサービス FiNCでの導入事例 困難と対策 課題と今後の対応予定 まとめ ~table of contents~
52.
I. マイクロサービスはスケーラビリティ上有効な手段だ が運用上の困難が多く伴うことを説明した II. FiNCでのマイクロサービス導入の経緯と実例、現在の 課題と今後の対応予定を話した III.
FiNCでも様々な技術的困難があったがそれに見合うだ けの恩恵にあずかった IV. 紹介しきれなかった開発秘話もまだまだあります
53.
ありがとうございました!
Download now