SlideShare ist ein Scribd-Unternehmen logo
1 von 98
Downloaden Sie, um offline zu lesen
© COPYRIGHT 2019 FIXER Inc.
モノリスなアプリからマイクロサービスへ
- クラウドネイティブなアプリ開発における
CI/CD プロセスと DevOps ツール -
横山 依子
株式会社 FIXER
Cloud Evangelist
鈴木 章太郎
株式会社 FIXER
Technical Fellow, Evangelist
内閣官房 政府 CIO 補佐官
エンタープライズアジャイル勉強会 5月セミナー
© COPYRIGHT 2019 FIXER Inc.
鈴木章太郎
株式会社 FIXER
Technical Fellow, Evangelist
内閣官房 政府 CIO 補佐官
(法務省担当)
元 Microsoft Evangelist
AWS, Azure, GCP
Certified Professional
Follow me!
@shosuz
© COPYRIGHT 2019 FIXER Inc.
横山 依子
(ヨコヤマ ヨリコ)
株式会社FIXER
Cloud Evangelist
Follow me!
@yokoyamasandesu
© COPYRIGHT 2019 FIXER Inc.© COPYRIGHT 2019 FIXER inc.
4
Technology to FIX your challenges.
あなたのチャレンジをテクノロジーで成就する
私たちはテクノロジーの力を信じています。
情報化社会のビジネスシーンにおいて、
新たなチャレンジの基盤となるテクノロジー。
スローガンに込めた「FIX(=成就)」とは、
お客さまのチャレンジを実現し、事業の価値を高めること。
そして「your challenges」は、お客さまとFIXER の社員、
あらゆるステークホルダーのチャレンジを示します。
その全てをテクノロジーでFIX することが
私たちの歓びであり、みなさまへの約束です。
© COPYRIGHT 2019 FIXER Inc.© COPYRIGHT 2019 FIXER inc.
5
会社概要 (2019年4月1日現在)
会社名
所在地
従業員数
資本金
従業員数
株式会社FIXER
東京都港区芝浦1-2-3シーバンスS館 24階
2009年11月6日
3,500万円
118名 (正社員)
172名 (他雇用形態・業務委託を含む)
役員
関連会社
会長: 仲畑 貴志
代表取締役社長: 松岡 清一
取締役: 中尾 公一
社外取締役: 板野 泰之
顧問: 渥美 俊英
社外監査役: 名古屋 聡介
株式会社ドラゴン東京
代表者 松岡 清一
© COPYRIGHT 2019 FIXER Inc.© COPYRIGHT 2019 FIXER inc.
6
拠点 (2019年1月1日現在)
金沢事業所
名古屋事業所
東京本社
FIXER
クラウドセンター
FIXER
Technologies, Inc.
石川県金沢市広岡2-13-37
STビル
愛知県名古屋市中区栄2-2-23
アーク白川公園ビルディング
東京都港区芝浦1-2-3
シーバンスS館
三重県津市あのつ台4-6-1
あのつピア
717 Market St STE100,
San Francisco CA 94103
© COPYRIGHT 2019 FIXER Inc.© COPYRIGHT 2019 FIXER inc.
7
IoT Platform
自然言語処理のLegal Tech応用、
対話型エージェントの開発
AI / Machine Learning
クラウドの利点をフル活用できる
5G時代のデータ収集・転送・分析
プラットフォームの開発
MaaS (Mobility as a Service)
サービス開発 クラウドバンキングの開発から、
デジタル時代の銀行のビジネスと
システムアーキテクチャデザイン
Fintech
コアプロダクトであるマネージドサービス cloud.config を基盤に、Fintech/MaaS 領域でサービスを開発。
これらのサービスの基礎技術となる AI/Machine Learning および IoT Platform の研究開発を積極的に推進
当社が提供するサービスの全体像
先端技術開発
マネージド
サービス
マルチモーダルサービス対応の
アプリ開発、自動運転時代の
データプラットフォーム開発
Lift & Shift
クラウド移行の
難易度・効果を
クイックに診断、
プランをご提案
cloud.config
設計・監視・運用
・保守を24/7支援
するフルネージド
サービス
cloud.config Portal
プロビジョニング
からスケーリング
までを自動化する
管理ポータル
© COPYRIGHT 2019 FIXER Inc.© COPYRIGHT 2019 FIXER inc.
8
Microsoftの「Cloud Solution Provider Program」に開始初期から参加、2017年には「Microsoft Country Partner of the
Year」を受賞するなど、緊密に連携してビジネスを展開
Microsoftとのパートナーシップ
クラウドのためのベストサービス
~フルマネージドサービス~
最適なパブリッククラウド
~クラウドマネージメント~
2013
2014
2015
2016
2018
2017
2019
当社松岡が発起人となり一般社団法人アジュール評議会(ACE)設立
Microsoft Azure パートナーアワード Cloud Service Vendor 最優秀賞 受賞
Microsoft Azure パートナーアワード Cloud Service Vendor 最優秀賞 受賞
パートナープログラム「Cloud Solution Provider Program」の開始に当たり
パートナーとして認定(世界26社のうち1社)
Microsoft Financial Services Award 受賞
日本国内で最も優秀な成績を収めたパートナーとして、Microsoft Country Partner of the Year 受賞
© COPYRIGHT 2019 FIXER Inc.© COPYRIGHT 2019 FIXER inc.
10
Cloud Config TechBlog Powered by FIXER
https://tech-blog.cloud-config.jp/
© COPYRIGHT 2019 FIXER Inc.
Agenda
• アプリケーションのクラウド移行戦略
• マイクロサービスとは何か
• マイクロサービスを支える技術
• Azure DevOps デモ
• サンプルアプリご紹介
• まとめ
© COPYRIGHT 2019 FIXER Inc.
アプリケーションの
クラウド移行戦略
© COPYRIGHT 2019 FIXER Inc.
デジタル・トランスフォーメーションとは何か
異業種からの参入 市場環境の流動性 顧客嗜好の多様化
不確実性の増大
ビジネスのスピードを圧倒的に上げるしか
対処する術はない
➢ 経営会議のサイクルを月次から日次へ
➢ 販売実績の報告を日次からリアルタイムへ
➢ 労働時間の把握を月次からリアルタイムへ
意思決定サイクル
の短縮
現場への
大幅な権限委譲
流水化された
ビジネス・プロセス
デジタル・テクノロジーを駆使
ビジネス・スピードを加速する
デジタル・トランスフォーメーション
自律的なチームによる
運営と管理
現場や顧客の「見える化」
バリューストリームの
管理と把握
(ヒト、モノ、カネ、情報)
© COPYRIGHT 2019 FIXER Inc.
デジタルトランスフォーメーションを取り巻く2つの環境
異業種からの参入 市場環境の流動性 顧客嗜好の多様化
不確実性の増大
事業継続の条件:変化への即応力を持つこと
ビ
ジ
ネ
ス
環
境
アジャイル開発と DevOps
クラウド:コンテナ × Kubernetes / SaaS × PaaS
I
T
環
境
ERP × BPR / BPM
意志決定の迅速化 ビジネス・プロセスのデジタル化
見える化 最適化
機械学習×データサイエンス
ビジネスの現場からのデータ収集
D
X
を
支
え
る
仕
組
み
プラットフォーム
変
化
に
俊
敏
に
対
応
で
き
る
企
業
文
化
・
体
質
© COPYRIGHT 2019 FIXER Inc.
クラウド移行戦略
リフト&シフト+モダナイズ
ガートナーの5つのR
・Rehost
・Refactor
・Rearchitect
・Rebuild
・Replace
シフトの指針
New
© COPYRIGHT 2019 FIXER Inc.
アプリケーション ポートフォリオ アセスメント
EOS(例:Windows Sever 2008)がきっかけの場合も
16
・アプリケーション
・プラットフォーム
・ワークフローの
メンテナンスや
更新
・ビジネス価値
・コスト
• ビジネス
• テクノロジー
• 人
リタイア
リプレース
リビルド
リアーキテクト
リファクタ
リホスト
© COPYRIGHT 2019 FIXER Inc.
アプリケーションのクラウド移行シナリオ
17
コンテナオンプレミス サーバーレスIaaS
© COPYRIGHT 2019 FIXER Inc.
マイクロサービスでアプリ構築
・スケールアップやメンテナンスがより簡単になり、弾力性があり安定した運用が可能
リアーキテクト : アプリのアーキテクチャ変更
18
マイクロサービスモノリシック
© COPYRIGHT 2019 FIXER Inc.
モノリシックからマイクロサービス(APIベース)
商品
注文
決済
配達
API
API
API
API
© COPYRIGHT 2019 FIXER Inc.
マイクロサービス的実装例
API
API
API
API
© COPYRIGHT 2019 FIXER Inc.
Smart hotels 360
https://azure.microsoft.com/ja-jp/campaigns/smarthotel360/
© COPYRIGHT 2019 FIXER Inc.
日本政府の
取り組み
• 世界最先端デジタル
国家創造宣言
• 官民データ活用推進
基本計画
• デジタル・ガバメント
推進方針
• デジタル・ガバメント
実行計画
世界最先端デジタル国家
実行計画が
目指すもの
(ToBe)
© COPYRIGHT 2019 FIXER Inc.
デジタル
ファースト
法案、
衆院通過
© COPYRIGHT 2019 FIXER Inc.
クラウドバイデフォルト
の推進
• 【方針2-3】プラットフォームの共用化と民間サービスの活用
• 効率的かつ効果的なプラットフォームの整備を行うため、共用化を前提とした
共通システムや共通サービスの整備及び拡充を推進する。業務やデータの標準
化等の業務改革を進めながら、府省共通システムの継続的な充実及び強化や自
治体クラウドの一層の推進に取り組む。
• 全国同一水準での提供が求められる地方公共団体等のサービスについて、各主
体において個別に情報システムの整備を行うのではなく、自治体クラウド等
への集約化を推進する。加えて、クラウドの広域化やグループ同士の統合等を
進め、機能の共用化を促進する。
• プラットフォームの共用化の一環として、行政機関におけるテレワーク・リ
モート アクセス環境の共通化等、生産性の向上や多様なワークスタイルを実
現する共通インフラの整備を推進する。
• 情報システムの導入に当たっては、全ての機能を行政自らが構築するという自
前主義に拘泥するのではなく、民間クラウドや民間サービスを積極的に活用し、
行政機関が全てを保有・管理する形態から必要なものを必要な期間だけ利用
するという考え方へ転換する。これによって、最新技術の早期かつ適時の導入
や投資対効果の向上を実現する。国において直接保有・管理する必要がある
政府情報システムについては、標準化・共通化を図るとともに、投資対効果の
検証を徹底した上で、政府共通プラットフォームへの移行を推進する。
24
• 国際的な動向を見ながら、
プラットフォームの共通化
を再検討する必要あり
• クラウド方針を作成
(CIO 補佐官技術タスク
フォース)
• データ分析やプロジェクト
管理等、汎用機能での民間
サービスの積極的活用
(CIO 補佐官)
© COPYRIGHT 2019 FIXER Inc.
政府 CIO 補佐官技術タスクフォース ディスカッションペーパー
https://cio.go.jp/dp
© COPYRIGHT 2019 FIXER Inc.
(参考)3.アプリケーション設計・開発に
おける考え方 1/2
パブリック・クラウド利用時の考え方 (従来の考え方)
システム設計 クラウドサービスのリファレンスアーキテクチャをベースと
する
様々な技法・手法や、これまでの経験をベースとする
開発量の削減 SaaS、PaaS、マネージドサービス等を利用する パッケージや超高速開発ツール等を適用する
データベース マネージドサービスの DB を利用する
(スケールアップ・スケールアウト可能)
ライセンスを購入して個別に DB サーバを構築する
BI マネージドサービスの BI を利用する ライセンスを購入して個別に BI 環境を構築する
システム間インタフェース 疎結合、非同期を前提に、API 管理ツールで一元管理を行う 個別に設計・実装
サービス指向 マネージドサービスのマイクロサービス(サーバレス)を
利用する
個別にサービス化を行う
環境変化への姿勢 環境変化を当然と捉えて、前向きに対応する。
アジャイル開発を積極的に取り入れ、コンテナ等の DevOps
も想定する
環境変化を必要悪と捉えて、やむを得ず対応する
https://cio.go.jp/dp2019_01引用:パブリック・クラウドを利用した情報システムにおける計画・構築時の基本的な考え方
© COPYRIGHT 2019 FIXER Inc.
マイクロサービス
とは何か
© COPYRIGHT 2019 FIXER Inc.
マイクロ
サービスとは
• MSDN アーキテクチャーセンター
• マイクロサービスアーキテクチャは、小さな
自律的サービスのコレクションで構成されます。
各サービスは自己完結型で、1つのビジネス機能
を実装している必要があります。
• https://docs.microsoft.com/ja-
jp/azure/architecture/guide/architecture-
styles/microservices
• ビジネスの変化に即応するための目的的な概念
© COPYRIGHT 2019 FIXER Inc.
各サービスの特長
© COPYRIGHT 2019 FIXER Inc.
①小さく、独立的で、疎結合
© COPYRIGHT 2019 FIXER Inc.
②小規模な1つの開発者チームで作成および管理可能
© COPYRIGHT 2019 FIXER Inc.
大規模なチーム開発だと・・・
© COPYRIGHT 2019 FIXER Inc.
③個別にデプロイ可能で、 アプリケーション全体を再構築
したり再デプロイしたりすることなく、個別にサービスを
更新可能
© COPYRIGHT 2019 FIXER Inc.
多くの人手・承認・時間など
コストがかかる
© COPYRIGHT 2019 FIXER Inc.
④サービスのデータや外部の状態を保持する役割を担う
© COPYRIGHT 2019 FIXER Inc.
⑤明確に定義された API で互いに通信し、各サービス内部
の実装の詳細は、他のサービスに開示されない
© COPYRIGHT 2019 FIXER Inc.
⑥各サービスは、サービスの特性に応じて異なるテクノロジスタック、
ライブラリ、またはフレームワークで構築可能
© COPYRIGHT 2019 FIXER Inc.
このシステム
複雑すぎる・・・
どのコードを参照したら
いいんだっけ・・・??
しかもNode.js使いたいん
ですけど。
© COPYRIGHT 2019 FIXER Inc.
⑦障害も分離される
© COPYRIGHT 2019 FIXER Inc.
全サービス、ストップ。
いつ復旧するの?損害は?
© COPYRIGHT 2019 FIXER Inc.
モノリシックサービス
© COPYRIGHT 2019 FIXER Inc.
マイクロサービス
© COPYRIGHT 2019 FIXER Inc.
マイクロサービスの
特長
• ビジネスドメインに沿ったモデル化
• 実装の詳細の隠避
• 自動化の推進
• 高度な分散化の推進
• 独立したデプロイメント
• 障害の分離の徹底
• 監視と管理の高度化
© COPYRIGHT 2019 FIXER Inc.
マイクロサービス化する上での
課題とは??
運用管理コスト
単純に複数サーバで運用するので
運用管理コストは増大します。
サーバの費用もそうですが、環境
構築や監視、メンテナンスなど
サーバが増えるのでそれも運用コ
ストとなります。
01
データの整合性
データベースも複数運用となる
と、データの整合性の問題も出
てきます。また、既存サービス
をデータ分割するとなると難易
度が上がります。
02
結合テスト
アプリケーションが複数の
サーバ、インスタンスにま
たがった構成になるので結
合テストが難解になります。
03
© COPYRIGHT 2019 FIXER Inc.
ちょうどいいマイクロ
サービス化を行い、
変化に対応しやすい
システムを作ろう!
© COPYRIGHT 2019 FIXER Inc.
マイクロ
サービスの2側面
• プラットフォーム技術
• Container
• Docker
• Kubernetes
• ソフトウェアアーキテクチャ
• 分散アーキテクチャ
• 通信
• データ
© COPYRIGHT 2019 FIXER Inc.
マイクロサービスの
台頭①
• ビジネスモデルの急速な
変化
• アジャイル開発
• クラウドベンダー成長
• クラウド利用企業激増
• API 公開・連携の拡大
• アプリケーション最新化
• 反復的
• 継続的
© COPYRIGHT 2019 FIXER Inc.
マイクロサービスの
台頭②
• プラットフォーム技術
• Container, Orchestrator
• 運用コスト削減
• ビジネス機会の拡大
• 選択と集中
• 必要機能のみスケール
アウト
© COPYRIGHT 2019 FIXER Inc.
マイクロサービス
アーキテクチャによるアプリ構築
着手前に考慮すべき技術的課題
• 同機能のモノリシックアプリより多くの動的なパーツで構成され複雑
• サービス間の境界にまたがってリファクタリングを行うことは困難
• 多くの異なる言語やフレームワークを使用する場合のアプリのガバナ
ンス
• ネットワークの輻輳と待機時間
• 独自のデータを永続化する各マイクロサービスを使用するためデータ
整合性の困難さ
• サービス間で相互に関連付けられたログを記録することは難しい
• 複数のサービスが特定の時点で更新される場合があるためバージョン
管理を慎重に設計する必要がある
• 高度な分散システムのため成功のために必要なスキルセット
© COPYRIGHT 2019 FIXER Inc.
マイクロサービスを
支える技術
© COPYRIGHT 2019 FIXER Inc.
Docker Containers
クラウドからオンプレミスまで
どこでも実行可能な高速で軽量な
アプリケーション / サービスの
配置、運用、管理、自動化のための技術
コンテナー型のアプリ仮想化技術
◼ ネットワークやリソースを分離
◼ 高速かつオーバーヘッドの少ない配置展開
◼ オープンソース WindowsLinux
52
© COPYRIGHT 2018 FIXER Inc.
Docker とは?
◼ コンテナー型のアプリ仮想化技術
◼ コンテナ間は分離
◼ OS カーネルや各種ライブラリ等は共有
◼ 高速かつオーバーヘッドの少ない
デプロイ、再起動、移行
◼ オープンソース
AppA’
Host OS
Server
Bins/Libs
AppA
Bins/Libs
AppB
AppB’
AppB’
AppB’
Container
App
A
Hypervisor (Type 2)
Host OS
Server
Guest
OS
Bins/
Libs
App
A’
Gues
t
OS
Bins/
Libs
App
B
Gues
t
OS
Bins/
Libs
VM
Guest
OS
Guest
OS
53
© COPYRIGHT 2018 FIXER Inc.
参考:マンガでわかるDocker_技術書典
Docker とは?
© COPYRIGHT 2019 FIXER Inc.
本日Dockerについて
覚えていただきたいこと
①コンテナ
②イメージ
55
© COPYRIGHT 2018 FIXER Inc.
参考:マンガでわかるDocker_技術書典
Docker と コンテナの関係は?
56
© COPYRIGHT 2018 FIXER Inc.
コンテナをつくる元となる
ファイルのこと。
イメージ とは?
57
© COPYRIGHT 2018 FIXER Inc.
参考:マンガでわかるDocker_技術書典
「Docker」で「イメージ」をもとに「コンテナ」を起動する
58
© COPYRIGHT 2018 FIXER Inc.
イメージが置いてあるDocker hubっていうWebサイトがあるよ。
© COPYRIGHT 2019 FIXER Inc.
Container
(Docker)を
なぜ使うのか
資源効率性の高さ
コンテナはホスト OS を共有するので、
ゲスト OS を立てる必要がない
ポータビリティ(移植性)の
高さ
コンテナを構成してリポジトリに保存し
ておけば、どこでも動かせる
クラウドをまたぐことも可能(Poly
Cloud)
展開の容易性と高速性
コマンドのみで展開、再展開が容易に
可能
開発の容易性と高速性
アプリケーションが動作する環境をコン
テナとして維持管理可能
© COPYRIGHT 2019 FIXER Inc.
従来のサーバ構成
HW
(CPU/メモリ/ディスク)
OS
(Linux/Windows)
MW
(Apache/Post
greSQL)
アプリケーション
バイ
ナリ
ライブ
ラリ
依存
• アプリケーション/MWは、バイナリ (Java コ
マンド等) /ライブラリに依存しており、動作
させるためには OS に依存対象をインスト
ールする必要あり
• その結果、OS 含めたサーバ全体が、
“Web サーバ”、”バッチサーバ” といった目
的に特化したものとなり汎用性がなくなるこ
とになる
• 例えば、”Web サーバ”と”バッチサーバ”を
一つのサーバに同居させようとすると、
”Web + バッチサーバ”という目的に特化
したOS設定となる
© COPYRIGHT 2019 FIXER Inc.
Docker を利用したコンテナ化
• アプリケーション/MW が依存するバイナリ/ライ
ブラリをコンテナイメージという形でパッケージング
• どんなサーバでも、docker が動いていればコン
テナイメージをコンテナとして稼働可能
• 結果、アプリケーション/MW は、コンテナとして
抽象化され、 OS 以下のレイヤーは汎用的に
• 例えば、障害時のフェイルオーバや負荷による
スケールアウトが、コンテナと OS/HW で分離
されるため柔軟に実行可能
• OS/HW はクラウドで容易に調達可能である
ため、クラウドのメリットをより引き出すシステム
構成
dockerコンテナ
HW
(CPU/メモリ/ディスク)
OS
(Linux/Windows)
MW
(Apache/Po
stgreSQL)
アプリケーション
バイ
ナリ
ライブ
ラリ
依
存
Docker
© COPYRIGHT 2019 FIXER Inc.
Docker Containers ~ 共通デプロイ単位
Optionsof
compute
Azure Web App for Containers
Service Fabric
Ma en
Azure
Kubernetes
Service (AKS)
Leverage the Azure platform
designed for your container needs
Keep using the platform of your choice,
running great on Azure
Azure Container Registry
Docker Hub,
private registry
Visual Studio tools InteliJ Jenkins
Redhat Openshift
Container Platform
Pivotal Cloud
Foundry
Kubernetes
© COPYRIGHT 2019 FIXER Inc.
コンテナが増えすぎた!
© COPYRIGHT 2019 FIXER Inc.
コンテナのオーケストレーションの
必要性
• Docker により、アプリケーション
のコード、インフラの構成情報を
統合的に管理(疎結合)
• ただし、大規模システムの場合、
複数のホストマシンからなる、分
散環境構築が必要
• 開発したアプリケーションを、効
率よく継続的にデプロイしていく
か?という開発 / 運用を考え
なくてはならない
↓
• コンテナのオーケストレーション
ツールが必要
© COPYRIGHT 2019 FIXER Inc.
コンテナのオーケストレーションとは?
• 複数のコンテナアプリケーションを連動させて一つの
サービスとして提供するサービス
• 障害時の対策など運用面を考慮し、複数コンテナ
を管理するシステム
• AWS、Microsoft、Google、IBM、等主要クラ
ウドベンダーが採用したこともあり、現在のところコン
テナオーケストレーションツールとして
Kubernetes はデファクトといえる存在
© COPYRIGHT 2019 FIXER Inc.
Kubernetes (クゥバネィテス) とは
• ギリシャ語で “船の操縦手” “統括者・支配者” という意味
• K8s と略され記述される事が多い(8は K から s の間の文字
数)
• ベアメタルサーバーや、仮想マシン(On-Premise、Cloud)上の、
Docker をはじめとするコンテナ群を管理するシステム(コンテナオー
ケストレーションツール)
• Google 社内で開発/運用されている、コンテナクラスタ管理システ
ム “Borg” でのノウハウを結集して開発された
• 現在は、Apache ライセンスで配布されているオープンソースソフト
ウェア
• マイクロサービスを効率的にデプロイ、アップデートする機能として、
• コンテナのオートスケール
• Blue Green Deployment
• Rolling Update
などの機能を備えている
© COPYRIGHT 2019 FIXER Inc.
Kubernetes における
コンテナのオーケストレーション
•コンテナを複数のノードに配置し、
全体を一つのプラットフォームとして
管理可能
• スケジューリング、配置
• 監視、復旧
• コンテナの冗長構成
• コンテナ間の通信確保
• コンテナのオートスケール (In/Out)
などの機能を備えている
Pod
Master Node
Agent Node
Pod
Pod
Pod
Agent Node
© COPYRIGHT 2019 FIXER Inc.
Istio - サービスメッシュ
(Service Mesh)
• Kubernetes 上にデプロイした
サービスの間の通信を統一的な
仕組みで管理
• Blue/Green Deployment
• カナリアリリース
• サーキットブレーカー(CDP)
• 分散トレーシング
• Envoy サイドカーパターン
https://docs.microsoft.com/ja-jp/azure/aks/istio-scenario-routing
© COPYRIGHT 2019 FIXER Inc.


