SlideShare a Scribd company logo
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

PDF
AWSからのメール送信
PDF
20190806 AWS Black Belt Online Seminar AWS Glue
PDF
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
PDF
3分でわかるAzureでのService Principal
PPTX
Oracleからamazon auroraへの移行にむけて
PDF
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
PPTX
サポート エンジニアが語る、Microsoft Azure を支えるインフラの秘密
PDF
一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座
AWSからのメール送信
20190806 AWS Black Belt Online Seminar AWS Glue
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
3分でわかるAzureでのService Principal
Oracleからamazon auroraへの移行にむけて
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
サポート エンジニアが語る、Microsoft Azure を支えるインフラの秘密
一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座

What's hot (20)

PPTX
クラウドでも非機能要求グレードは必要だよね
PPTX
負荷分散だけじゃないELBのメリット
PDF
Microsoft Azure Storage 概要
PDF
AWS Black Belt Online Seminar AWS Direct Connect
PPTX
週末趣味のAWS Transit Gatewayでの経路制御
PDF
Microsoft Azure Overview - Japanses version
PPTX
SCUGJ第27回勉強会:ものすごくざっくりなAzure Filesの話
PDF
マルチテナント化で知っておきたいデータベースのこと
PDF
20190522 AWS Black Belt Online Seminar AWS Step Functions
PDF
Infrastructure as Code (IaC) 談義 2022
PDF
20200331 AWS Black Belt Online Seminar AWS Elemental MediaConvert
PDF
今こそ知りたい!Microsoft Azureの基礎
PDF
20180509 AWS Black Belt Online Seminar Amazon GuardDuty
PDF
俺のサイジング
PDF
20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...
PDF
AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)
PDF
[AKIBA.AWS] VGWのルーティング仕様
PPTX
Data Factory V2 新機能徹底活用入門
PDF
20190226 AWS Black Belt Online Seminar Amazon WorkSpaces
PDF
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
クラウドでも非機能要求グレードは必要だよね
負荷分散だけじゃないELBのメリット
Microsoft Azure Storage 概要
AWS Black Belt Online Seminar AWS Direct Connect
週末趣味のAWS Transit Gatewayでの経路制御
Microsoft Azure Overview - Japanses version
SCUGJ第27回勉強会:ものすごくざっくりなAzure Filesの話
マルチテナント化で知っておきたいデータベースのこと
20190522 AWS Black Belt Online Seminar AWS Step Functions
Infrastructure as Code (IaC) 談義 2022
20200331 AWS Black Belt Online Seminar AWS Elemental MediaConvert
今こそ知りたい!Microsoft Azureの基礎
20180509 AWS Black Belt Online Seminar Amazon GuardDuty
俺のサイジング
20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...
AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)
[AKIBA.AWS] VGWのルーティング仕様
Data Factory V2 新機能徹底活用入門
20190226 AWS Black Belt Online Seminar Amazon WorkSpaces
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Ad

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

PDF
開発サイクルを爆速にする!~ Azure DevOpsでアプリのビルド・デプロイを自動化 ~
PDF
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
PDF
Azure DevOps 関西 2019 - Overview
PDF
DevOps on Azure Kubernetes
PPTX
[2021年3月11日] エンタープライズ・インフラ構築・運用でもDevOpsを活用しよう(CloudNative Days Spring 2021 ON...
PDF
Azure DevOps - ALGYAN Oct 2022.pdf
PDF
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
PPTX
Azureで始めるDevOps
PDF
Changing Infrastructure operation by DevOps And Agile Development
PPTX
Azure AntennaでCD/CIを学んできた
PDF
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
PDF
作る人から作りながら運用する人になっていく
PDF
CI/CDパイプラインを定着させる闘い @九州インフラ交流勉強会(Kixs) Vol.006
PDF
de:code 2019 Cloud トラック 総まとめ!
PPTX
XPFes2023_DevOps business-briefing_Hasegawa
PPTX
PDF
Windows 開発者のための Dev&Ops on AWS
PDF
de:code 2019 Cloud トラック 総まとめ! 完全版
PPTX
今さら聞けない人のためのDevOps超入門
PDF
Dockerとdev ops
開発サイクルを爆速にする!~ Azure DevOpsでアプリのビルド・デプロイを自動化 ~
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
Azure DevOps 関西 2019 - Overview
DevOps on Azure Kubernetes
[2021年3月11日] エンタープライズ・インフラ構築・運用でもDevOpsを活用しよう(CloudNative Days Spring 2021 ON...
Azure DevOps - ALGYAN Oct 2022.pdf
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
Azureで始めるDevOps
Changing Infrastructure operation by DevOps And Agile Development
Azure AntennaでCD/CIを学んできた
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
作る人から作りながら運用する人になっていく
CI/CDパイプラインを定着させる闘い @九州インフラ交流勉強会(Kixs) Vol.006
de:code 2019 Cloud トラック 総まとめ!
XPFes2023_DevOps business-briefing_Hasegawa
Windows 開発者のための Dev&Ops on AWS
de:code 2019 Cloud トラック 総まとめ! 完全版
今さら聞けない人のためのDevOps超入門
Dockerとdev ops
Ad

More from Ryoma Nagata (14)

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

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 データ ファクトリ、機械学習を使用したデータ パイプラインの構築 補足