SlideShare a Scribd company logo
1 of 33
As a Service時代のCD/CI
As a Service時代の
継続的インテグレーションと継続的デリバリー
Continuous Integration Continuous Delivery
自己紹介 髙尾 哲朗
システム構築のプロセス評価、改善、策定、開発フレームワークの設計、実装管理、プリセールスや
プロジェクトの立ち上げなど
ブログ :http://blog.processtune.com
プロフィール :Tetsuro Takao on
Facebook, Twitter or http://mvp.microsoft.com
コミュニティ :.NETラボの運営スタッフ
https://dotnetlab.connpass.com/
Microsoft MVP:Developer Technologies
[July 2010 – June 2019]
お約束
インターネットなどで検索しやすいように意識的にカタカナの専門用語を多用しています。
解説中の質問もOKです。挙手いただければ、タイミングを見計らってこちらからご指名
させていただきます。
Microsoft系の技術での実現方法を例示しますが、話の内容はプラットフォームに依存し
ていません。後から関心のあるプラットフォームで同じことを試してください。
名刺交換やFacebook友達申請、大歓迎です。
資料の流用は可能です。出典を参考にしてください。
昨年の振り返り
Inputが変化し
ている
Outputが変
化している
Processingを
完全分離する
クラウド時代
のIT戦略
MS Graphと
機械学習
昨年の振り返り
Inputが変化し
ている
Outputが変
化している
Processingを
完全分離する
クラウド時代
のIT戦略
MS Graphと
機械学習
昨年の振り返り
Inputが変化し
ている
Outputが変
化している
Processingを
完全分離する
クラウド時代
のIT戦略
MS Graphと
機械学習
昨年の振り返り
Inputが変化し
ている
Outputが変
化している
Processingを
完全分離する
クラウド時代
のIT戦略
MS Graphと
機械学習
昨年の振り返り
Inputが変化し
ている
Outputが変
化している
Processingを
完全分離する
クラウド時代
のIT戦略
MS Graphと
機械学習
これからのシステム開発BtoXとは
BtoXはBtoBtoCやBtoBtoBの商流のための製品開発の総称
基本的にはB (Data API→)toB(toCやtoBに情報サービスを提供→)
インターフェイスはREST API(JSONが主流)
ビジネスユースなので継続的インテグレーション、継続的デリバリーが必須
昨年の振り返り内容は一層加速している
継続的デリバリーの具体例
設計 実装 ビルド 試験
デプ
ロイ
統合
検証
スロット
変更
Microsoft Azure DevOpsの場合
設計 実装 ビルド 試験
デプ
ロイ
統合
検証
スロット
変更
Microsoft Azure DevOps
Jenkinsのイベントトリガーで各種連携
設計 実装 ビルド 試験
デプ
ロイ
統合
検証
スロット
変更
Selenium WebDriver
Jenkinsとコンテナ・オーケストレーション
設計 実装 ビルド 試験
デプ
ロイ
統合
検証
スロット
変更
Container Orchestration
Azure
Kubernetes
Service
Container Repository
Azure
Container
Repository
設計とインプリメンテーション
設計 実装 ビルド 試験
デプ
ロイ
統合
検証
スロット
変更
設計 実装 ビルド 試験
デプ
ロイ
統合
検証
スロット
変更
Microsoft Azure DevOps
WebアプリケーションのCD / CI
Docker for Windows
Web App
プロジェクト
Docker Support
Web App
プロジェクト
Docker Support
Azure DevOps Pipelinesの概要
Build Pipelines
Commit & Push
継続的インテグレーションの意味
製品(サービス)のパッチ、機能拡張、バグ修正、バージョンアップは無停止で実施
コーディング終了→プルリクエスト→マージ→ビルド→デプロイ→テスト→スワップの一
連の作業は自動化
プロジェクト管理、ソース管理、配信管理、運用状況のトラッキング、次イテレーションの
改修計画を一連してシステムの生産性を向上させることがCD/CIの目的
CD/CI関連ツールはたくさんあり、自組織で最適な組み合わせを考慮して利用する必要
がある。Visual Studioを買ったからプログラムが組めるのではなく、Azure DevOpsを利
用するとCD/CIができるわけではないので、CD/CI設計はプログラムの設計以上の緻密
な設計が必要
ドメインの認証と認可
ドメインの認証
→ドメインやレルムといった問題解決領域におけるアイデンティティの承認
ドメインの認可
→ドメインやレルムといった問題解決領域におけるリソースの使用の許可
できること
「外部の情報の活用」ドメインAで認証してもらってドメインBの情報を利用する(ドメイン
BがドメインAのアイデンティティに認可を与えている場合)
「ユーザーによる情報共有範囲の制御」ドメインAの情報のうちどの情報をアプリケーシ
ョンに使わせるかを制御
「その場で利用するアカウントを選べること」業務によってドメインAのアイデンティティを
使うかドメインBのアイデンティティを使うかを選べる
認証・認可分離の発展形
https://identity.foundation/
新時代の認証、分散型IDについて
https://www.mckinsey.com/industries/financial-services/our-insights/blockchains-occam-problem
https://japan.zdnet.com/article/35126917/
ブロックチェーン方式のUniversal Resolver
DIF Universal Resolver
DID
Document
DID
Document
アリスは最近大学を卒業しました。
彼女は、卒業証書のデジタルコピー(彼女の
DIDに対して大学が発行した)を要求できま
す。
彼女は、卒業証書の発行者、発行時期、およ
びその状態を独自に確認できる潜在的な雇
用者などだれにでも卒業証書を提示すること
を選択できます。
Microsoftホワイトペーパー
https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE2DjfY
概念図
出典:https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE2DjfY
キーの役割
DID
Primary
他人が自分を認識でき
るための軽量な情報
公開する写真
公開する最低限の情
報
Pairwise
自分の情報のうち、提
供する必要最低限の
情報
提供する相手に公開す
る情報
Visual Studio
Java製のUniversal Driver(Jetty)
デバイスのデリバリー例
Demo
Conclusion
マイクロサービス