Circuit Breaker パターン
Circuit Breaker 処理一般的な
業務処理
通常処理( Close )
準縮退処理( Half-Open)
© COPYRIGHT 2019 FIXER Inc.
Microsoft Azure でコンテナに対応している サービス
利用用途に応じて適切なサービスを選択可能
70
管理重視 生産性重視
© COPYRIGHT 2019 FIXER Inc.
.NET Core でマイクロサービスを
開発するメリット
• 使い慣れた C# / VB.NET を用いて
コンテナで実行するアプリを開発可能
• 開発環境をサポートするツール群
• .NET Core CLI
(dotnet コマンド)
• Docker for Windows
• Visual Studio 2019 による
コンテナサポート
• ※ Windows のみの環境で
Linux を含むコンテナ実行
アプリを開発可能
© COPYRIGHT 2019 FIXER Inc.
ローカル
環境での
開発
マイクロサービスの開発ライフサイクル
B チーム
A チーム
Azure DevOps
Azure
Kubernetes
Service
Azure
Container
Registry
開発環境
Azure
Kubernetes
Service
テスト環境 / 運用環境
Repository Pipeline
Azure
Kubernetes
Service
© COPYRIGHT 2019 FIXER Inc.
© COPYRIGHT 2019 FIXER Inc.
WebApps 開発ライフサイクル (シナリオ例)
Azure
開発環境
git push
pull, clone
Deploy
Deploy
© COPYRIGHT 2019 FIXER Inc.
Azure DevOps デモ①
- Azure Web Apps -
© COPYRIGHT 2018 FIXER Inc.
•Docker CLI
•Azure CLI, SSH
•Visual Studio Code & Docker 拡張機能
•Visual Studio 2019 コンテナー サポート (Build, Debug)
•Docker Image の管理
• Docker Hub
• Azure Container Registry
• Private Registry
Container 開発とツールサポート
© COPYRIGHT 2019 FIXER Inc.
Container 開発ライフサイクル (シナリオ例)
Azure
開発環境
git push
pull, clone
CD (Webhook)
docker push
docker push
© COPYRIGHT 2019 FIXER Inc.
マイクロサービスの開発から
展開までの流れ
•開発
• ASP.NET Core アプリを
ローカルで開発
• Azure DevOps でソース
コードを管理
• Docker Compose
(Option)
•自動ビルド
• Azure DevOps Pipeline
でビルド&単体テスト
• Azure Container
Registry にコンテナイメージ
を登録
•クラウド展開
• Helm Charts を利用し
て AKS に展開
© COPYRIGHT 2019 FIXER Inc.
Answer3
Description:
xxxxxxxxxxxxxx
〇
Next
Reference:
http://quizap.com/
or
Blob URL
User ID
Password
C#
JavaScript
Subjects
HTML
SQL
ASP.NET Core
Web API
Study Mode L
Trial Mode
Mode Selection
User Authentication
Study Mode
1. C# Introduction
2. C# xxxxxxxxxxxx
3. C# yyyyyyyyyyyy
4. ・・・・・・・
☒
☒
☒
5. ・・・・・・・
Select Range List
Trial Mode
Search wrong Answers or Top 100
from the Beginning
Wrong Answers
Recommended by AI
Past Timesn
AND
Conditions :
OR
Questions List
Questions List
1 C# has only 3 Types ? YES NO Description http://quizap.com/
2 .NET is the Language? YES NO Description http://quizap.com/
3
Web API consists of
Interfaces?
YES NO Description http://quizap.com/
・
・Users Admin
Users
Admin CRUD, BULK INSERT(Link Added)
READ, UPDATE
Question1
YES NO
C# has only 3 Types ?
Picture from Blob URL
(if exists)
Answer1
Description:
xxxxxxxxxxxxxx
×
Next
Reference:
http://quizap.com/
or
Blob URL
Results
Result List
1 C# has only 3 Types ? × Description http://quizap.com/
2 .NET is the Language? 〇 Description http://quizap.com/
3
Web API consists of
Interfaces? 〇 Description http://quizap.com/
・
・
78/100 Correct
Answer1
Answer2
Answer3
Top Menu
Correct Answer:NO
Correct Answer: NO
サンプルアプリの構造
© COPYRIGHT 2019 FIXER Inc.
サンプルアプリ画面遷移イメージ
© COPYRIGHT 2019 FIXER Inc.
サンプルアプリ画面遷移イメージ
© COPYRIGHT 2019 FIXER Inc.
• 統合認証機能
• 検索機能追加
• BI (Power BI) 機能追加
• AI (Recommendation 等) 機能追加
追加実装する範囲
© COPYRIGHT 2019 FIXER Inc.
Answer3
Description:
xxxxxxxxxxxxxx
〇
Next
Reference:
http://quizap.com/
or
Blob URL
User ID
Password
C#
JavaScript
Subjects
HTML
SQL
ASP.NET Core
Web API
Study Mode L
Trial Mode
Mode Selection
User Authentication
Study Mode
1. C# Introduction
2. C# xxxxxxxxxxxx
3. C# yyyyyyyyyyyy
4. ・・・・・・・
☒
☒
☒
5. ・・・・・・・
Select Range List
Trial Mode
Search wrong Answers or Top 100
from the Beginning
Wrong Answers
Recommended by AI
Past Timesn
AND
Conditions :
OR
Questions List
Questions List
1 C# has only 3 Types ? YES NO Description http://quizap.com/
2 .NET is the Language? YES NO Description http://quizap.com/
3
Web API consists of
Interfaces?
YES NO Description http://quizap.com/
・
・Users Admin
Users
Admin CRUD, BULK INSERT(Link Added)
READ, UPDATE
Question1
YES NO
C# has only 3 Types ?
Picture from Blob URL
(if exists)
Answer1
Description:
xxxxxxxxxxxxxx
×
Next
Reference:
http://quizap.com/
or
Blob URL
Results
Result List
1 C# has only 3 Types ? × Description http://quizap.com/
2 .NET is the Language? 〇 Description http://quizap.com/
3
Web API consists of
Interfaces? 〇 Description http://quizap.com/
・
・
78/100 Correct
Answer1
Answer2
Answer3
Top Menu
Correct Answer:NO
Correct Answer: NO
統合認証、検索、BI / AI 機能追加
© COPYRIGHT 2019 FIXER Inc.
Trial Mode
Wrong Answers
Recommended by AI
Past Timesn
AND
Conditions :
OR
追加する機能について
• Facebook/Twitter/Google/Microsoft
認証追加
• Active Directory 認証追加
• Study (学習)モード追加
• 検索機能追加
• BI 機能追加
(Power BI 等)
• AI バックエンド追加
(Recommendation 等)
© COPYRIGHT 2019 FIXER Inc.
• 統合認証機能追加 → App Services で追加、認証ロジック追加
• 検索機能追加 → Service 実装、Model に Search フォルダを追加
• BI (Power BI) 機能追加 → Web API をフルに公開
• AI (Recommendation 等) 機能追加 → 様々な方法有り
• 例:Recommendations Solution Template
追加編実装の方針
© COPYRIGHT 2019 FIXER Inc.
• Azure にレコメンデーションエンジンがデプロイ
• Azure Web Apps、Web Jobs、Storage で構成
• 商品カタログとトランザクション履歴のデータに
基づき、商品のレコメンド予測モデルを構築
• SAR(Smart Adaptive Recommendations)
アルゴリズムにより、2つのシナリオがサポート
• Item-to-Item Recommendations
• 「この商品をチェックした人はこんな商品もチェックしています」の
ようなレコメンドを表示するシナリオ
• 関連する商品を表示することで、カタログ内の商品を見つけや
すくする
• Personalized Recommendations
• ユーザーの最近のトランザクション履歴をもとに、そのユーザーに
特化したレコメンドを表示
Recommendations Solution Template とは
https://github.com/Microsoft/Product-Recommendations
87
© COPYRIGHT 2018 FIXER Inc.
マイクロサービス化
検索
バッチ処理
Recommend
Business
Intelligence
Azure Kubernetes Services(AKS)
Recommendation
Solution Template
Azure
Functions
iOS,
Android
ASP.NET
Core
Web App 認証
© COPYRIGHT 2019 FIXER Inc.
89
© COPYRIGHT 2018 FIXER Inc.
クイズアプリ Web サイトの
実行用アーキテクチャ実装例 (AKS)
・Azure Kubernetes Services
・SQL Azure Database Managed Instance
SQL
Database
Web App
Geo
レプリケーション
自動スケール
Quiz サービス
東日本
西日本 東南アジア
SQL
Database
Web App
認証サービス
SQL
Database
Web App
検索サービス
SQL
Database
Web App
マスター DB
SQL
Database
Web App
出題サービス
SQL
Database
Web App
BI サービス
SQL
Database
Web App
AI サービス
Token
Service API
Master
API
Search
API
Test
API
Report
API
Recommend
API
Message
Bus
© COPYRIGHT 2019 FIXER Inc.
• 最初にモノリシックなアプリを開発
• 各種必要機能を追加
• CDP 等を考慮してサービス単位を分割
• Docker でのローカルテスト
• Azure Kubernetes Services へのデプロイ
実装方針
© COPYRIGHT 2019 FIXER Inc.
ローカル
環境での
開発
マイクロサービスの開発ライフサイクル
B チーム
A チーム
Azure DevOps
Azure
Kubernetes
Service
Azure
Container
Registry
開発環境
Azure
Kubernetes
Service
テスト環境 / 運用環境
Repository Pipeline
Azure
Kubernetes
Service
© COPYRIGHT 2019 FIXER Inc.
© COPYRIGHT 2018 FIXER Inc.
• Azure Kubernetes Service (AKS) 上でのコンテナーの実行とデバッグを実行可能
• マネージドな Kubernetes クラスターをチームで共有して共同作業可能
• 依存関係を複製したりモックアップしたりすることなく、自分のコードを分離して
開発したり、他のコンポーネントと併せてエンド ツー エンドのテストを実行
Azure Dev Spaces (Preview)
© COPYRIGHT 2019 FIXER Inc.
Azure Dev Spaces (Preview)
• Azure Kubernetes Service (AKS) 上でのコンテナーの実行とデバッグを実行可能
• マネージドな Kubernetes クラスターをチームで共有して共同作業可能
• 依存関係を複製したりモックアップしたりすることなく、自分のコードを分離して開発したり、
他のコンポーネントと併せてエンド ツー エンドのテストを実行
• さまざまな開発言語/フレームワーク、Windows, macOS, Linux で利用可能
• 開発とプロダクションで同一の Docker / Helm 環境を利用
http://web-frontend.bd0cfb25.../aksapp.io
http://scott.s.web-frontend.bd0cfb25.../aksapp.io Scott
© COPYRIGHT 2019 FIXER Inc.
© COPYRIGHT 2019 FIXER Inc.
Azure DevOps デモ③
- Azure Dev Spaces -
© COPYRIGHT 2018 FIXER Inc.
• アプリケーションのクラウド移行戦略
• マイクロサービスとは何か
• マイクロサービスを支える技術
• Azure DevOps デモ
• サンプルアプリご紹介
• まとめ
まとめ
© COPYRIGHT 2018 FIXER Inc.
FIXER Tech Academy
Cloud Config Boot Camp
Nagisa Terrace in Tamachi
© COPYRIGHT 2018 FIXER Inc.
Azureソリューションに必要なスキルを体系的に習得
FIXERでは、Azureへのリフト&シフトやクラウドの効果的な活用、クラウド上でのアプリ開発など、
様々なスキルを体系的に習得できる各種トレーニングをご用意しております。
Azureの基礎知識
Azure基本事項、Azureサービスと機能のツアーなど
ASP.NET Core
MVC Web
モノリシック
アーキテクチャ
ASP.NET Core
MVC Web
マイクロサービス
アーキテクチャ
CDP概論・各論、
仮想ネットワーク、
ARMテンプレート等
インフラ
構築編
アプリ開発
基礎編
アプリ開発
機能追加編
応用編
Cloud Config Boot Camp(クラウド・コンフィグ・ブートキャンプ)
ご清聴
ありがとう
ございました!
© COPYRIGHT 2019 FIXER Inc.
© COPYRIGHT 2019 FIXER Inc.

