DATA-4-7

クライテリア

実験時の環境を実サービス環境に向けてポータブルにするためのコンテナ化やIaC(Infrastructure as Code)が存在しない。 

タイプ

データ処理パイプライン

観点

アンチパターン

FAQ

Q.本件のポイントはなんですか?

データサイエンティストや機械学習エンジニアの作成したモデル構築や実験結果を効率よく本番のサービスに再現性高く活用することが目的です。コンテナやIaCを活用することで、実サービス環境への導入を効率化したり再現性の高い高品質なデータ活用のサービス構築ができるようになります。

用語解説

コンテナ

実行環境を他のプロセスから隔離し、その中でアプリを動作させる仮想化技術です。

IaC(Infrastructure as Code)

ITインフラ(プロセス、ベアメタルサーバー、仮想サーバーなど)の構成管理・機械処理可能な定義ファイルの設定をコードを使って管理し、プロビジョニング・自動化するプロセスです。

参考資料

データはどう管理するべきなのか with Docker - Qiita
※ これは、 Docker による開発をまとめた記事 の続きです。 上記記事の中で、 周辺システム疑似インテグレーションテスト を試みているという話をした。 これは、開発するアプリケーションの依存する周辺サービス・ミドルウェアをモック化 & コンテナ化し、開発段階から擬似的にインテグレーションテストを行いながら進めてくというやり方。 ※ Service2 を動かすには、Database と Task2 と Message Queue が必要なので、これをモック化 コンテナ化するということは、 Immutable であるということであり、それはすなわち 起動する度に真っさらになる ということである。 アプリケーションを Stateless にするのは利点が多いが、それは State を一元管理する Node がシステムの何処かにいることと表裏であり、それは 一般的にはデータベースが担う 。 それでは、データベースを Immutable にしつつ Stateful にすることができるのか。 の前に、Docker で管理するのはアプリケーションだけで、ストレージは他の建て方でも良いんじゃないか、という考えもある。 社内イントラ RDS, Cloud SQL 等クラウドサービス ホストマシン上 VirtualBox , Hyper-V