More Related Content

What's hot

WordPressプラグイン開発で学ぶ継続インテグレーション(CI)
WordPressプラグイン開発で学ぶ継続インテグレーション(CI)WordPressプラグイン開発で学ぶ継続インテグレーション(CI)
WordPressプラグイン開発で学ぶ継続インテグレーション(CI)Seto Takahiro
 
TFS ユーザーズ勉強会 前説より~ What's TFS
TFS ユーザーズ勉強会 前説より~ What's TFSTFS ユーザーズ勉強会 前説より~ What's TFS
TFS ユーザーズ勉強会 前説より~ What's TFS智治 長沢
 
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理慎一 古賀
 
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠WPF開発での陥りやすい罠
WPF開発での陥りやすい罠Sho Okada
 
フレームワーク
フレームワークフレームワーク
フレームワークyanchi
 
Microsoft loves PHP WebMatrix + Windows Azure
Microsoft loves PHP WebMatrix + Windows AzureMicrosoft loves PHP WebMatrix + Windows Azure
Microsoft loves PHP WebMatrix + Windows AzureTakeshi Shinmura
 
ここからはじめるAction Script 3.0 入門前
ここからはじめるAction Script 3.0 入門前ここからはじめるAction Script 3.0 入門前
ここからはじめるAction Script 3.0 入門前Yusuke Kamo
 
C#/WPFで作るデスクトップマスコット入門
C#/WPFで作るデスクトップマスコット入門C#/WPFで作るデスクトップマスコット入門
C#/WPFで作るデスクトップマスコット入門Fujikido
 
WCFのパイプ通信を .NET 5に向けてgRPCへ置き換える話
WCFのパイプ通信を .NET 5に向けてgRPCへ置き換える話WCFのパイプ通信を .NET 5に向けてgRPCへ置き換える話
WCFのパイプ通信を .NET 5に向けてgRPCへ置き換える話keitasudo1
 
Msを16倍出し抜くwpf開発2回目
Msを16倍出し抜くwpf開発2回目Msを16倍出し抜くwpf開発2回目
Msを16倍出し抜くwpf開発2回目cct-inc
 
CMS の今後と IoT 〜 concrete5 などの CMS が進む道
CMS の今後と IoT 〜 concrete5 などの CMS が進む道CMS の今後と IoT 〜 concrete5 などの CMS が進む道
CMS の今後と IoT 〜 concrete5 などの CMS が進む道Katz Ueno
 
Tech summitの歩き方 開発者編
Tech summitの歩き方 開発者編Tech summitの歩き方 開発者編
Tech summitの歩き方 開発者編Tech Summit 2016
 
クロスプラットフォームはまだ早い!既存のアプリをクロスプラットフォームっぽくする方法
クロスプラットフォームはまだ早い!既存のアプリをクロスプラットフォームっぽくする方法 クロスプラットフォームはまだ早い!既存のアプリをクロスプラットフォームっぽくする方法
クロスプラットフォームはまだ早い!既存のアプリをクロスプラットフォームっぽくする方法 Hiroki Yata
 
WinFormsからWPFへ
WinFormsからWPFへWinFormsからWPFへ
WinFormsからWPFへYamamoto Reki
 
WordPressプラグイン考察
WordPressプラグイン考察WordPressプラグイン考察
WordPressプラグイン考察Takami Kazuya
 

What's hot (17)

WordPressプラグイン開発で学ぶ継続インテグレーション(CI)
WordPressプラグイン開発で学ぶ継続インテグレーション(CI)WordPressプラグイン開発で学ぶ継続インテグレーション(CI)
WordPressプラグイン開発で学ぶ継続インテグレーション(CI)
 
TFS ユーザーズ勉強会 前説より~ What's TFS
TFS ユーザーズ勉強会 前説より~ What's TFSTFS ユーザーズ勉強会 前説より~ What's TFS
TFS ユーザーズ勉強会 前説より~ What's TFS
 
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
 
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠WPF開発での陥りやすい罠
WPF開発での陥りやすい罠
 
Silverlightの今
Silverlightの今Silverlightの今
Silverlightの今
 
フレームワーク
フレームワークフレームワーク
フレームワーク
 
Microsoft loves PHP WebMatrix + Windows Azure
Microsoft loves PHP WebMatrix + Windows AzureMicrosoft loves PHP WebMatrix + Windows Azure
Microsoft loves PHP WebMatrix + Windows Azure
 
ここからはじめるAction Script 3.0 入門前
ここからはじめるAction Script 3.0 入門前ここからはじめるAction Script 3.0 入門前
ここからはじめるAction Script 3.0 入門前
 
