CI/CD の推進について ~ Azure Data Factory ~
こんにちは。 Azure Cloud Solution Architect の秋山です。 今回は推進している CI/CD の取り組みについて、 Azure Data Factory(以下、ADF) を取り上げて紹介します。 ADF そのものの紹介については今回は触れません。少し古いですが以前ハンズオンしたときの記事がありますので、参考にしてください。 Azure Data Factory 入門ハンズオンの資料を公開します
なぜ CI/CD を推進しているのか
みなさんは時間を持て余してますか? 私はいつももっと欲しいと思うことが多いです。 もし時間が袋詰めで売ってたら買いたいくらいです。
そんな有限で平等なリソースである時間を有効活用するためにも、 CI/CD の推進は重要です。
開発/検証/本番環境の3環境があるプロジェクトにおいて、開発環境より後述の環境に対しては、開発環境と同じ成果物を自動的にデプロイしたい、というニーズがあります。 その背景は、開発環境で修正したバグが検証/本番環境で発生してしまうといったつまらない問題を回避したい、というものです。 もしも人が3環境を手動でデプロイしていると、こういったつまらない問題がかなりの頻度で発生してしまいます。 人はミスをする生き物なので、避けがたい問題に時間を費やすのではなく、価値を生み出すことに時間を割きたいものです。
Azure Data Factory の CI/CD 構築例
構成イメージとしては以下のとおりです。
- 開発者は開発環境の ADF の開発ポータルを操作して開発します
- 開発者は開発の区切りで publish を行います
- publish を行うと、 ARM Template が Azure Repos に Commit されます
- Commit によって Azure Pipelines がトリガーされると、ARM Template を使って検証/本番環境の ADF にリソースをデプロイします
- 開発者は環境差異を ARM Template Parameter で管理して適宜更新します
参考: https://docs.microsoft.com/ja-jp/azure/data-factory/continuous-integration-deployment
まとめ
今回はデータ分析基盤を作る際に ETL として利用する Azure Data Factory についての CI/CD について紹介しました。 Colorkrew では CI/CD ひいては DevOps の取り組みを推進しています。
データ分析基盤の構築支援についてご興味がある方がある方は以下からお問い合わせください。 データ分析基盤構築支援 | くらまね