Weitere ähnliche Inhalte

Was ist angesagt?

APIエコノミー (金融編)
APIエコノミー (金融編)APIエコノミー (金融編)
APIエコノミー (金融編)Rasmus Ekman
 
Api meet up online#6 session1 ginco
Api meet up online#6 session1 gincoApi meet up online#6 session1 ginco
Api meet up online#6 session1 gincoNihei Tsukasa
 
Api economy seminar march17 『APIエコノミーがやって来た!今、必要なコトとは?』
Api economy seminar march17 『APIエコノミーがやって来た!今、必要なコトとは?』Api economy seminar march17 『APIエコノミーがやって来た!今、必要なコトとは?』
Api economy seminar march17 『APIエコノミーがやって来た!今、必要なコトとは?』Yuki Hayakawa
 
サイオステクノロジー
サイオステクノロジーサイオステクノロジー
サイオステクノロジーNihei Tsukasa
 
Api and rpa_seminar_april20_osaka
Api and rpa_seminar_april20_osakaApi and rpa_seminar_april20_osaka
Api and rpa_seminar_april20_osakaYuki Hayakawa
 
SA Night #1 | IoTシステムはどう作られるか ソラコムでのSAミッション 
SA Night #1 | IoTシステムはどう作られるか ソラコムでのSAミッション SA Night #1 | IoTシステムはどう作られるか ソラコムでのSAミッション 
SA Night #1 | IoTシステムはどう作られるか ソラコムでのSAミッション SORACOM,INC
 