C#/WPFで作るデスクトップマスコット入門
C#/WPFで作るデスクトップマスコット入門C#/WPFで作るデスクトップマスコット入門
C#/WPFで作るデスクトップマスコット入門
 
WCFのパイプ通信を .NET 5に向けてgRPCへ置き換える話
WCFのパイプ通信を .NET 5に向けてgRPCへ置き換える話WCFのパイプ通信を .NET 5に向けてgRPCへ置き換える話
WCFのパイプ通信を .NET 5に向けてgRPCへ置き換える話
 
Msを16倍出し抜くwpf開発2回目
Msを16倍出し抜くwpf開発2回目Msを16倍出し抜くwpf開発2回目
Msを16倍出し抜くwpf開発2回目
 
CMS の今後と IoT 〜 concrete5 などの CMS が進む道
CMS の今後と IoT 〜 concrete5 などの CMS が進む道CMS の今後と IoT 〜 concrete5 などの CMS が進む道
CMS の今後と IoT 〜 concrete5 などの CMS が進む道
 
Tech summitの歩き方 開発者編
Tech summitの歩き方 開発者編Tech summitの歩き方 開発者編
Tech summitの歩き方 開発者編
 
Ignite UI 2012 最新情報 jQuery Mobile 編
Ignite UI 2012 最新情報 jQuery Mobile 編Ignite UI 2012 最新情報 jQuery Mobile 編
Ignite UI 2012 最新情報 jQuery Mobile 編
 
クロスプラットフォームはまだ早い!既存のアプリをクロスプラットフォームっぽくする方法
クロスプラットフォームはまだ早い!既存のアプリをクロスプラットフォームっぽくする方法 クロスプラットフォームはまだ早い!既存のアプリをクロスプラットフォームっぽくする方法
クロスプラットフォームはまだ早い!既存のアプリをクロスプラットフォームっぽくする方法
 
WinFormsからWPFへ
WinFormsからWPFへWinFormsからWPFへ
WinFormsからWPFへ
 
WordPressプラグイン考察
WordPressプラグイン考察WordPressプラグイン考察
WordPressプラグイン考察
 

Similar to Cdci for asaserviceera

Layout isfirstprocessofatomicdesign
Layout isfirstprocessofatomicdesignLayout isfirstprocessofatomicdesign
Layout isfirstprocessofatomicdesignTakao Tetsuro
 
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~apkiban
 
クラウド・コンピューティングの普及に伴うMSPの現状と課題
クラウド・コンピューティングの普及に伴うMSPの現状と課題クラウド・コンピューティングの普及に伴うMSPの現状と課題
クラウド・コンピューティングの普及に伴うMSPの現状と課題Masahito Zembutsu
 
Small Language Model Local Launch on AI Tour Tokyo
Small Language Model Local Launch on AI Tour TokyoSmall Language Model Local Launch on AI Tour Tokyo
Small Language Model Local Launch on AI Tour TokyoTakao Tetsuro
 
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~Yuichi Hasegawa
 
TFS超入門。いつやるの。今でしょ
TFS超入門。いつやるの。今でしょTFS超入門。いつやるの。今でしょ
TFS超入門。いつやるの。今でしょTakuya Kawabe
 
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...智治 長沢
 
Tech summitの歩き方 開発者編
Tech summitの歩き方 開発者編Tech summitの歩き方 開発者編
Tech summitの歩き方 開発者編Tech Summit 2016
 
DevOps and Compliance and Security
DevOps and Compliance and SecurityDevOps and Compliance and Security
DevOps and Compliance and SecurityKazushi Kamegawa
 
Chat bot created by QnA Maker
Chat bot created by QnA MakerChat bot created by QnA Maker
Chat bot created by QnA MakerTakao Tetsuro
 
【#VSUG DAY】Team Foundation Server を乗りこなすコツ教えます
【#VSUG DAY】Team Foundation Server を乗りこなすコツ教えます【#VSUG DAY】Team Foundation Server を乗りこなすコツ教えます
【#VSUG DAY】Team Foundation Server を乗りこなすコツ教えます智治 長沢
 
connpass特徴と開発の流れ
connpass特徴と開発の流れconnpass特徴と開発の流れ
connpass特徴と開発の流れIkeda Yosuke
 
Tech summitの歩き方 クライア
Tech summitの歩き方 クライアTech summitの歩き方 クライア
Tech summitの歩き方 クライアTech Summit 2016
 
Platform Engineering超入門(一般公開版:キンドリルジャパン社内勉強会:2023年7月20日発表)
Platform Engineering超入門(一般公開版:キンドリルジャパン社内勉強会:2023年7月20日発表)Platform Engineering超入門(一般公開版:キンドリルジャパン社内勉強会:2023年7月20日発表)
Platform Engineering超入門(一般公開版:キンドリルジャパン社内勉強会:2023年7月20日発表)Hiroshi Tomioka
 
20130302 わんくま勉強会大阪 tfsを使ってみよう
20130302 わんくま勉強会大阪 tfsを使ってみよう20130302 わんくま勉強会大阪 tfsを使ってみよう
20130302 わんくま勉強会大阪 tfsを使ってみようTakuya Kawabe
 
Istio, Kubernetes and Cloud Foundry (修正版)
Istio, Kubernetes and Cloud Foundry (修正版)Istio, Kubernetes and Cloud Foundry (修正版)
Istio, Kubernetes and Cloud Foundry (修正版)Kazuto Kusama
 
