SlideShare a Scribd company logo
1 of 11
Download to read offline
Azure DevOpsを利用した
Azure SQL、Data Factoryの
CICDパイプライン
株式会社ジール
永田 亮磨
Twitter:@ryomaru0825
Linkedin:ryoma-nagata-0825
Qiita:qiita.com/ryoma-nagata
1. 本日のデモの構成要素の紹介
1. Azure DevOps
2. Azure における環境のコード化(IaC)
3. アプリ(SQL Project 、Data Factory)のCICD
2. デモ
AGENDA
• 開発(Dev)と運用(Ops)を各種のプラクティスで迅速に改善するカルチャー
DevOps とは何ですか?
• 継続的インテグレーション/継続的デプロイメント(CI/CD)
• バージョンコントロール
• アジャイル開発
• IaC(コードとしてのインフラストラクチャ)
• 構成管理
• 継続的モニタリング
• MSのDevOps転換話は面白い
• Microsoft の DevOps への道のり
• Microsoft がアジャイルの原則 をどのようにチームに適用したか
• 私の業務活用について
• すべてのPJでできているわけではない
• BI・DWH のDevOpsって難しい・・・
What’s DevOps
• Azure DevOps
• DevOpsに必要な機能が一通り提供されているSaaS(無償~)
• 今回の利用機能
• Azure Repos
• Git 環境を提供
• What is Azure Repos?
• Azure Pipelines
• Gitの変更などをトリガーにビルド・テスト、環境へのデプロイを自動化できる
• What is Azure Pipelines?
• 作成の基本
Azure DevOps
• Azureリソースは原則、ARM(Azure Resource Manager)テンプレー
トと呼ばれるjsonファイル形式に変換可能
• リソース名、各種プロパティなど
AzureにおけるIaC ARMテンプレート
Portalからのデプロイ
簡単だが繰り返し、移行は辛い
単一のリソース
設定内容
デプロイ
Azure Resource
Manager
{
”$schema": “https://schema.management.azure.comxxxx",
"contentVersion": "1.0.0.0",
"parameters": {
"resources": [
{
"type": "Microsoft.Network/networkSecurityGroups",
"apiVersion": "2020-04-01",
・・・
・・・
手動でARMテンプレート送信
ARMテンプレートをGit管理
環境構築をパイプライン化(再利用可能)
自動でARMテンプレート送信
ARMテンプレートによるデプロイ
環境をコード化して再利用・自動化可能。
ARM作成は少し大変。
Azure Resource
Manager
必要なリソース
設定のセット
• 作成方法
• VSCodeの拡張がおすすめ
• 既存リソースはAzure Portalからテンプレート
の出力が可能
※CICDにそのまま転用するのは厳しい。どん
な設定状況かの参考に利用する
• 単体テストキット
ARMテンプレートについて
• ARM テンプレートとは
• 基本構造(例:ストレージアカウント)
Parameters:リー
ジョンなどの引数
Variables:テンプ
レート内の変数
Resources:デプ
ロイするリソース
定義
outputs:デプロ
イリソースからの
返り値
• SQL DB
• コード化:Azure Data Studio or Visual studio)でSQL Databaseプロジェクトを作成
• 既存環境のスキーマ比較など可能
• ビルド:dacpacと呼ばれるDBオブジェクトの定義パッケージを生成
• デプロイ:Azure Pipelineには「 SqlAzureDacpacDeployment」というタスクがあ
り、Firewallも一時的にDevOpsを許可するなど便利
• 参考
• Visual Studio×DevOpsを利用したSQL DB CICDのチュートリアル
※VS2019対応のためVM imageをwindows-2019にすると吉
• 補足
• なぜかPipelineタスクでazuresubscriptionのパラメータは変数が使えなかった
• sqlprojをADSから普通に作成すると、sql2019,ManagedInstance用のものができるの
で、.sqlprojのDSPタグを変更しておく
• <DSP>Microsoft.Data.Tools.Schema.Sql.SqlAzureV12DatabaseSchemaProvider</DSP>
アプリ部分のCICDについて
• dacpac、bacpacについて
• Data Factory
• コード化:Git連携機能により、すべてのア
セットがjson化、保存される
• ビルド(publish):adf_publishブランチ
にARMテンプレートが生成される
• デプロイ:adf_publishのARMテンプレー
トを利用して別環境のADFにデプロイ
• 補足
• Linked ServiceはAzureKeyVaultで接続先を
secret化し、 ADF->AKVの向き先だけ変えれば
secret同じ、接続先変更が簡単
アプリ部分のCICDについて
• Azure Data Factory における継続的インテグレーションとデリバリー
デモ構成イメージ
開発環境 CI・CD 本番環境
ローカル開発
Azure上での開発
ARMテンプレート作成
ADFパイプライン開発
push
Save
/publish
DBプロジェクト開発
参照
適用
定義変更を適用
パイプラインを適用
+SalesOrderCount(table)
+SalesCountCopy(pipeline)
+SalesOrderCount(dataset)
環境デプロイ
Schema Compare
• ADFのSQLへの登録
• Azure SQL Server(Single DB or DW)内のADユーザ登録手順(Qiita)
• その他
• Github Repo
• 本日使用したCode(README未整備)
• Synapse Analytics(GA版)のIaC構築ハンズオン
• データ インジェスト パイプラインの DevOps
• その他のDeployAzureSample
• Azure DevOps Pipelines
• DevOps、Azure データ ファクトリ、機械学習を使用したデータ パイプラインの構築
補足

More Related Content

What's hot

最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~
最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~
最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~Hitachi, Ltd. OSS Solution Center.
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)Trainocate Japan, Ltd.
 
グラフデータベース Neptune 使ってみた
グラフデータベース Neptune 使ってみたグラフデータベース Neptune 使ってみた
グラフデータベース Neptune 使ってみたYoshiyasu SAEKI
 
Azure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure PipelinesAzure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure PipelinesKazushi Kamegawa
 
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon CognitoAmazon Web Services Japan
 
クラウドでも非機能要求グレードは必要だよね
クラウドでも非機能要求グレードは必要だよねクラウドでも非機能要求グレードは必要だよね
クラウドでも非機能要求グレードは必要だよねYoshioSawada
 
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with KarateTakanori Suzuki
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンKentaro Yoshida
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Takuro Sasaki
 
ちょっと明日のテストの話をしよう
ちょっと明日のテストの話をしようちょっと明日のテストの話をしよう
ちょっと明日のテストの話をしようYasuharu Nishi
 
現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせ現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせKuniteru Asami
 
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?naoki koyama
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Masahito Zembutsu
 
AWSで作る分析基盤
AWSで作る分析基盤AWSで作る分析基盤
AWSで作る分析基盤Yu Otsubo
 
今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified IDNaohiro Fujie
 
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?Kazumi IWANAGA
 
Azure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステストAzure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステストKuniteru Asami
 
Jenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーションJenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーションMasanori Satoh
 
高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマット高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマットAkihiro Suda
 

What's hot (20)

最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~
最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~
最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
 
グラフデータベース Neptune 使ってみた
グラフデータベース Neptune 使ってみたグラフデータベース Neptune 使ってみた
グラフデータベース Neptune 使ってみた
 
Azure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure PipelinesAzure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure Pipelines
 
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
 
クラウドでも非機能要求グレードは必要だよね
クラウドでも非機能要求グレードは必要だよねクラウドでも非機能要求グレードは必要だよね
クラウドでも非機能要求グレードは必要だよね
 
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発
 
ちょっと明日のテストの話をしよう
ちょっと明日のテストの話をしようちょっと明日のテストの話をしよう
ちょっと明日のテストの話をしよう
 
現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせ現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせ
 
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 
AWSで作る分析基盤
AWSで作る分析基盤AWSで作る分析基盤
AWSで作る分析基盤
 
今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID
 
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
 
Azure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステストAzure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステスト
 
Jenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーションJenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーション
 
高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマット高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマット
 

Similar to Azure DevOps CICD Azure SQL / Data Factory

AWS CloudFormationによるInfrastructure as Codeの実現
AWS CloudFormationによるInfrastructure as Codeの実現AWS CloudFormationによるInfrastructure as Codeの実現
AWS CloudFormationによるInfrastructure as Codeの実現HIRA
 
開発サイクルを爆速にする!~ Azure DevOpsでアプリのビルド・デプロイを自動化 ~
開発サイクルを爆速にする!~ Azure DevOpsでアプリのビルド・デプロイを自動化 ~開発サイクルを爆速にする!~ Azure DevOpsでアプリのビルド・デプロイを自動化 ~
開発サイクルを爆速にする!~ Azure DevOpsでアプリのビルド・デプロイを自動化 ~KojiKono1
 
Microsoft DevOps Hackathon (Sep 2015) Team 4 Presentation
Microsoft DevOps Hackathon (Sep 2015) Team 4 PresentationMicrosoft DevOps Hackathon (Sep 2015) Team 4 Presentation
Microsoft DevOps Hackathon (Sep 2015) Team 4 PresentationYuichiro Saito
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料Shinichiro Isago
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料guest628c07
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Etsuji Nakai
 
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?Akira Inoue
 
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果Hideaki Tokida
 
オンプレでもクラウドでも データベースサーバの運用
オンプレでもクラウドでも データベースサーバの運用オンプレでもクラウドでも データベースサーバの運用
オンプレでもクラウドでも データベースサーバの運用elanlilac
 
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践日本マイクロソフト株式会社
 
【de:code 2020】 GitHub と Azure Security Center による、アプリケーションのための Azure セキュリティ
【de:code 2020】 GitHub と Azure Security Center による、アプリケーションのための Azure セキュリティ【de:code 2020】 GitHub と Azure Security Center による、アプリケーションのための Azure セキュリティ
【de:code 2020】 GitHub と Azure Security Center による、アプリケーションのための Azure セキュリティ日本マイクロソフト株式会社
 
The seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurugThe seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurugSAKURUG co.
 
【de:code 2020】 今すぐはじめたい SQL Database のかしこい使い分け術 前編
【de:code 2020】 今すぐはじめたい SQL Database のかしこい使い分け術 前編【de:code 2020】 今すぐはじめたい SQL Database のかしこい使い分け術 前編
【de:code 2020】 今すぐはじめたい SQL Database のかしこい使い分け術 前編日本マイクロソフト株式会社
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築ryosuke matsumura
 
Circle of Code with Cloud Foundry
Circle of Code with Cloud FoundryCircle of Code with Cloud Foundry
Circle of Code with Cloud FoundryTomohiro Ichimura
 
Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版貴志 上坂
 
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所真吾 吉田
 
Microsoft AI Solution Update / DLL community Update
Microsoft AI Solution Update / DLL community UpdateMicrosoft AI Solution Update / DLL community Update
Microsoft AI Solution Update / DLL community UpdateHirono Jumpei
 

Similar to Azure DevOps CICD Azure SQL / Data Factory (20)

AWS CloudFormationによるInfrastructure as Codeの実現
AWS CloudFormationによるInfrastructure as Codeの実現AWS CloudFormationによるInfrastructure as Codeの実現
AWS CloudFormationによるInfrastructure as Codeの実現
 
開発サイクルを爆速にする!~ Azure DevOpsでアプリのビルド・デプロイを自動化 ~
開発サイクルを爆速にする!~ Azure DevOpsでアプリのビルド・デプロイを自動化 ~開発サイクルを爆速にする!~ Azure DevOpsでアプリのビルド・デプロイを自動化 ~
開発サイクルを爆速にする!~ Azure DevOpsでアプリのビルド・デプロイを自動化 ~
 
Microsoft DevOps Hackathon (Sep 2015) Team 4 Presentation
Microsoft DevOps Hackathon (Sep 2015) Team 4 PresentationMicrosoft DevOps Hackathon (Sep 2015) Team 4 Presentation
Microsoft DevOps Hackathon (Sep 2015) Team 4 Presentation
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
 
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
 
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
 
オンプレでもクラウドでも データベースサーバの運用
オンプレでもクラウドでも データベースサーバの運用オンプレでもクラウドでも データベースサーバの運用
オンプレでもクラウドでも データベースサーバの運用
 
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践
 
【de:code 2020】 GitHub と Azure Security Center による、アプリケーションのための Azure セキュリティ
【de:code 2020】 GitHub と Azure Security Center による、アプリケーションのための Azure セキュリティ【de:code 2020】 GitHub と Azure Security Center による、アプリケーションのための Azure セキュリティ
【de:code 2020】 GitHub と Azure Security Center による、アプリケーションのための Azure セキュリティ
 
Azure Arc 概要
Azure Arc 概要Azure Arc 概要
Azure Arc 概要
 
The seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurugThe seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurug
 
Oracle Database 12c Release 1 PSR 12.1.0.2 のご紹介
Oracle Database 12c Release 1 PSR 12.1.0.2 のご紹介Oracle Database 12c Release 1 PSR 12.1.0.2 のご紹介
Oracle Database 12c Release 1 PSR 12.1.0.2 のご紹介
 
【de:code 2020】 今すぐはじめたい SQL Database のかしこい使い分け術 前編
【de:code 2020】 今すぐはじめたい SQL Database のかしこい使い分け術 前編【de:code 2020】 今すぐはじめたい SQL Database のかしこい使い分け術 前編
【de:code 2020】 今すぐはじめたい SQL Database のかしこい使い分け術 前編
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築
 
Circle of Code with Cloud Foundry
Circle of Code with Cloud FoundryCircle of Code with Cloud Foundry
Circle of Code with Cloud Foundry
 
Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版
 
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
 
Microsoft AI Solution Update / DLL community Update
Microsoft AI Solution Update / DLL community UpdateMicrosoft AI Solution Update / DLL community Update
Microsoft AI Solution Update / DLL community Update
 

More from Ryoma Nagata

Synapse lakedatabase
Synapse lakedatabaseSynapse lakedatabase
Synapse lakedatabaseRyoma Nagata
 
Azure Purview Linage for Dataflow/Spark
Azure Purview Linage for Dataflow/SparkAzure Purview Linage for Dataflow/Spark
Azure Purview Linage for Dataflow/SparkRyoma Nagata
 
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現Ryoma Nagata
 
Delta Lake with Synapse dataflow
Delta Lake with Synapse dataflowDelta Lake with Synapse dataflow
Delta Lake with Synapse dataflowRyoma Nagata
 
Data platformdesign
Data platformdesignData platformdesign
Data platformdesignRyoma Nagata
 
Power Query Online
Power Query OnlinePower Query Online
Power Query OnlineRyoma Nagata
 
Paas_Security_Part1
Paas_Security_Part1Paas_Security_Part1
Paas_Security_Part1Ryoma Nagata
 
Databricks の始め方
Databricks の始め方Databricks の始め方
Databricks の始め方Ryoma Nagata
 
クラウドDWHにおける観点とAzure Synapse Analyticsの対応
クラウドDWHにおける観点とAzure Synapse Analyticsの対応クラウドDWHにおける観点とAzure Synapse Analyticsの対応
クラウドDWHにおける観点とAzure Synapse Analyticsの対応Ryoma Nagata
 
Ignite update databricks_stream_analytics
Ignite update databricks_stream_analyticsIgnite update databricks_stream_analytics
Ignite update databricks_stream_analyticsRyoma Nagata
 
BigData Architecture for Azure
BigData Architecture for AzureBigData Architecture for Azure
BigData Architecture for AzureRyoma Nagata
 
道徳経営実践講座
道徳経営実践講座道徳経営実践講座
道徳経営実践講座Ryoma Nagata
 
20190517 Spark+AI Summit2019最新レポート
20190517 Spark+AI Summit2019最新レポート20190517 Spark+AI Summit2019最新レポート
20190517 Spark+AI Summit2019最新レポートRyoma Nagata
 

More from Ryoma Nagata (14)

Synapse lakedatabase
Synapse lakedatabaseSynapse lakedatabase
Synapse lakedatabase
 
Azure Purview Linage for Dataflow/Spark
Azure Purview Linage for Dataflow/SparkAzure Purview Linage for Dataflow/Spark
Azure Purview Linage for Dataflow/Spark
 
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
 
Delta Lake with Synapse dataflow
Delta Lake with Synapse dataflowDelta Lake with Synapse dataflow
Delta Lake with Synapse dataflow
 
Data platformdesign
Data platformdesignData platformdesign
Data platformdesign
 
Power Query Online
Power Query OnlinePower Query Online
Power Query Online
 
Paas_Security_Part1
Paas_Security_Part1Paas_Security_Part1
Paas_Security_Part1
 
Databricks の始め方
Databricks の始め方Databricks の始め方
Databricks の始め方
 
クラウドDWHにおける観点とAzure Synapse Analyticsの対応
クラウドDWHにおける観点とAzure Synapse Analyticsの対応クラウドDWHにおける観点とAzure Synapse Analyticsの対応
クラウドDWHにおける観点とAzure Synapse Analyticsの対応
 
Ignite update databricks_stream_analytics
Ignite update databricks_stream_analyticsIgnite update databricks_stream_analytics
Ignite update databricks_stream_analytics
 
BigData Architecture for Azure
BigData Architecture for AzureBigData Architecture for Azure
BigData Architecture for Azure
 
道徳経営実践講座
道徳経営実践講座道徳経営実践講座
道徳経営実践講座
 
Delta lakesummary
Delta lakesummaryDelta lakesummary
Delta lakesummary
 
20190517 Spark+AI Summit2019最新レポート
20190517 Spark+AI Summit2019最新レポート20190517 Spark+AI Summit2019最新レポート
20190517 Spark+AI Summit2019最新レポート
 

Recently uploaded

論文紹介: 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
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
論文紹介: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
 
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 カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
論文紹介: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
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (12)

論文紹介: 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
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介: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...
 
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 カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介: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
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 

Azure DevOps CICD Azure SQL / Data Factory

  • 1. Azure DevOpsを利用した Azure SQL、Data Factoryの CICDパイプライン 株式会社ジール 永田 亮磨 Twitter:@ryomaru0825 Linkedin:ryoma-nagata-0825 Qiita:qiita.com/ryoma-nagata
  • 2. 1. 本日のデモの構成要素の紹介 1. Azure DevOps 2. Azure における環境のコード化(IaC) 3. アプリ(SQL Project 、Data Factory)のCICD 2. デモ AGENDA
  • 3. • 開発(Dev)と運用(Ops)を各種のプラクティスで迅速に改善するカルチャー DevOps とは何ですか? • 継続的インテグレーション/継続的デプロイメント(CI/CD) • バージョンコントロール • アジャイル開発 • IaC(コードとしてのインフラストラクチャ) • 構成管理 • 継続的モニタリング • MSのDevOps転換話は面白い • Microsoft の DevOps への道のり • Microsoft がアジャイルの原則 をどのようにチームに適用したか • 私の業務活用について • すべてのPJでできているわけではない • BI・DWH のDevOpsって難しい・・・ What’s DevOps
  • 4. • Azure DevOps • DevOpsに必要な機能が一通り提供されているSaaS(無償~) • 今回の利用機能 • Azure Repos • Git 環境を提供 • What is Azure Repos? • Azure Pipelines • Gitの変更などをトリガーにビルド・テスト、環境へのデプロイを自動化できる • What is Azure Pipelines? • 作成の基本 Azure DevOps
  • 5. • Azureリソースは原則、ARM(Azure Resource Manager)テンプレー トと呼ばれるjsonファイル形式に変換可能 • リソース名、各種プロパティなど AzureにおけるIaC ARMテンプレート Portalからのデプロイ 簡単だが繰り返し、移行は辛い 単一のリソース 設定内容 デプロイ Azure Resource Manager { ”$schema": “https://schema.management.azure.comxxxx", "contentVersion": "1.0.0.0", "parameters": { "resources": [ { "type": "Microsoft.Network/networkSecurityGroups", "apiVersion": "2020-04-01", ・・・ ・・・ 手動でARMテンプレート送信 ARMテンプレートをGit管理 環境構築をパイプライン化(再利用可能) 自動でARMテンプレート送信 ARMテンプレートによるデプロイ 環境をコード化して再利用・自動化可能。 ARM作成は少し大変。 Azure Resource Manager 必要なリソース 設定のセット
  • 6. • 作成方法 • VSCodeの拡張がおすすめ • 既存リソースはAzure Portalからテンプレート の出力が可能 ※CICDにそのまま転用するのは厳しい。どん な設定状況かの参考に利用する • 単体テストキット ARMテンプレートについて • ARM テンプレートとは • 基本構造(例:ストレージアカウント) Parameters:リー ジョンなどの引数 Variables:テンプ レート内の変数 Resources:デプ ロイするリソース 定義 outputs:デプロ イリソースからの 返り値
  • 7. • SQL DB • コード化:Azure Data Studio or Visual studio)でSQL Databaseプロジェクトを作成 • 既存環境のスキーマ比較など可能 • ビルド:dacpacと呼ばれるDBオブジェクトの定義パッケージを生成 • デプロイ:Azure Pipelineには「 SqlAzureDacpacDeployment」というタスクがあ り、Firewallも一時的にDevOpsを許可するなど便利 • 参考 • Visual Studio×DevOpsを利用したSQL DB CICDのチュートリアル ※VS2019対応のためVM imageをwindows-2019にすると吉 • 補足 • なぜかPipelineタスクでazuresubscriptionのパラメータは変数が使えなかった • sqlprojをADSから普通に作成すると、sql2019,ManagedInstance用のものができるの で、.sqlprojのDSPタグを変更しておく • <DSP>Microsoft.Data.Tools.Schema.Sql.SqlAzureV12DatabaseSchemaProvider</DSP> アプリ部分のCICDについて • dacpac、bacpacについて
  • 8. • Data Factory • コード化:Git連携機能により、すべてのア セットがjson化、保存される • ビルド(publish):adf_publishブランチ にARMテンプレートが生成される • デプロイ:adf_publishのARMテンプレー トを利用して別環境のADFにデプロイ • 補足 • Linked ServiceはAzureKeyVaultで接続先を secret化し、 ADF->AKVの向き先だけ変えれば secret同じ、接続先変更が簡単 アプリ部分のCICDについて • Azure Data Factory における継続的インテグレーションとデリバリー
  • 11. • ADFのSQLへの登録 • Azure SQL Server(Single DB or DW)内のADユーザ登録手順(Qiita) • その他 • Github Repo • 本日使用したCode(README未整備) • Synapse Analytics(GA版)のIaC構築ハンズオン • データ インジェスト パイプラインの DevOps • その他のDeployAzureSample • Azure DevOps Pipelines • DevOps、Azure データ ファクトリ、機械学習を使用したデータ パイプラインの構築 補足