AI搭載型IP電話 MiiTel を支える組織とアーキテクチャ
AI搭載型IP電話 MiiTel を支える組織とアーキテクチャAI搭載型IP電話 MiiTel を支える組織とアーキテクチャ
AI搭載型IP電話 MiiTel を支える組織とアーキテクチャRevComm Inc
 
SoftLayer Bluemix SUMMIT 2015 : Intel Edisonクラスタ x Bluemixによる IoTアプリケーションの実装
SoftLayer Bluemix SUMMIT 2015 : Intel Edisonクラスタ x Bluemixによる IoTアプリケーションの実装SoftLayer Bluemix SUMMIT 2015 : Intel Edisonクラスタ x Bluemixによる IoTアプリケーションの実装
SoftLayer Bluemix SUMMIT 2015 : Intel Edisonクラスタ x Bluemixによる IoTアプリケーションの実装Nobuyuki Matsui
 
ReactJS × Semantic UI で作るビジネスアプリケーションの高速開発
ReactJS × Semantic UI で作るビジネスアプリケーションの高速開発ReactJS × Semantic UI で作るビジネスアプリケーションの高速開発
ReactJS × Semantic UI で作るビジネスアプリケーションの高速開発RevComm Inc
 
reinvent2019_standby_kitahara_20191029
reinvent2019_standby_kitahara_20191029reinvent2019_standby_kitahara_20191029
reinvent2019_standby_kitahara_20191029Masato Kitahara
 
TreasureData Solution Architectの挑戦
TreasureData Solution Architectの挑戦TreasureData Solution Architectの挑戦
TreasureData Solution Architectの挑戦masaomoc1015
 
アイリッジご紹介資料
アイリッジご紹介資料アイリッジご紹介資料
アイリッジご紹介資料TomomiMatsuoka2
 
AI for Media 2018 Updateセミナー: 株式会社Jストリーム様: AI動画解析に対応!動画配信基盤 ”VideoAid” のご紹介
AI for Media 2018 Updateセミナー: 株式会社Jストリーム様: AI動画解析に対応!動画配信基盤 ”VideoAid” のご紹介AI for Media 2018 Updateセミナー: 株式会社Jストリーム様: AI動画解析に対応!動画配信基盤 ”VideoAid” のご紹介
AI for Media 2018 Updateセミナー: 株式会社Jストリーム様: AI動画解析に対応!動画配信基盤 ”VideoAid” のご紹介Daiyu Hatakeyama
 
BANKING API AND API ECOSYSTEM
BANKING API AND API ECOSYSTEMBANKING API AND API ECOSYSTEM
BANKING API AND API ECOSYSTEMAPI Meetup
 
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみるDevelopers Summit
 
Api meetup online#6 session3 asterist
Api meetup online#6 session3 asteristApi meetup online#6 session3 asterist
Api meetup online#6 session3 asteristNihei Tsukasa
 

Was ist angesagt? (18)

APIエコノミー (金融編)
APIエコノミー (金融編)APIエコノミー (金融編)
APIエコノミー (金融編)
 
Api meet up online#6 session1 ginco
Api meet up online#6 session1 gincoApi meet up online#6 session1 ginco
Api meet up online#6 session1 ginco
 
Api economy seminar march17 『APIエコノミーがやって来た!今、必要なコトとは?』
Api economy seminar march17 『APIエコノミーがやって来た!今、必要なコトとは?』Api economy seminar march17 『APIエコノミーがやって来た!今、必要なコトとは?』
Api economy seminar march17 『APIエコノミーがやって来た!今、必要なコトとは?』
 
サイオステクノロジー
サイオステクノロジーサイオステクノロジー
サイオステクノロジー
 
Api and rpa_seminar_april20_osaka
Api and rpa_seminar_april20_osakaApi and rpa_seminar_april20_osaka
Api and rpa_seminar_april20_osaka
 
IP接続性の向上
IP接続性の向上IP接続性の向上
IP接続性の向上
 
SA Night #1 | IoTシステムはどう作られるか ソラコムでのSAミッション 
SA Night #1 | IoTシステムはどう作られるか ソラコムでのSAミッション SA Night #1 | IoTシステムはどう作られるか ソラコムでのSAミッション 
SA Night #1 | IoTシステムはどう作られるか ソラコムでのSAミッション 
 
AI搭載型IP電話 MiiTel を支える組織とアーキテクチャ
AI搭載型IP電話 MiiTel を支える組織とアーキテクチャAI搭載型IP電話 MiiTel を支える組織とアーキテクチャ
AI搭載型IP電話 MiiTel を支える組織とアーキテクチャ
 
SoftLayer Bluemix SUMMIT 2015 : Intel Edisonクラスタ x Bluemixによる IoTアプリケーションの実装
SoftLayer Bluemix SUMMIT 2015 : Intel Edisonクラスタ x Bluemixによる IoTアプリケーションの実装SoftLayer Bluemix SUMMIT 2015 : Intel Edisonクラスタ x Bluemixによる IoTアプリケーションの実装
SoftLayer Bluemix SUMMIT 2015 : Intel Edisonクラスタ x Bluemixによる IoTアプリケーションの実装
 
ReactJS × Semantic UI で作るビジネスアプリケーションの高速開発
ReactJS × Semantic UI で作るビジネスアプリケーションの高速開発ReactJS × Semantic UI で作るビジネスアプリケーションの高速開発
ReactJS × Semantic UI で作るビジネスアプリケーションの高速開発
 
reinvent2019_standby_kitahara_20191029
reinvent2019_standby_kitahara_20191029reinvent2019_standby_kitahara_20191029
reinvent2019_standby_kitahara_20191029
 
TreasureData Solution Architectの挑戦
TreasureData Solution Architectの挑戦TreasureData Solution Architectの挑戦
TreasureData Solution Architectの挑戦
 
アイリッジご紹介資料
アイリッジご紹介資料アイリッジご紹介資料
アイリッジご紹介資料
 
AI for Media 2018 Updateセミナー: 株式会社Jストリーム様: AI動画解析に対応!動画配信基盤 ”VideoAid” のご紹介
AI for Media 2018 Updateセミナー: 株式会社Jストリーム様: AI動画解析に対応!動画配信基盤 ”VideoAid” のご紹介AI for Media 2018 Updateセミナー: 株式会社Jストリーム様: AI動画解析に対応!動画配信基盤 ”VideoAid” のご紹介
AI for Media 2018 Updateセミナー: 株式会社Jストリーム様: AI動画解析に対応!動画配信基盤 ”VideoAid” のご紹介
 
BANKING API AND API ECOSYSTEM
BANKING API AND API ECOSYSTEMBANKING API AND API ECOSYSTEM
BANKING API AND API ECOSYSTEM
 
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
 
Api meetup online#6 session3 asterist
Api meetup online#6 session3 asteristApi meetup online#6 session3 asterist
Api meetup online#6 session3 asterist
 
20181218 awsreinvent report
20181218 awsreinvent report20181218 awsreinvent report
20181218 awsreinvent report
 

Ähnlich wie Monolithtomicroservices

Decode19 cd42 fixer_public_0601
Decode19 cd42 fixer_public_0601Decode19 cd42 fixer_public_0601
Decode19 cd42 fixer_public_0601Shotaro Suzuki
 
Decode19 cd42 fixer_public_0601
Decode19 cd42 fixer_public_0601Decode19 cd42 fixer_public_0601
Decode19 cd42 fixer_public_0601YorikoYokoyama
 
Dist 29 gcp_serverless_web_app_development
Dist 29 gcp_serverless_web_app_developmentDist 29 gcp_serverless_web_app_development
Dist 29 gcp_serverless_web_app_developmentShotaro Suzuki
 
Evangelist was-born-4-publish https://devrel.tokyo/japan-2019/speakers/shotaro/
Evangelist was-born-4-publish https://devrel.tokyo/japan-2019/speakers/shotaro/Evangelist was-born-4-publish https://devrel.tokyo/japan-2019/speakers/shotaro/
Evangelist was-born-4-publish https://devrel.tokyo/japan-2019/speakers/shotaro/Shotaro Suzuki
 
マルチクラウド環境の膨大なAPIトラフィックをリアルタイムに処理するNGINXの仕組み
マルチクラウド環境の膨大なAPIトラフィックをリアルタイムに処理するNGINXの仕組みマルチクラウド環境の膨大なAPIトラフィックをリアルタイムに処理するNGINXの仕組み
マルチクラウド環境の膨大なAPIトラフィックをリアルタイムに処理するNGINXの仕組みNGINX, Inc.
 
ビーコンを使うo2oクラウドサービス
ビーコンを使うo2oクラウドサービスビーコンを使うo2oクラウドサービス
ビーコンを使うo2oクラウドサービスCRI Japan, Inc.
 
Musubell_saleshub紹介資料.pdf
Musubell_saleshub紹介資料.pdfMusubell_saleshub紹介資料.pdf
Musubell_saleshub紹介資料.pdfssuserb6870d
 
2014.11.12 ibm bluemix pdf
2014.11.12 ibm bluemix pdf2014.11.12 ibm bluemix pdf
2014.11.12 ibm bluemix pdfYuichiro Maki
 
de:code 2019登壇資料:MLOpsによるAIモデルの作り方
de:code 2019登壇資料:MLOpsによるAIモデルの作り方de:code 2019登壇資料:MLOpsによるAIモデルの作り方
de:code 2019登壇資料:MLOpsによるAIモデルの作り方Hiroshi Senga
 
Mobilitydev2019 10 31_slideshare
Mobilitydev2019 10 31_slideshareMobilitydev2019 10 31_slideshare
Mobilitydev2019 10 31_slideshareTier_IV
 
[Modern Cloud Day Tokyo 2019] 決め手はコストとサポート力!中堅企業が選ぶべきクラウド ~他社クラウドからオラクルに置き換えた理由~
[Modern Cloud Day Tokyo 2019] 決め手はコストとサポート力!中堅企業が選ぶべきクラウド ~他社クラウドからオラクルに置き換えた理由~[Modern Cloud Day Tokyo 2019] 決め手はコストとサポート力!中堅企業が選ぶべきクラウド ~他社クラウドからオラクルに置き換えた理由~
[Modern Cloud Day Tokyo 2019] 決め手はコストとサポート力!中堅企業が選ぶべきクラウド ~他社クラウドからオラクルに置き換えた理由~オラクルエンジニア通信
 
Ibm bluemix handson the weather company api
Ibm bluemix handson the weather company apiIbm bluemix handson the weather company api
Ibm bluemix handson the weather company apiMasaya Fujita
 
事業者間・対個人におけるデータの信頼性と透明性の担保によるデジタライゼーションの推進
事業者間・対個人におけるデータの信頼性と透明性の担保によるデジタライゼーションの推進事業者間・対個人におけるデータの信頼性と透明性の担保によるデジタライゼーションの推進
事業者間・対個人におけるデータの信頼性と透明性の担保によるデジタライゼーションの推進Scalar, Inc.
 