Decentralized identity
Decentralized identityDecentralized identity
Decentralized identityTakao Tetsuro
 

Similar to Cdci for asaserviceera (20)

Layout isfirstprocessofatomicdesign
Layout isfirstprocessofatomicdesignLayout isfirstprocessofatomicdesign
Layout isfirstprocessofatomicdesign
 
User groupandfuture
User groupandfutureUser groupandfuture
User groupandfuture
 
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
 
クラウド・コンピューティングの普及に伴うMSPの現状と課題
クラウド・コンピューティングの普及に伴うMSPの現状と課題クラウド・コンピューティングの普及に伴うMSPの現状と課題
クラウド・コンピューティングの普及に伴うMSPの現状と課題
 
Small Language Model Local Launch on AI Tour Tokyo
Small Language Model Local Launch on AI Tour TokyoSmall Language Model Local Launch on AI Tour Tokyo
Small Language Model Local Launch on AI Tour Tokyo
 
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
 
Bot frameworksdk
Bot frameworksdkBot frameworksdk
Bot frameworksdk
 
TFS超入門。いつやるの。今でしょ
TFS超入門。いつやるの。今でしょTFS超入門。いつやるの。今でしょ
TFS超入門。いつやるの。今でしょ
 
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
 
Tech summitの歩き方 開発者編
Tech summitの歩き方 開発者編Tech summitの歩き方 開発者編
Tech summitの歩き方 開発者編
 
DevOps and Compliance and Security
DevOps and Compliance and SecurityDevOps and Compliance and Security
DevOps and Compliance and Security
 
Chat bot created by QnA Maker
Chat bot created by QnA MakerChat bot created by QnA Maker
Chat bot created by QnA Maker
 
【#VSUG DAY】Team Foundation Server を乗りこなすコツ教えます
【#VSUG DAY】Team Foundation Server を乗りこなすコツ教えます【#VSUG DAY】Team Foundation Server を乗りこなすコツ教えます
【#VSUG DAY】Team Foundation Server を乗りこなすコツ教えます
 
connpass特徴と開発の流れ
connpass特徴と開発の流れconnpass特徴と開発の流れ
connpass特徴と開発の流れ
 
Tech summitの歩き方 クライア
Tech summitの歩き方 クライアTech summitの歩き方 クライア
Tech summitの歩き方 クライア
 
Platform Engineering超入門(一般公開版:キンドリルジャパン社内勉強会:2023年7月20日発表)
Platform Engineering超入門(一般公開版:キンドリルジャパン社内勉強会:2023年7月20日発表)Platform Engineering超入門(一般公開版:キンドリルジャパン社内勉強会:2023年7月20日発表)
Platform Engineering超入門(一般公開版:キンドリルジャパン社内勉強会:2023年7月20日発表)
 
20130302 わんくま勉強会大阪 tfsを使ってみよう
20130302 わんくま勉強会大阪 tfsを使ってみよう20130302 わんくま勉強会大阪 tfsを使ってみよう
20130302 わんくま勉強会大阪 tfsを使ってみよう
 
Istio, Kubernetes and Cloud Foundry (修正版)
Istio, Kubernetes and Cloud Foundry (修正版)Istio, Kubernetes and Cloud Foundry (修正版)
Istio, Kubernetes and Cloud Foundry (修正版)
 
Decentralized identity
Decentralized identityDecentralized identity
Decentralized identity
 
Community cloud運用開発の基礎
Community cloud運用開発の基礎Community cloud運用開発の基礎
Community cloud運用開発の基礎
 

More from Takao Tetsuro

local launch small language model of AI.
local launch small language model of AI.local launch small language model of AI.
local launch small language model of AI.Takao Tetsuro
 
Implementation Approach of Artifical Intelligence
Implementation Approach of Artifical IntelligenceImplementation Approach of Artifical Intelligence
Implementation Approach of Artifical IntelligenceTakao Tetsuro
 
MAUIGraphicsNamespace.pptx
MAUIGraphicsNamespace.pptxMAUIGraphicsNamespace.pptx
MAUIGraphicsNamespace.pptxTakao Tetsuro
 
Polyglot Persistence and Graph Schema
Polyglot Persistence and Graph SchemaPolyglot Persistence and Graph Schema
Polyglot Persistence and Graph SchemaTakao Tetsuro
 
ServiceMeshEndpointWithMinimalAPIPublish.pptx
ServiceMeshEndpointWithMinimalAPIPublish.pptxServiceMeshEndpointWithMinimalAPIPublish.pptx
ServiceMeshEndpointWithMinimalAPIPublish.pptxTakao Tetsuro
 
OptonsPatternDotNet.pptx
OptonsPatternDotNet.pptxOptonsPatternDotNet.pptx
OptonsPatternDotNet.pptxTakao Tetsuro
 
ASP.NETCoreOptionsPattern.pptx
ASP.NETCoreOptionsPattern.pptxASP.NETCoreOptionsPattern.pptx
ASP.NETCoreOptionsPattern.pptxTakao Tetsuro
 
Wasm blazor and wasi 2
Wasm blazor and wasi 2Wasm blazor and wasi 2
Wasm blazor and wasi 2Takao Tetsuro
 
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説Takao Tetsuro
 