[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力
[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力
[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力オラクルエンジニア通信
 
AWS re:Inforce 2019 re:Cap LT
AWS re:Inforce 2019 re:Cap LTAWS re:Inforce 2019 re:Cap LT
AWS re:Inforce 2019 re:Cap LTHiroki Moriya
 
たかがAPI,されどAPI、シナジーで広がるビジネスチャンス
たかがAPI,されどAPI、シナジーで広がるビジネスチャンスたかがAPI,されどAPI、シナジーで広がるビジネスチャンス
たかがAPI,されどAPI、シナジーで広がるビジネスチャンスOsaka University
 
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬日本マイクロソフト株式会社
 
「IoTが作る製造業・地方の未来」 福井IoTラボ (配布用) 170321
「IoTが作る製造業・地方の未来」 福井IoTラボ (配布用) 170321「IoTが作る製造業・地方の未来」 福井IoTラボ (配布用) 170321
「IoTが作る製造業・地方の未来」 福井IoTラボ (配布用) 170321知礼 八子
 
顧客要望と情熱のあいだ - B2B SaaS のプロダクトマネジメント -
顧客要望と情熱のあいだ - B2B SaaS のプロダクトマネジメント -顧客要望と情熱のあいだ - B2B SaaS のプロダクトマネジメント -
顧客要望と情熱のあいだ - B2B SaaS のプロダクトマネジメント -Takuma Haraguchi
 

Ähnlich wie Monolithtomicroservices (20)

Decode19 cd42 fixer_public_0601
Decode19 cd42 fixer_public_0601Decode19 cd42 fixer_public_0601
Decode19 cd42 fixer_public_0601
 
Decode19 cd42 fixer_public_0601
Decode19 cd42 fixer_public_0601Decode19 cd42 fixer_public_0601
Decode19 cd42 fixer_public_0601
 
Dist 29 gcp_serverless_web_app_development
Dist 29 gcp_serverless_web_app_developmentDist 29 gcp_serverless_web_app_development
Dist 29 gcp_serverless_web_app_development
 
Evangelist was-born-4-publish https://devrel.tokyo/japan-2019/speakers/shotaro/
Evangelist was-born-4-publish https://devrel.tokyo/japan-2019/speakers/shotaro/Evangelist was-born-4-publish https://devrel.tokyo/japan-2019/speakers/shotaro/
Evangelist was-born-4-publish https://devrel.tokyo/japan-2019/speakers/shotaro/
 
マルチクラウド環境の膨大なAPIトラフィックをリアルタイムに処理するNGINXの仕組み
マルチクラウド環境の膨大なAPIトラフィックをリアルタイムに処理するNGINXの仕組みマルチクラウド環境の膨大なAPIトラフィックをリアルタイムに処理するNGINXの仕組み
マルチクラウド環境の膨大なAPIトラフィックをリアルタイムに処理するNGINXの仕組み
 
ビーコンを使うo2oクラウドサービス
ビーコンを使うo2oクラウドサービスビーコンを使うo2oクラウドサービス
ビーコンを使うo2oクラウドサービス
 
Musubell_saleshub紹介資料.pdf
Musubell_saleshub紹介資料.pdfMusubell_saleshub紹介資料.pdf
Musubell_saleshub紹介資料.pdf
 
2014.11.12 ibm bluemix pdf
2014.11.12 ibm bluemix pdf2014.11.12 ibm bluemix pdf
2014.11.12 ibm bluemix pdf
 
de:code 2019登壇資料:MLOpsによるAIモデルの作り方
de:code 2019登壇資料:MLOpsによるAIモデルの作り方de:code 2019登壇資料:MLOpsによるAIモデルの作り方
de:code 2019登壇資料:MLOpsによるAIモデルの作り方
 
Mobilitydev2019 10 31_slideshare
Mobilitydev2019 10 31_slideshareMobilitydev2019 10 31_slideshare
Mobilitydev2019 10 31_slideshare
 
[Modern Cloud Day Tokyo 2019] 決め手はコストとサポート力!中堅企業が選ぶべきクラウド ~他社クラウドからオラクルに置き換えた理由~
[Modern Cloud Day Tokyo 2019] 決め手はコストとサポート力!中堅企業が選ぶべきクラウド ~他社クラウドからオラクルに置き換えた理由~[Modern Cloud Day Tokyo 2019] 決め手はコストとサポート力!中堅企業が選ぶべきクラウド ~他社クラウドからオラクルに置き換えた理由~
[Modern Cloud Day Tokyo 2019] 決め手はコストとサポート力!中堅企業が選ぶべきクラウド ~他社クラウドからオラクルに置き換えた理由~
 
Ibm bluemix handson the weather company api
Ibm bluemix handson the weather company apiIbm bluemix handson the weather company api
Ibm bluemix handson the weather company api
 
事業者間・対個人におけるデータの信頼性と透明性の担保によるデジタライゼーションの推進
事業者間・対個人におけるデータの信頼性と透明性の担保によるデジタライゼーションの推進事業者間・対個人におけるデータの信頼性と透明性の担保によるデジタライゼーションの推進
事業者間・対個人におけるデータの信頼性と透明性の担保によるデジタライゼーションの推進
 
[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力
[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力
[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力
 
AWS re:Inforce 2019 re:Cap LT
AWS re:Inforce 2019 re:Cap LTAWS re:Inforce 2019 re:Cap LT
AWS re:Inforce 2019 re:Cap LT
 
たかがAPI,されどAPI、シナジーで広がるビジネスチャンス
たかがAPI,されどAPI、シナジーで広がるビジネスチャンスたかがAPI,されどAPI、シナジーで広がるビジネスチャンス
たかがAPI,されどAPI、シナジーで広がるビジネスチャンス
 
ニフクラ mobile backend チームのCIツール活用事例紹介
ニフクラ mobile backend チームのCIツール活用事例紹介ニフクラ mobile backend チームのCIツール活用事例紹介
ニフクラ mobile backend チームのCIツール活用事例紹介
 
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
 
「IoTが作る製造業・地方の未来」 福井IoTラボ (配布用) 170321
「IoTが作る製造業・地方の未来」 福井IoTラボ (配布用) 170321「IoTが作る製造業・地方の未来」 福井IoTラボ (配布用) 170321
「IoTが作る製造業・地方の未来」 福井IoTラボ (配布用) 170321
 
顧客要望と情熱のあいだ - B2B SaaS のプロダクトマネジメント -
顧客要望と情熱のあいだ - B2B SaaS のプロダクトマネジメント -顧客要望と情熱のあいだ - B2B SaaS のプロダクトマネジメント -
顧客要望と情熱のあいだ - B2B SaaS のプロダクトマネジメント -
 

Mehr von Shotaro Suzuki

This is how our first offline technical event in three years was able to succ...
This is how our first offline technical event in three years was able to succ...This is how our first offline technical event in three years was able to succ...
This is how our first offline technical event in three years was able to succ...Shotaro Suzuki
 
Introducing the new features of the Elastic 8.6 release.pdf
Introducing the new features of the Elastic 8.6 release.pdfIntroducing the new features of the Elastic 8.6 release.pdf
Introducing the new features of the Elastic 8.6 release.pdfShotaro Suzuki
 
NET MAUI for .NET 7 for iOS, Android app development
 NET MAUI for .NET 7 for iOS, Android app development  NET MAUI for .NET 7 for iOS, Android app development
NET MAUI for .NET 7 for iOS, Android app development Shotaro Suzuki
 
What's New in the Elastic 8.5 Release
What's New in the Elastic 8.5 ReleaseWhat's New in the Elastic 8.5 Release
What's New in the Elastic 8.5 ReleaseShotaro Suzuki
 
Centralized Observability for the Azure Ecosystem
Centralized Observability for the Azure EcosystemCentralized Observability for the Azure Ecosystem
Centralized Observability for the Azure EcosystemShotaro Suzuki
 
What's New in the Elastic 8.4 Release
What's New in the Elastic 8.4 ReleaseWhat's New in the Elastic 8.4 Release
What's New in the Elastic 8.4 ReleaseShotaro Suzuki
 
Power Apps x .NET ~ Transforming Business Applications with Fusion Development
Power Apps x .NET ~ Transforming Business Applications with Fusion DevelopmentPower Apps x .NET ~ Transforming Business Applications with Fusion Development
Power Apps x .NET ~ Transforming Business Applications with Fusion DevelopmentShotaro Suzuki
 
devreljapan2022evaadvoc-final.pdf
devreljapan2022evaadvoc-final.pdfdevreljapan2022evaadvoc-final.pdf
devreljapan2022evaadvoc-final.pdfShotaro Suzuki
 
elastic-mabl-co-webinar-20220729
elastic-mabl-co-webinar-20220729elastic-mabl-co-webinar-20220729
elastic-mabl-co-webinar-20220729Shotaro Suzuki
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Shotaro Suzuki
 
Discover what's new in the Elastic 8.3 release - Find, monitor, and protect e...
Discover what's new in the Elastic 8.3 release - Find, monitor, and protect e...Discover what's new in the Elastic 8.3 release - Find, monitor, and protect e...
Discover what's new in the Elastic 8.3 release - Find, monitor, and protect e...Shotaro Suzuki
 
Building a search experience with Elastic – Introducing Elastic's latest samp...
Building a search experience with Elastic – Introducing Elastic's latest samp...Building a search experience with Elastic – Introducing Elastic's latest samp...
Building a search experience with Elastic – Introducing Elastic's latest samp...Shotaro Suzuki
 
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...Shotaro Suzuki
 
Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...
Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...
Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...Shotaro Suzuki
 
Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Da...
Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Da...Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Da...
Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Da...Shotaro Suzuki
 
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -What's New in the Elastic 8.2 Release - Seamless User Experience with Search -
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -Shotaro Suzuki
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Shotaro Suzuki
 
Building Software Reliability through Distributed Tracing.pdf
Building Software Reliability through Distributed Tracing.pdfBuilding Software Reliability through Distributed Tracing.pdf
Building Software Reliability through Distributed Tracing.pdfShotaro Suzuki
 
Building a Flutter Development Environment with VSCode and Useful Extensions
Building a Flutter Development Environment with VSCode and Useful ExtensionsBuilding a Flutter Development Environment with VSCode and Useful Extensions
Building a Flutter Development Environment with VSCode and Useful ExtensionsShotaro Suzuki
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Shotaro Suzuki
 

Mehr von Shotaro Suzuki (20)

This is how our first offline technical event in three years was able to succ...
This is how our first offline technical event in three years was able to succ...This is how our first offline technical event in three years was able to succ...
This is how our first offline technical event in three years was able to succ...
 
Introducing the new features of the Elastic 8.6 release.pdf
Introducing the new features of the Elastic 8.6 release.pdfIntroducing the new features of the Elastic 8.6 release.pdf
Introducing the new features of the Elastic 8.6 release.pdf
 
NET MAUI for .NET 7 for iOS, Android app development
 NET MAUI for .NET 7 for iOS, Android app development  NET MAUI for .NET 7 for iOS, Android app development
NET MAUI for .NET 7 for iOS, Android app development
 
What's New in the Elastic 8.5 Release
What's New in the Elastic 8.5 ReleaseWhat's New in the Elastic 8.5 Release
What's New in the Elastic 8.5 Release
 
Centralized Observability for the Azure Ecosystem
Centralized Observability for the Azure EcosystemCentralized Observability for the Azure Ecosystem
Centralized Observability for the Azure Ecosystem
 
What's New in the Elastic 8.4 Release
What's New in the Elastic 8.4 ReleaseWhat's New in the Elastic 8.4 Release
What's New in the Elastic 8.4 Release
 
Power Apps x .NET ~ Transforming Business Applications with Fusion Development
Power Apps x .NET ~ Transforming Business Applications with Fusion DevelopmentPower Apps x .NET ~ Transforming Business Applications with Fusion Development
Power Apps x .NET ~ Transforming Business Applications with Fusion Development
 
devreljapan2022evaadvoc-final.pdf
devreljapan2022evaadvoc-final.pdfdevreljapan2022evaadvoc-final.pdf
devreljapan2022evaadvoc-final.pdf
 
elastic-mabl-co-webinar-20220729
elastic-mabl-co-webinar-20220729elastic-mabl-co-webinar-20220729
elastic-mabl-co-webinar-20220729
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
 
Discover what's new in the Elastic 8.3 release - Find, monitor, and protect e...
Discover what's new in the Elastic 8.3 release - Find, monitor, and protect e...Discover what's new in the Elastic 8.3 release - Find, monitor, and protect e...
Discover what's new in the Elastic 8.3 release - Find, monitor, and protect e...
 
Building a search experience with Elastic – Introducing Elastic's latest samp...
Building a search experience with Elastic – Introducing Elastic's latest samp...Building a search experience with Elastic – Introducing Elastic's latest samp...
Building a search experience with Elastic – Introducing Elastic's latest samp...
 
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
 
Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...
Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...
Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...
 
Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Da...
Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Da...Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Da...
Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Da...
 
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -What's New in the Elastic 8.2 Release - Seamless User Experience with Search -
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
 
Building Software Reliability through Distributed Tracing.pdf
Building Software Reliability through Distributed Tracing.pdfBuilding Software Reliability through Distributed Tracing.pdf
Building Software Reliability through Distributed Tracing.pdf
 
Building a Flutter Development Environment with VSCode and Useful Extensions
Building a Flutter Development Environment with VSCode and Useful ExtensionsBuilding a Flutter Development Environment with VSCode and Useful Extensions
Building a Flutter Development Environment with VSCode and Useful Extensions
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
 

Monolithtomicroservices

  • 1. © COPYRIGHT 2019 FIXER Inc. モノリスなアプリからマイクロサービスへ - クラウドネイティブなアプリ開発における CI/CD プロセスと DevOps ツール - 横山 依子 株式会社 FIXER Cloud Evangelist 鈴木 章太郎 株式会社 FIXER Technical Fellow, Evangelist 内閣官房 政府 CIO 補佐官 エンタープライズアジャイル勉強会 5月セミナー
  • 2. © COPYRIGHT 2019 FIXER Inc. 鈴木章太郎 株式会社 FIXER Technical Fellow, Evangelist 内閣官房 政府 CIO 補佐官 (法務省担当) 元 Microsoft Evangelist AWS, Azure, GCP Certified Professional Follow me! @shosuz
  • 3. © COPYRIGHT 2019 FIXER Inc. 横山 依子 (ヨコヤマ ヨリコ) 株式会社FIXER Cloud Evangelist Follow me! @yokoyamasandesu
  • 4. © COPYRIGHT 2019 FIXER Inc.© COPYRIGHT 2019 FIXER inc. 4 Technology to FIX your challenges. あなたのチャレンジをテクノロジーで成就する 私たちはテクノロジーの力を信じています。 情報化社会のビジネスシーンにおいて、 新たなチャレンジの基盤となるテクノロジー。 スローガンに込めた「FIX(=成就)」とは、 お客さまのチャレンジを実現し、事業の価値を高めること。 そして「your challenges」は、お客さまとFIXER の社員、 あらゆるステークホルダーのチャレンジを示します。 その全てをテクノロジーでFIX することが 私たちの歓びであり、みなさまへの約束です。
  • 5. © COPYRIGHT 2019 FIXER Inc.© COPYRIGHT 2019 FIXER inc. 5 会社概要 (2019年4月1日現在) 会社名 所在地 従業員数 資本金 従業員数 株式会社FIXER 東京都港区芝浦1-2-3シーバンスS館 24階 2009年11月6日 3,500万円 118名 (正社員) 172名 (他雇用形態・業務委託を含む) 役員 関連会社 会長: 仲畑 貴志 代表取締役社長: 松岡 清一 取締役: 中尾 公一 社外取締役: 板野 泰之 顧問: 渥美 俊英 社外監査役: 名古屋 聡介 株式会社ドラゴン東京 代表者 松岡 清一
  • 6. © COPYRIGHT 2019 FIXER Inc.© COPYRIGHT 2019 FIXER inc. 6 拠点 (2019年1月1日現在) 金沢事業所 名古屋事業所 東京本社 FIXER クラウドセンター FIXER Technologies, Inc. 石川県金沢市広岡2-13-37 STビル 愛知県名古屋市中区栄2-2-23 アーク白川公園ビルディング 東京都港区芝浦1-2-3 シーバンスS館 三重県津市あのつ台4-6-1 あのつピア 717 Market St STE100, San Francisco CA 94103
  • 7. © COPYRIGHT 2019 FIXER Inc.© COPYRIGHT 2019 FIXER inc. 7 IoT Platform 自然言語処理のLegal Tech応用、 対話型エージェントの開発 AI / Machine Learning クラウドの利点をフル活用できる 5G時代のデータ収集・転送・分析 プラットフォームの開発 MaaS (Mobility as a Service) サービス開発 クラウドバンキングの開発から、 デジタル時代の銀行のビジネスと システムアーキテクチャデザイン Fintech コアプロダクトであるマネージドサービス cloud.config を基盤に、Fintech/MaaS 領域でサービスを開発。 これらのサービスの基礎技術となる AI/Machine Learning および IoT Platform の研究開発を積極的に推進 当社が提供するサービスの全体像 先端技術開発 マネージド サービス マルチモーダルサービス対応の アプリ開発、自動運転時代の データプラットフォーム開発 Lift & Shift クラウド移行の 難易度・効果を クイックに診断、 プランをご提案 cloud.config 設計・監視・運用 ・保守を24/7支援 するフルネージド サービス cloud.config Portal プロビジョニング からスケーリング までを自動化する 管理ポータル
  • 8. © COPYRIGHT 2019 FIXER Inc.© COPYRIGHT 2019 FIXER inc. 8 Microsoftの「Cloud Solution Provider Program」に開始初期から参加、2017年には「Microsoft Country Partner of the Year」を受賞するなど、緊密に連携してビジネスを展開 Microsoftとのパートナーシップ クラウドのためのベストサービス ~フルマネージドサービス~ 最適なパブリッククラウド ~クラウドマネージメント~ 2013 2014 2015 2016 2018 2017 2019 当社松岡が発起人となり一般社団法人アジュール評議会(ACE)設立 Microsoft Azure パートナーアワード Cloud Service Vendor 最優秀賞 受賞 Microsoft Azure パートナーアワード Cloud Service Vendor 最優秀賞 受賞 パートナープログラム「Cloud Solution Provider Program」の開始に当たり パートナーとして認定(世界26社のうち1社) Microsoft Financial Services Award 受賞 日本国内で最も優秀な成績を収めたパートナーとして、Microsoft Country Partner of the Year 受賞
  • 9. © COPYRIGHT 2019 FIXER Inc.© COPYRIGHT 2019 FIXER inc. 10 Cloud Config TechBlog Powered by FIXER https://tech-blog.cloud-config.jp/
  • 10. © COPYRIGHT 2019 FIXER Inc. Agenda • アプリケーションのクラウド移行戦略 • マイクロサービスとは何か • マイクロサービスを支える技術 • Azure DevOps デモ • サンプルアプリご紹介 • まとめ
  • 11. © COPYRIGHT 2019 FIXER Inc. アプリケーションの クラウド移行戦略
  • 12. © COPYRIGHT 2019 FIXER Inc. デジタル・トランスフォーメーションとは何か 異業種からの参入 市場環境の流動性 顧客嗜好の多様化 不確実性の増大 ビジネスのスピードを圧倒的に上げるしか 対処する術はない ➢ 経営会議のサイクルを月次から日次へ ➢ 販売実績の報告を日次からリアルタイムへ ➢ 労働時間の把握を月次からリアルタイムへ 意思決定サイクル の短縮 現場への 大幅な権限委譲 流水化された ビジネス・プロセス デジタル・テクノロジーを駆使 ビジネス・スピードを加速する デジタル・トランスフォーメーション 自律的なチームによる 運営と管理 現場や顧客の「見える化」 バリューストリームの 管理と把握 (ヒト、モノ、カネ、情報)
  • 13. © COPYRIGHT 2019 FIXER Inc. デジタルトランスフォーメーションを取り巻く2つの環境 異業種からの参入 市場環境の流動性 顧客嗜好の多様化 不確実性の増大 事業継続の条件:変化への即応力を持つこと ビ ジ ネ ス 環 境 アジャイル開発と DevOps クラウド:コンテナ × Kubernetes / SaaS × PaaS I T 環 境 ERP × BPR / BPM 意志決定の迅速化 ビジネス・プロセスのデジタル化 見える化 最適化 機械学習×データサイエンス ビジネスの現場からのデータ収集 D X を 支 え る 仕 組 み プラットフォーム 変 化 に 俊 敏 に 対 応 で き る 企 業 文 化 ・ 体 質
  • 14. © COPYRIGHT 2019 FIXER Inc. クラウド移行戦略 リフト&シフト+モダナイズ ガートナーの5つのR ・Rehost ・Refactor ・Rearchitect ・Rebuild ・Replace シフトの指針 New
  • 15. © COPYRIGHT 2019 FIXER Inc. アプリケーション ポートフォリオ アセスメント EOS(例:Windows Sever 2008)がきっかけの場合も 16 ・アプリケーション ・プラットフォーム ・ワークフローの メンテナンスや 更新 ・ビジネス価値 ・コスト • ビジネス • テクノロジー • 人 リタイア リプレース リビルド リアーキテクト リファクタ リホスト
  • 16. © COPYRIGHT 2019 FIXER Inc. アプリケーションのクラウド移行シナリオ 17 コンテナオンプレミス サーバーレスIaaS
  • 17. © COPYRIGHT 2019 FIXER Inc. マイクロサービスでアプリ構築 ・スケールアップやメンテナンスがより簡単になり、弾力性があり安定した運用が可能 リアーキテクト : アプリのアーキテクチャ変更 18 マイクロサービスモノリシック
  • 18. © COPYRIGHT 2019 FIXER Inc. モノリシックからマイクロサービス(APIベース) 商品 注文 決済 配達 API API API API
  • 19. © COPYRIGHT 2019 FIXER Inc. マイクロサービス的実装例 API API API API
  • 20. © COPYRIGHT 2019 FIXER Inc. Smart hotels 360 https://azure.microsoft.com/ja-jp/campaigns/smarthotel360/
  • 21. © COPYRIGHT 2019 FIXER Inc. 日本政府の 取り組み • 世界最先端デジタル 国家創造宣言 • 官民データ活用推進 基本計画 • デジタル・ガバメント 推進方針 • デジタル・ガバメント 実行計画 世界最先端デジタル国家 実行計画が 目指すもの (ToBe)
  • 22. © COPYRIGHT 2019 FIXER Inc. デジタル ファースト 法案、 衆院通過
  • 23. © COPYRIGHT 2019 FIXER Inc. クラウドバイデフォルト の推進 • 【方針2-3】プラットフォームの共用化と民間サービスの活用 • 効率的かつ効果的なプラットフォームの整備を行うため、共用化を前提とした 共通システムや共通サービスの整備及び拡充を推進する。業務やデータの標準 化等の業務改革を進めながら、府省共通システムの継続的な充実及び強化や自 治体クラウドの一層の推進に取り組む。 • 全国同一水準での提供が求められる地方公共団体等のサービスについて、各主 体において個別に情報システムの整備を行うのではなく、自治体クラウド等 への集約化を推進する。加えて、クラウドの広域化やグループ同士の統合等を 進め、機能の共用化を促進する。 • プラットフォームの共用化の一環として、行政機関におけるテレワーク・リ モート アクセス環境の共通化等、生産性の向上や多様なワークスタイルを実 現する共通インフラの整備を推進する。 • 情報システムの導入に当たっては、全ての機能を行政自らが構築するという自 前主義に拘泥するのではなく、民間クラウドや民間サービスを積極的に活用し、 行政機関が全てを保有・管理する形態から必要なものを必要な期間だけ利用 するという考え方へ転換する。これによって、最新技術の早期かつ適時の導入 や投資対効果の向上を実現する。国において直接保有・管理する必要がある 政府情報システムについては、標準化・共通化を図るとともに、投資対効果の 検証を徹底した上で、政府共通プラットフォームへの移行を推進する。 24 • 国際的な動向を見ながら、 プラットフォームの共通化 を再検討する必要あり • クラウド方針を作成 (CIO 補佐官技術タスク フォース) • データ分析やプロジェクト 管理等、汎用機能での民間 サービスの積極的活用 (CIO 補佐官)
  • 24. © COPYRIGHT 2019 FIXER Inc. 政府 CIO 補佐官技術タスクフォース ディスカッションペーパー https://cio.go.jp/dp
  • 25. © COPYRIGHT 2019 FIXER Inc. (参考)3.アプリケーション設計・開発に おける考え方 1/2 パブリック・クラウド利用時の考え方 (従来の考え方) システム設計 クラウドサービスのリファレンスアーキテクチャをベースと する 様々な技法・手法や、これまでの経験をベースとする 開発量の削減 SaaS、PaaS、マネージドサービス等を利用する パッケージや超高速開発ツール等を適用する データベース マネージドサービスの DB を利用する (スケールアップ・スケールアウト可能) ライセンスを購入して個別に DB サーバを構築する BI マネージドサービスの BI を利用する ライセンスを購入して個別に BI 環境を構築する システム間インタフェース 疎結合、非同期を前提に、API 管理ツールで一元管理を行う 個別に設計・実装 サービス指向 マネージドサービスのマイクロサービス(サーバレス)を 利用する 個別にサービス化を行う 環境変化への姿勢 環境変化を当然と捉えて、前向きに対応する。 アジャイル開発を積極的に取り入れ、コンテナ等の DevOps も想定する 環境変化を必要悪と捉えて、やむを得ず対応する https://cio.go.jp/dp2019_01引用:パブリック・クラウドを利用した情報システムにおける計画・構築時の基本的な考え方
  • 26. © COPYRIGHT 2019 FIXER Inc. マイクロサービス とは何か
  • 27. © COPYRIGHT 2019 FIXER Inc. マイクロ サービスとは • MSDN アーキテクチャーセンター • マイクロサービスアーキテクチャは、小さな 自律的サービスのコレクションで構成されます。 各サービスは自己完結型で、1つのビジネス機能 を実装している必要があります。 • https://docs.microsoft.com/ja- jp/azure/architecture/guide/architecture- styles/microservices • ビジネスの変化に即応するための目的的な概念
  • 28. © COPYRIGHT 2019 FIXER Inc. 各サービスの特長
  • 29. © COPYRIGHT 2019 FIXER Inc. ①小さく、独立的で、疎結合
  • 30. © COPYRIGHT 2019 FIXER Inc. ②小規模な1つの開発者チームで作成および管理可能
  • 31. © COPYRIGHT 2019 FIXER Inc. 大規模なチーム開発だと・・・
  • 32. © COPYRIGHT 2019 FIXER Inc. ③個別にデプロイ可能で、 アプリケーション全体を再構築 したり再デプロイしたりすることなく、個別にサービスを 更新可能
  • 33. © COPYRIGHT 2019 FIXER Inc. 多くの人手・承認・時間など コストがかかる
  • 34. © COPYRIGHT 2019 FIXER Inc. ④サービスのデータや外部の状態を保持する役割を担う
  • 35. © COPYRIGHT 2019 FIXER Inc. ⑤明確に定義された API で互いに通信し、各サービス内部 の実装の詳細は、他のサービスに開示されない
  • 36. © COPYRIGHT 2019 FIXER Inc. ⑥各サービスは、サービスの特性に応じて異なるテクノロジスタック、 ライブラリ、またはフレームワークで構築可能
  • 37. © COPYRIGHT 2019 FIXER Inc. このシステム 複雑すぎる・・・ どのコードを参照したら いいんだっけ・・・?? しかもNode.js使いたいん ですけど。
  • 38. © COPYRIGHT 2019 FIXER Inc. ⑦障害も分離される
  • 39. © COPYRIGHT 2019 FIXER Inc. 全サービス、ストップ。 いつ復旧するの?損害は?
  • 40. © COPYRIGHT 2019 FIXER Inc. モノリシックサービス
  • 41. © COPYRIGHT 2019 FIXER Inc. マイクロサービス
  • 42. © COPYRIGHT 2019 FIXER Inc. マイクロサービスの 特長 • ビジネスドメインに沿ったモデル化 • 実装の詳細の隠避 • 自動化の推進 • 高度な分散化の推進 • 独立したデプロイメント • 障害の分離の徹底 • 監視と管理の高度化
  • 43. © COPYRIGHT 2019 FIXER Inc. マイクロサービス化する上での 課題とは?? 運用管理コスト 単純に複数サーバで運用するので 運用管理コストは増大します。 サーバの費用もそうですが、環境 構築や監視、メンテナンスなど サーバが増えるのでそれも運用コ ストとなります。 01 データの整合性 データベースも複数運用となる と、データの整合性の問題も出 てきます。また、既存サービス をデータ分割するとなると難易 度が上がります。 02 結合テスト アプリケーションが複数の サーバ、インスタンスにま たがった構成になるので結 合テストが難解になります。 03
  • 44. © COPYRIGHT 2019 FIXER Inc. ちょうどいいマイクロ サービス化を行い、 変化に対応しやすい システムを作ろう!
  • 45. © COPYRIGHT 2019 FIXER Inc. マイクロ サービスの2側面 • プラットフォーム技術 • Container • Docker • Kubernetes • ソフトウェアアーキテクチャ • 分散アーキテクチャ • 通信 • データ
  • 46. © COPYRIGHT 2019 FIXER Inc. マイクロサービスの 台頭① • ビジネスモデルの急速な 変化 • アジャイル開発 • クラウドベンダー成長 • クラウド利用企業激増 • API 公開・連携の拡大 • アプリケーション最新化 • 反復的 • 継続的
  • 47. © COPYRIGHT 2019 FIXER Inc. マイクロサービスの 台頭② • プラットフォーム技術 • Container, Orchestrator • 運用コスト削減 • ビジネス機会の拡大 • 選択と集中 • 必要機能のみスケール アウト
  • 48. © COPYRIGHT 2019 FIXER Inc. マイクロサービス アーキテクチャによるアプリ構築 着手前に考慮すべき技術的課題 • 同機能のモノリシックアプリより多くの動的なパーツで構成され複雑 • サービス間の境界にまたがってリファクタリングを行うことは困難 • 多くの異なる言語やフレームワークを使用する場合のアプリのガバナ ンス • ネットワークの輻輳と待機時間 • 独自のデータを永続化する各マイクロサービスを使用するためデータ 整合性の困難さ • サービス間で相互に関連付けられたログを記録することは難しい • 複数のサービスが特定の時点で更新される場合があるためバージョン 管理を慎重に設計する必要がある • 高度な分散システムのため成功のために必要なスキルセット
  • 49. © COPYRIGHT 2019 FIXER Inc. マイクロサービスを 支える技術
  • 50. © COPYRIGHT 2019 FIXER Inc. Docker Containers クラウドからオンプレミスまで どこでも実行可能な高速で軽量な アプリケーション / サービスの 配置、運用、管理、自動化のための技術 コンテナー型のアプリ仮想化技術 ◼ ネットワークやリソースを分離 ◼ 高速かつオーバーヘッドの少ない配置展開 ◼ オープンソース WindowsLinux
  • 51. 52 © COPYRIGHT 2018 FIXER Inc. Docker とは? ◼ コンテナー型のアプリ仮想化技術 ◼ コンテナ間は分離 ◼ OS カーネルや各種ライブラリ等は共有 ◼ 高速かつオーバーヘッドの少ない デプロイ、再起動、移行 ◼ オープンソース AppA’ Host OS Server Bins/Libs AppA Bins/Libs AppB AppB’ AppB’ AppB’ Container App A Hypervisor (Type 2) Host OS Server Guest OS Bins/ Libs App A’ Gues t OS Bins/ Libs App B Gues t OS Bins/ Libs VM Guest OS Guest OS
  • 52. 53 © COPYRIGHT 2018 FIXER Inc. 参考:マンガでわかるDocker_技術書典 Docker とは?
  • 53. © COPYRIGHT 2019 FIXER Inc. 本日Dockerについて 覚えていただきたいこと ①コンテナ ②イメージ
  • 54. 55 © COPYRIGHT 2018 FIXER Inc. 参考:マンガでわかるDocker_技術書典 Docker と コンテナの関係は?
  • 55. 56 © COPYRIGHT 2018 FIXER Inc. コンテナをつくる元となる ファイルのこと。 イメージ とは?
  • 56. 57 © COPYRIGHT 2018 FIXER Inc. 参考:マンガでわかるDocker_技術書典 「Docker」で「イメージ」をもとに「コンテナ」を起動する
  • 57. 58 © COPYRIGHT 2018 FIXER Inc. イメージが置いてあるDocker hubっていうWebサイトがあるよ。
  • 58. © COPYRIGHT 2019 FIXER Inc. Container (Docker)を なぜ使うのか 資源効率性の高さ コンテナはホスト OS を共有するので、 ゲスト OS を立てる必要がない ポータビリティ(移植性)の 高さ コンテナを構成してリポジトリに保存し ておけば、どこでも動かせる クラウドをまたぐことも可能(Poly Cloud) 展開の容易性と高速性 コマンドのみで展開、再展開が容易に 可能 開発の容易性と高速性 アプリケーションが動作する環境をコン テナとして維持管理可能
  • 59. © COPYRIGHT 2019 FIXER Inc. 従来のサーバ構成 HW (CPU/メモリ/ディスク) OS (Linux/Windows) MW (Apache/Post greSQL) アプリケーション バイ ナリ ライブ ラリ 依存 • アプリケーション/MWは、バイナリ (Java コ マンド等) /ライブラリに依存しており、動作 させるためには OS に依存対象をインスト ールする必要あり • その結果、OS 含めたサーバ全体が、 “Web サーバ”、”バッチサーバ” といった目 的に特化したものとなり汎用性がなくなるこ とになる • 例えば、”Web サーバ”と”バッチサーバ”を 一つのサーバに同居させようとすると、 ”Web + バッチサーバ”という目的に特化 したOS設定となる
  • 60. © COPYRIGHT 2019 FIXER Inc. Docker を利用したコンテナ化 • アプリケーション/MW が依存するバイナリ/ライ ブラリをコンテナイメージという形でパッケージング • どんなサーバでも、docker が動いていればコン テナイメージをコンテナとして稼働可能 • 結果、アプリケーション/MW は、コンテナとして 抽象化され、 OS 以下のレイヤーは汎用的に • 例えば、障害時のフェイルオーバや負荷による スケールアウトが、コンテナと OS/HW で分離 されるため柔軟に実行可能 • OS/HW はクラウドで容易に調達可能である ため、クラウドのメリットをより引き出すシステム 構成 dockerコンテナ HW (CPU/メモリ/ディスク) OS (Linux/Windows) MW (Apache/Po stgreSQL) アプリケーション バイ ナリ ライブ ラリ 依 存 Docker
  • 61. © COPYRIGHT 2019 FIXER Inc. Docker Containers ~ 共通デプロイ単位 Optionsof compute Azure Web App for Containers Service Fabric Ma en Azure Kubernetes Service (AKS) Leverage the Azure platform designed for your container needs Keep using the platform of your choice, running great on Azure Azure Container Registry Docker Hub, private registry Visual Studio tools InteliJ Jenkins Redhat Openshift Container Platform Pivotal Cloud Foundry Kubernetes
  • 62. © COPYRIGHT 2019 FIXER Inc. コンテナが増えすぎた!
  • 63. © COPYRIGHT 2019 FIXER Inc. コンテナのオーケストレーションの 必要性 • Docker により、アプリケーション のコード、インフラの構成情報を 統合的に管理(疎結合) • ただし、大規模システムの場合、 複数のホストマシンからなる、分 散環境構築が必要 • 開発したアプリケーションを、効 率よく継続的にデプロイしていく か?という開発 / 運用を考え なくてはならない ↓ • コンテナのオーケストレーション ツールが必要
  • 64. © COPYRIGHT 2019 FIXER Inc. コンテナのオーケストレーションとは? • 複数のコンテナアプリケーションを連動させて一つの サービスとして提供するサービス • 障害時の対策など運用面を考慮し、複数コンテナ を管理するシステム • AWS、Microsoft、Google、IBM、等主要クラ ウドベンダーが採用したこともあり、現在のところコン テナオーケストレーションツールとして Kubernetes はデファクトといえる存在
  • 65. © COPYRIGHT 2019 FIXER Inc. Kubernetes (クゥバネィテス) とは • ギリシャ語で “船の操縦手” “統括者・支配者” という意味 • K8s と略され記述される事が多い(8は K から s の間の文字 数) • ベアメタルサーバーや、仮想マシン(On-Premise、Cloud)上の、 Docker をはじめとするコンテナ群を管理するシステム(コンテナオー ケストレーションツール) • Google 社内で開発/運用されている、コンテナクラスタ管理システ ム “Borg” でのノウハウを結集して開発された • 現在は、Apache ライセンスで配布されているオープンソースソフト ウェア • マイクロサービスを効率的にデプロイ、アップデートする機能として、 • コンテナのオートスケール • Blue Green Deployment • Rolling Update などの機能を備えている
  • 66. © COPYRIGHT 2019 FIXER Inc. Kubernetes における コンテナのオーケストレーション •コンテナを複数のノードに配置し、 全体を一つのプラットフォームとして 管理可能 • スケジューリング、配置 • 監視、復旧 • コンテナの冗長構成 • コンテナ間の通信確保 • コンテナのオートスケール (In/Out) などの機能を備えている Pod Master Node Agent Node Pod Pod Pod Agent Node
  • 67. © COPYRIGHT 2019 FIXER Inc. Istio - サービスメッシュ (Service Mesh) • Kubernetes 上にデプロイした サービスの間の通信を統一的な 仕組みで管理 • Blue/Green Deployment • カナリアリリース • サーキットブレーカー(CDP) • 分散トレーシング • Envoy サイドカーパターン https://docs.microsoft.com/ja-jp/azure/aks/istio-scenario-routing
  • 68. © COPYRIGHT 2019 FIXER Inc.   Circuit Breaker パターン Circuit Breaker 処理一般的な 業務処理 通常処理( Close ) 準縮退処理( Half-Open)
  • 69. © COPYRIGHT 2019 FIXER Inc. Microsoft Azure でコンテナに対応している サービス 利用用途に応じて適切なサービスを選択可能 70 管理重視 生産性重視
  • 70. © COPYRIGHT 2019 FIXER Inc. .NET Core でマイクロサービスを 開発するメリット • 使い慣れた C# / VB.NET を用いて コンテナで実行するアプリを開発可能 • 開発環境をサポートするツール群 • .NET Core CLI (dotnet コマンド) • Docker for Windows • Visual Studio 2019 による コンテナサポート • ※ Windows のみの環境で Linux を含むコンテナ実行 アプリを開発可能
  • 71. © COPYRIGHT 2019 FIXER Inc. ローカル 環境での 開発 マイクロサービスの開発ライフサイクル B チーム A チーム Azure DevOps Azure Kubernetes Service Azure Container Registry 開発環境 Azure Kubernetes Service テスト環境 / 運用環境 Repository Pipeline Azure Kubernetes Service © COPYRIGHT 2019 FIXER Inc.
  • 72. © COPYRIGHT 2019 FIXER Inc. WebApps 開発ライフサイクル (シナリオ例) Azure 開発環境 git push pull, clone Deploy Deploy
  • 73. © COPYRIGHT 2019 FIXER Inc. Azure DevOps デモ① - Azure Web Apps -
  • 74. © COPYRIGHT 2018 FIXER Inc. •Docker CLI •Azure CLI, SSH •Visual Studio Code & Docker 拡張機能 •Visual Studio 2019 コンテナー サポート (Build, Debug) •Docker Image の管理 • Docker Hub • Azure Container Registry • Private Registry Container 開発とツールサポート
  • 75. © COPYRIGHT 2019 FIXER Inc. Container 開発ライフサイクル (シナリオ例) Azure 開発環境 git push pull, clone CD (Webhook) docker push docker push
  • 76. © COPYRIGHT 2019 FIXER Inc. マイクロサービスの開発から 展開までの流れ •開発 • ASP.NET Core アプリを ローカルで開発 • Azure DevOps でソース コードを管理 • Docker Compose (Option) •自動ビルド • Azure DevOps Pipeline でビルド&単体テスト • Azure Container Registry にコンテナイメージ を登録 •クラウド展開 • Helm Charts を利用し て AKS に展開
  • 77. © COPYRIGHT 2019 FIXER Inc. Answer3 Description: xxxxxxxxxxxxxx 〇 Next Reference: http://quizap.com/ or Blob URL User ID Password C# JavaScript Subjects HTML SQL ASP.NET Core Web API Study Mode L Trial Mode Mode Selection User Authentication Study Mode 1. C# Introduction 2. C# xxxxxxxxxxxx 3. C# yyyyyyyyyyyy 4. ・・・・・・・ ☒ ☒ ☒ 5. ・・・・・・・ Select Range List Trial Mode Search wrong Answers or Top 100 from the Beginning Wrong Answers Recommended by AI Past Timesn AND Conditions : OR Questions List Questions List 1 C# has only 3 Types ? YES NO Description http://quizap.com/ 2 .NET is the Language? YES NO Description http://quizap.com/ 3 Web API consists of Interfaces? YES NO Description http://quizap.com/ ・ ・Users Admin Users Admin CRUD, BULK INSERT(Link Added) READ, UPDATE Question1 YES NO C# has only 3 Types ? Picture from Blob URL (if exists) Answer1 Description: xxxxxxxxxxxxxx × Next Reference: http://quizap.com/ or Blob URL Results Result List 1 C# has only 3 Types ? × Description http://quizap.com/ 2 .NET is the Language? 〇 Description http://quizap.com/ 3 Web API consists of Interfaces? 〇 Description http://quizap.com/ ・ ・ 78/100 Correct Answer1 Answer2 Answer3 Top Menu Correct Answer:NO Correct Answer: NO サンプルアプリの構造
  • 78. © COPYRIGHT 2019 FIXER Inc. サンプルアプリ画面遷移イメージ
  • 79. © COPYRIGHT 2019 FIXER Inc. サンプルアプリ画面遷移イメージ
  • 80. © COPYRIGHT 2019 FIXER Inc. • 統合認証機能 • 検索機能追加 • BI (Power BI) 機能追加 • AI (Recommendation 等) 機能追加 追加実装する範囲
  • 81. © COPYRIGHT 2019 FIXER Inc. Answer3 Description: xxxxxxxxxxxxxx 〇 Next Reference: http://quizap.com/ or Blob URL User ID Password C# JavaScript Subjects HTML SQL ASP.NET Core Web API Study Mode L Trial Mode Mode Selection User Authentication Study Mode 1. C# Introduction 2. C# xxxxxxxxxxxx 3. C# yyyyyyyyyyyy 4. ・・・・・・・ ☒ ☒ ☒ 5. ・・・・・・・ Select Range List Trial Mode Search wrong Answers or Top 100 from the Beginning Wrong Answers Recommended by AI Past Timesn AND Conditions : OR Questions List Questions List 1 C# has only 3 Types ? YES NO Description http://quizap.com/ 2 .NET is the Language? YES NO Description http://quizap.com/ 3 Web API consists of Interfaces? YES NO Description http://quizap.com/ ・ ・Users Admin Users Admin CRUD, BULK INSERT(Link Added) READ, UPDATE Question1 YES NO C# has only 3 Types ? Picture from Blob URL (if exists) Answer1 Description: xxxxxxxxxxxxxx × Next Reference: http://quizap.com/ or Blob URL Results Result List 1 C# has only 3 Types ? × Description http://quizap.com/ 2 .NET is the Language? 〇 Description http://quizap.com/ 3 Web API consists of Interfaces? 〇 Description http://quizap.com/ ・ ・ 78/100 Correct Answer1 Answer2 Answer3 Top Menu Correct Answer:NO Correct Answer: NO 統合認証、検索、BI / AI 機能追加
  • 82. © COPYRIGHT 2019 FIXER Inc. Trial Mode Wrong Answers Recommended by AI Past Timesn AND Conditions : OR 追加する機能について • Facebook/Twitter/Google/Microsoft 認証追加 • Active Directory 認証追加 • Study (学習)モード追加 • 検索機能追加 • BI 機能追加 (Power BI 等) • AI バックエンド追加 (Recommendation 等)
  • 83. © COPYRIGHT 2019 FIXER Inc. • 統合認証機能追加 → App Services で追加、認証ロジック追加 • 検索機能追加 → Service 実装、Model に Search フォルダを追加 • BI (Power BI) 機能追加 → Web API をフルに公開 • AI (Recommendation 等) 機能追加 → 様々な方法有り • 例:Recommendations Solution Template 追加編実装の方針
  • 84. © COPYRIGHT 2019 FIXER Inc. • Azure にレコメンデーションエンジンがデプロイ • Azure Web Apps、Web Jobs、Storage で構成 • 商品カタログとトランザクション履歴のデータに 基づき、商品のレコメンド予測モデルを構築 • SAR(Smart Adaptive Recommendations) アルゴリズムにより、2つのシナリオがサポート • Item-to-Item Recommendations • 「この商品をチェックした人はこんな商品もチェックしています」の ようなレコメンドを表示するシナリオ • 関連する商品を表示することで、カタログ内の商品を見つけや すくする • Personalized Recommendations • ユーザーの最近のトランザクション履歴をもとに、そのユーザーに 特化したレコメンドを表示 Recommendations Solution Template とは https://github.com/Microsoft/Product-Recommendations
  • 85. 87 © COPYRIGHT 2018 FIXER Inc. マイクロサービス化 検索 バッチ処理 Recommend Business Intelligence Azure Kubernetes Services(AKS) Recommendation Solution Template Azure Functions iOS, Android ASP.NET Core Web App 認証
  • 86. © COPYRIGHT 2019 FIXER Inc.
  • 87. 89 © COPYRIGHT 2018 FIXER Inc. クイズアプリ Web サイトの 実行用アーキテクチャ実装例 (AKS) ・Azure Kubernetes Services ・SQL Azure Database Managed Instance SQL Database Web App Geo レプリケーション 自動スケール Quiz サービス 東日本 西日本 東南アジア SQL Database Web App 認証サービス SQL Database Web App 検索サービス SQL Database Web App マスター DB SQL Database Web App 出題サービス SQL Database Web App BI サービス SQL Database Web App AI サービス Token Service API Master API Search API Test API Report API Recommend API Message Bus
  • 88. © COPYRIGHT 2019 FIXER Inc. • 最初にモノリシックなアプリを開発 • 各種必要機能を追加 • CDP 等を考慮してサービス単位を分割 • Docker でのローカルテスト • Azure Kubernetes Services へのデプロイ 実装方針
  • 89. © COPYRIGHT 2019 FIXER Inc. ローカル 環境での 開発 マイクロサービスの開発ライフサイクル B チーム A チーム Azure DevOps Azure Kubernetes Service Azure Container Registry 開発環境 Azure Kubernetes Service テスト環境 / 運用環境 Repository Pipeline Azure Kubernetes Service © COPYRIGHT 2019 FIXER Inc.
  • 90. © COPYRIGHT 2018 FIXER Inc. • Azure Kubernetes Service (AKS) 上でのコンテナーの実行とデバッグを実行可能 • マネージドな Kubernetes クラスターをチームで共有して共同作業可能 • 依存関係を複製したりモックアップしたりすることなく、自分のコードを分離して 開発したり、他のコンポーネントと併せてエンド ツー エンドのテストを実行 Azure Dev Spaces (Preview)
  • 91. © COPYRIGHT 2019 FIXER Inc. Azure Dev Spaces (Preview) • Azure Kubernetes Service (AKS) 上でのコンテナーの実行とデバッグを実行可能 • マネージドな Kubernetes クラスターをチームで共有して共同作業可能 • 依存関係を複製したりモックアップしたりすることなく、自分のコードを分離して開発したり、 他のコンポーネントと併せてエンド ツー エンドのテストを実行 • さまざまな開発言語/フレームワーク、Windows, macOS, Linux で利用可能 • 開発とプロダクションで同一の Docker / Helm 環境を利用 http://web-frontend.bd0cfb25.../aksapp.io http://scott.s.web-frontend.bd0cfb25.../aksapp.io Scott
  • 92. © COPYRIGHT 2019 FIXER Inc.
  • 93. © COPYRIGHT 2019 FIXER Inc. Azure DevOps デモ③ - Azure Dev Spaces -
  • 94. © COPYRIGHT 2018 FIXER Inc. • アプリケーションのクラウド移行戦略 • マイクロサービスとは何か • マイクロサービスを支える技術 • Azure DevOps デモ • サンプルアプリご紹介 • まとめ まとめ
  • 95. © COPYRIGHT 2018 FIXER Inc. FIXER Tech Academy Cloud Config Boot Camp Nagisa Terrace in Tamachi
  • 96. © COPYRIGHT 2018 FIXER Inc. Azureソリューションに必要なスキルを体系的に習得 FIXERでは、Azureへのリフト&シフトやクラウドの効果的な活用、クラウド上でのアプリ開発など、 様々なスキルを体系的に習得できる各種トレーニングをご用意しております。 Azureの基礎知識 Azure基本事項、Azureサービスと機能のツアーなど ASP.NET Core MVC Web モノリシック アーキテクチャ ASP.NET Core MVC Web マイクロサービス アーキテクチャ CDP概論・各論、 仮想ネットワーク、 ARMテンプレート等 インフラ 構築編 アプリ開発 基礎編 アプリ開発 機能追加編 応用編 Cloud Config Boot Camp(クラウド・コンフィグ・ブートキャンプ)
  • 98. © COPYRIGHT 2019 FIXER Inc.