Interoperability of webassembly with javascript
Interoperability of webassembly with javascriptInteroperability of webassembly with javascript
Interoperability of webassembly with javascriptTakao Tetsuro
 
Interactive connection2
Interactive connection2Interactive connection2
Interactive connection2Takao Tetsuro
 
Relationship betweenddd and mvc
Relationship betweenddd and mvcRelationship betweenddd and mvc
Relationship betweenddd and mvcTakao Tetsuro
 
M365VM_PowerFX_takao-matsumoto_matsui_kojima
M365VM_PowerFX_takao-matsumoto_matsui_kojimaM365VM_PowerFX_takao-matsumoto_matsui_kojima
M365VM_PowerFX_takao-matsumoto_matsui_kojimaTakao Tetsuro
 
OpenStreetMap and Mapbox
OpenStreetMap and MapboxOpenStreetMap and Mapbox
OpenStreetMap and MapboxTakao Tetsuro
 
Excel on OneDrive is not a file
Excel on OneDrive is not a fileExcel on OneDrive is not a file
Excel on OneDrive is not a fileTakao Tetsuro
 
Development toolsforteamdevelopment
Development toolsforteamdevelopmentDevelopment toolsforteamdevelopment
Development toolsforteamdevelopmentTakao Tetsuro
 
React Helmet navigates SPA
React Helmet navigates SPAReact Helmet navigates SPA
React Helmet navigates SPATakao Tetsuro
 
Reacthelmetcontrolesspa
ReacthelmetcontrolesspaReacthelmetcontrolesspa
ReacthelmetcontrolesspaTakao Tetsuro
 

More from Takao Tetsuro (20)

local launch small language model of AI.
local launch small language model of AI.local launch small language model of AI.
local launch small language model of AI.
 
Implementation Approach of Artifical Intelligence
Implementation Approach of Artifical IntelligenceImplementation Approach of Artifical Intelligence
Implementation Approach of Artifical Intelligence
 
MAUIGraphicsNamespace.pptx
MAUIGraphicsNamespace.pptxMAUIGraphicsNamespace.pptx
MAUIGraphicsNamespace.pptx
 
Polyglot Persistence and Graph Schema
Polyglot Persistence and Graph SchemaPolyglot Persistence and Graph Schema
Polyglot Persistence and Graph Schema
 
ServiceMeshEndpointWithMinimalAPIPublish.pptx
ServiceMeshEndpointWithMinimalAPIPublish.pptxServiceMeshEndpointWithMinimalAPIPublish.pptx
ServiceMeshEndpointWithMinimalAPIPublish.pptx
 
OptonsPatternDotNet.pptx
OptonsPatternDotNet.pptxOptonsPatternDotNet.pptx
OptonsPatternDotNet.pptx
 
ASP.NETCoreOptionsPattern.pptx
ASP.NETCoreOptionsPattern.pptxASP.NETCoreOptionsPattern.pptx
ASP.NETCoreOptionsPattern.pptx
 
gRPCurlDotNet.pptx
gRPCurlDotNet.pptxgRPCurlDotNet.pptx
gRPCurlDotNet.pptx
 
Wasm blazor and wasi 2
Wasm blazor and wasi 2Wasm blazor and wasi 2
Wasm blazor and wasi 2
 
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
 
Team development
Team developmentTeam development
Team development
 
Interoperability of webassembly with javascript
Interoperability of webassembly with javascriptInteroperability of webassembly with javascript
Interoperability of webassembly with javascript
 
Interactive connection2
Interactive connection2Interactive connection2
Interactive connection2
 
Relationship betweenddd and mvc
Relationship betweenddd and mvcRelationship betweenddd and mvc
Relationship betweenddd and mvc
 
M365VM_PowerFX_takao-matsumoto_matsui_kojima
M365VM_PowerFX_takao-matsumoto_matsui_kojimaM365VM_PowerFX_takao-matsumoto_matsui_kojima
M365VM_PowerFX_takao-matsumoto_matsui_kojima
 
OpenStreetMap and Mapbox
OpenStreetMap and MapboxOpenStreetMap and Mapbox
OpenStreetMap and Mapbox
 
Excel on OneDrive is not a file
Excel on OneDrive is not a fileExcel on OneDrive is not a file
Excel on OneDrive is not a file
 
Development toolsforteamdevelopment
Development toolsforteamdevelopmentDevelopment toolsforteamdevelopment
Development toolsforteamdevelopment
 
React Helmet navigates SPA
React Helmet navigates SPAReact Helmet navigates SPA
React Helmet navigates SPA
 
Reacthelmetcontrolesspa
ReacthelmetcontrolesspaReacthelmetcontrolesspa
Reacthelmetcontrolesspa
 

Recently uploaded

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 

Recently uploaded (12)

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 

Cdci for asaserviceera

Editor's Notes

  1. 本日は継続的インテグレーション/継続的デリバリーのお話をします。 モダンな開発プロセスとそうでない従来型の開発プロセスを比べると ・従来のシステム開発手法のコストはウォーターフォール的にシステムを作り5年経ったらシステムを更改する、または刷新するというコストに比べ ・モダンな開発プロセスのコストはアジャイル開発手法でプロジェクト推進をするシステム開発がマイクロサービスアーキテクチャで設計された場合のコストですから、圧倒的にモダンな開発手法を選択した方が良いにも関わらず従来型の開発プロセスを続けている企業はたくさんあります。 この2つを比較すると十数倍のコストの開きがあるにも関わらず、日本でモダンな開発プロセスがあまり進まない理由として考えられるのが まずは、IT産業の構造が固定化されており大手企業が見積しやすい従来の開発手法による受注案件の割合がまだ高い傾向にあるという点。 また発注側にしても社内稟議の通りやすい従来型の提案を採用する傾向があるという点が考えられます。 本日は、モダンな開発プロセスを選択した場合、プリセールスから開発、運用までをどのように継続的インテグレーションし、継続的配置をしていくのかについてお話ししますので、モダンな開発プロセスを積極的に採用するための手掛かりとなるかもしれません。
  2. でははじめましょう。自己紹介をよむ
  3. 毎度のことですが…スライドを読む
  4. 昨年のセッションにて、日本のクラウドコンピューティングの採用率は16.9%であり、残りの80%以上の企業へのクラウド投資は行われていないというお話をしました。そしてそれは、海外の企業が日本の市場に目をつけているという話をしました。これにより様々な変化が起きてきているという話をしました。まず↓ 【Inputが変化している】Realmやドメインという業務上の概念は、物理サーバーやシステム都合によって配置や改修頻度が制限されるべきでなく、今まではたまたま物理サーバーに構築され、5年に1度の更改や新規載せ替えが行われることが多かっただけです。これはSDS/SDNに置き換わって仮想化され物理的な障害はソフトウェアの稼働にほぼ関係は無くなってきている(もちろんそのように構築する必要はありますが)。また、業務に利用するデータの一部はクラウドのものを利用したり、システムの一部の機能をWeb APIとマッシュアップするといった流れが増えつつあります。たとえばOffice 365を導入している企業は認証機構をわざわざ作らず、Graph APIの認証機能を利用しスコープとしてOffice 365上のカレンダー、メール、ドキュメントへのアクセス制御を行うのがスタンダードになってきています(実際そういうように作り変えてくれという案件とか、Azure Active DirectoryとOffice 365の設計といった案件は増えてます)。つまり、システムで扱うデータのうち社内の物理ストレージに保存されているものとクラウドから引いてきているものの比率はどんどん変化してきています。このようなインプットの変化は、同時にシステムが扱うデータの増え方が予測しにくいという特徴があり、システムが安定稼働するためのネットワークのスループットやストレージの大きさについて最適化を想定し設計することが困難です。そのため垂直スケールや水平スケールスケールを計画する必要があってクラウドシフト、クラウドリフトの案件も増えてきています(実際にクラウドシフト、クラウドリフトの案件に携わった方はおられますか?)。予想しにくいものの代表的なものに「GPUを使ったAIの計算量」とか「IoTのセンシングから上がってくるコグニティブデータ」とか「ブロックチェーン方式で転送されるハッシュ履歴付き情報」などがあります。これらの多くはクラウドファーストで設計することでその最適化を実現する傾向があります。
  5. 次に↓ 【Outputが変化している】マルチディスプレイ、スクリーンレス、マルチデバイスを意識しておく必要があるという話をしました。マルチディスプレイのOutputはメディアクエリなどのスキルを必要とするようになりましたし、アウトプットはディスプレイに限らず機器やアプリケーションに向けたAPIに変化してきました。 アウトプットの見た目には業務が大きく影響しますが、As a Service時代のBtoXではアウトプットするデータがビジネスを産み、そのデータをどう見せるかが別のビジネスを産みます。我々の仕事はディスプレイに業務として成り立つ情報を伝送するという形から、どのような使われ方をするのかとは関係なく相手が求めるデータを的確に、必要に応じてリアルタイムに汎用的な手順で送信するという形に変化しつつあります。または、それを利用する側として汎用的な手順で送信されてきたインプットから業務として意味のあるUIを提供する側の仕事も従来のとおり残っていくとは思いますが、その比率は明らかに下がっていきます。それらの仕事はOffice 365やSalesforce CRM、Wordpress CMS、TableauやSAPのBIなどによってエンドユーザー自ら行えるようになってきているからです。
  6. その意味では↓ 【Proceedingを完全分離する】というお話もしました。AIにおける機械学習の話を例にして、特徴データを算出するモデルは再学習を繰り返すのですが、モデルの学習のインプットデータはある程度ゴミを取り除く必要があり、インプットとなるデータを収集機能とフィルター機能、モデルの再学習といった機能は同じシステムとしてオーケストレーションを行うものの同居する必要は無く、また同居させて動かせるハイパワーなコンピューティングを構築する必要もありません。これらのプロセッシングはAWSのLambdaやAzureのFunctions、Google Cloud Functionsなどによって完全に分離され、時にはデータに重みづけを持たせるためエッジとして分割されることもあります。AIの実体となるニューラルネットワークは、ノードをレイヤー化した深層学習用のものや可変長の入力に耐えうるための双方向型の長短記憶再帰型ニューラルネットワーク、固定長を得意とする畳み込み型のニューラルネットワークなどがあります。このデータネットワークはデータストアでもありますが、基本的には傾向や相関を算出し、関係性をトレーニングし得られるモデルから入力に対してランキングとインデキシングを行うことを目的としています。つまり、ため込んだデータが重要なのではなくため込んだデータからモデルが生成されたらそのパラメータの重みづけが重要となります。このようにプロセッシングは入力→フィルタリング→整形→ニューラルネットワークへ投入→特徴データの再算出→パラメーターの重みづけ再定義→新モデルによる再計算という機能群のオーケストレーションであり、分割され全く別レイヤーで実行されることでサーバーレスコンピューティングとしての意味を持ちます。 プロセッシングを完全に分離するというのは、このように「その計算はいつ必要か?」を視点に分離することです。AIも一つのニューラルネットワークでなく、目的に応じた複数のアプローチによるAIから得られる結果をどこに、どのタイミングで、どのように配信するかがドメインとなります。従来のシステムのプロセッシングをこのように完全に分離するとインプットやアウトプットが変化してきている現在のビジネス要求に対応できるシステムになります。
  7. 続いて↓ 【クラウド時代のIT戦略】では、実際にビジネスの決定はどこで行われるのか?という話をしました。ディシジョンメイキングの話です。従来のビジネスが日々のデータをデータベースにため込んで1か月後にビジネスの成果レポートを作成し、経営会議で6か月前からの傾向を見ながら経営判断を下していくことが無くなるとは思いませんが、なにせ遅い。現在ではPCの画面や紙のレポートに出力していた経営分析の結果はCRMやCMSなどでデータは見える化していますし、定型的な分析であればBIツールを使ってエンドユーザー自身が行えます。また、リアルタイムに音声やモバイルに通知が来ますし相関や傾向から何かしらの可能性を提示するAIもあります。ディシジョンメイキングの種類によって現場でのディシジョンメイキング(Data-driven decision management)できることがあり、クラウドとAIを組み合わせることで6か月前からの傾向を見る必要のないディシジョンメイキングはそのメイキングプロセスを作ってしまうことでビジネススピードをあげることができるというお話でした。 では、そのプロセスはどのように作成していくか?というのが次のお話しになります。
  8. 【MS Graphと機械学習】では、Microsoft Graphの紹介とIntelligent cloud and Intelligent edgeのお話し、チャットボットなど機械学習のインターフェイスが用意されていることを紹介しました。Microsoft Graphの話は後ほどしますのでここは割愛します。 機械学習を例に現場でのディシジョンメイキングのプロセスの作成をお話しします。 インプットとアウトプットが変化することに対応するためにプロセッシングを完全に分離分割した場合、稼働レイヤーが異なるため必然的にマイクロサービスになります。マイクロサービスの特徴のひとつにシステム要件の変化に強く、アジャイル開発との相性が良いという特徴があります。これは永続化層でのステートの共有を行っておらず、ステートフルミドルウェアとして、マイクロサービス間でステートマシンを形成することによって実現できている特徴です。もちろんバーチャルアクターパターンで設計されている必要があるのですが、バーチャルアクターパターンのインプリメンテーションは多々あり、Azure FunctionsやGoogle Cloud Functions、AWS Step Functionsはそのインプリメンテーションの上で稼働するサーバーレスコンピューティングの実行環境です。 この実行環境を使うことでディシジョンメイキングのプロセスを作成することができます。 ディシジョンメイキングは経営層、意思決定層が長・短期の経営状況と市場などの現況を鑑みながら経営のある要素について決定することです。PCの画面や紙面のレポートでは、その決定に必要な要素を取りまとめる、集計する、時系列に並べる、掘り下げるといったことを決定の事前に用意する必要があり、マイクロサービスとしてそれらを実装、必要に応じてステートフルに組み合わせることで意思決定に必要な要素を必要になった時点で用意することができます。これは事前にプログラムしている必要のないプロセスであり、従来のシステムはその部分をプログラムしていました。
  9. これからのシステム開発はこちらが主流になっていくのだろうと感じています。
  10. 継続的配信、継続的統合はMicrosoft Azureがもっともシンプルに実現できると私は考えていますが、JenkinsやGitHub、Dockerもそれぞれ個別にCD/CI機能を拡張しています。 どのようなツールを使うにしても、重要なのはProject管理とソースのバージョン管理、デプロイとテスト、プロダクションリリースといった作業を同期させ、いかに次のイテレーションにつなげていくかがCD/CIの肝となります。次のイテレーションで重要なのは、機能拡張の計画や運用時のモニタリングやインサイト、利用のトラッキングなどによってシステムの挙動を修正することも含まれます。
  11. 例えばAzure DevOpsの場合、Visual Studioとの連携は、ローカルリポジトリからコミット、プッシュ、プルリクでMicrosoft Azure DevOpsのReposにリモートリポジトリとして同期され、PipelinesでBoardsのワークアイテムやTest Plansの各種試験とつなげることができます。これによってイテレーションに定義されたバックログのタスクやワークアイテムとバージョン管理されたソース、テストと配置が同期します。
  12. JenkinsとGitHubの連携では、Visual Studio - GitHubの流れからGitHubの更新を検知しJenkinsがGitHubに最新ソースを要求、取得後Build、セレニウムでテストしステージングWebにデプロイ、シナリオテストを行ってJIRAのタスクと連携した後にプロダクションWebに配信するといった流れや、Visual StudioからJenkinsのMS Build Plug-inで連携するといった流れを構築することができます。
  13. Dockerを使う場合、コンテナオーケストレーションツールを使うのが一般的ですので、KubernetesやAzure Kubernetes Serviceを使ったCD / CIやDocker HubとJenkinsを連携させる方法などが考えられます。また、プロジェクト管理との同期を考慮しAzure Kubernetes Serviceを使うのであればAzure DevOpsを使うのが有効ですし、別途JIRAなどでJenkinsを使ったプロジェクト管理との連携を構築することが重要です。オーケストレーションツールが操作するリポジトリのバージョン管理やタスクなどを
  14. 作図からコードを自動生成するジェネレーターは無いわけではありませんが、圧倒的に多いのがコードから作図するツールです。つまり、設計から実装、その後リリース時に設計文書の図を更新するというフローが最も自然なのかもしれません。しかし、それでもシーケンス図や相互作用外観図はプログラムのフローとステートマシンを表すものですのでこれを自動生成するのは困難なうえ、マイクロサービスやサーバーレスコンピューティングでインプリメンテーションしている場合はコードと設計書の同期は手作業になります。 その意味で、設計文書の作図はいかに簡単に描けるか?再利用可能な形式か?可搬性に優れているか?が重要と感じています。その結果、私はdraw.ioを使っています。
  15. Azure AntennaではVisual Studio、Docker for Windows、Git for Windowsを使った例を学習しました。Visual StudioのDockerサポート機能を利用する例です。
  16. Dockerはインストールして、ほぼ既定のまま使えますがSettingsのShared DrivesとNetworkは確認が必要です。Shared DrivesはCをチェックしておいてください。Visual StudioのDockerサポート機能を使う際に、DockerがCドライブにコンテナを作成できるようにしておきます。また私の場合、会社で使っていたのでNetworkをFixedにしていました。これはAutomaticが既定の設定になっています。
  17. Webアプリを作成する際にDockerサポートを有効にするためのチェックボックスが選べるのでチェックして作成します。作成したWebアプリのプロジェクトを右クリックして、[追加][コンテナオーケストレーターサポート]を選択し[Docker Compose]を選んで[OK]ボタンを選択するとOSを選択するダイアログが表示、続けて[OK]ボタンを選択すると処理が始まります。これは少し時間がかかるのでそのまま待ちます。最後に出力ペインに完了が表示されたら準備完了です。
  18. 出力ペインに完了が表示されたら、Docker Composeが追加されていることを確認し、Dockerfileの「EXPOSE」が80になっていることを確認します。 これによってローカルでDockerを使ったデバッグが可能になりました。初回は時間がかかりますが‘2’回目以降のデバッグはそれほど時間がかかりません。
  19. ローカルの環境が出来上がったので、ここでは、Azure DevOpsのBuild Pipelineの設定を例にAzure DevOps Pipelinesを使ったCD/CIをご紹介します。 Azure DevOps PipelinesはJenkinsのように、トリガーアダプターの役割を果たします。非常に多くのトリガーに対応することができるので、それらを組み合わせてCD/CIをくみ上げていきます。 図の例ではFTP Uploadを選ぶことも可能です。 つまり、CD/CIを実際に行われている組織などが、その作業を自動化するためのツールがAzure DevOpsだとも言うことができます。 Azure DevOps PipelinesはBuild PipelineとRelease Pipelineがあります。Release Pipelineには、Azureのあらゆる配置先が用意されており選択することができます。また、テストプランからタスクをインポートすることもできるので、Bordでのプロジェクトタスクの管理、テスト、リリースを同期させることが可能です。
  20. Build Pipelineはローカルリポジトリのビルドをトリガーにして、ビルド、プッシュ、ロック、ステージングディレクトリへのコピー、製品リリース(リリース判定前のもの)までを自動化する例を学習してきました。
  21. ソースを変更し、コミットしてプッシュをセンタくするとAzure DevOps側では新しいログが出力され、稼働中であるアイコンが表示されます。
  22. システムの継続的インテグレーションの最初につまずくのが認証と認可です。ソフトウェアを作って たとえば外部情報の活用では、FacebookなどのアイデンティティプロバイダーのAPIでSSOを行うことでサービスを提供する側はアカウントの管理から解放されます。また、Microsoft GraphによるOffice 365連携をすることでユーザーの既存資産を活用します。その他の外部Webサービスとのマッシュアップを利用するシーンも増えてきています。Microsoft Graphでスコープの制限を使った情報共有のユーザーごとの制御の必要のあった開発の経験がある方は?【会場に挙手を促す】【デモ】 ログイン時にアカウントをアイデンティティプロバイダーから選択できる画面の開発経験がある方は?【会場に挙手を促す】
  23. 分散型IDは現在スタンダードというわけではありません。様々な企業が分散型のIDをインプリメンテーションしていこうという目的でファウンデーションを作ったという状態です(2017/5/22に設立をアナウンス)。 右が参加している企業です。
  24. ブロックチェーンテクノロジのサイクルとしての視点ではBlockchainは幻滅期に差し掛かろうとしているとガートナーが提唱している。
  25. しかし、分散型IDのUniversal ResolverはBlockchainの有用なインプリメンテーションのひとつであるといえます。
  26. creation of identifiers, authentication, data encryption, and management of keys and permissions
  27. Decentralized Public Key Infrastructure (JSON :public key material)
  28. Decentralized Public Key Infrastructure (JSON :public key material)
  29. NeoGovern.DIDは分散型IDのモデルが入っている
  30. https://github.com/decentralized-identity/universal-resolver/