導入事例 CASE STUDY
2021/8/25 (Wed)
開発環境にDockerコンテナを活用し開発効率を大幅に向上
アジャイル開発
Docker
Dockerイメージ
コスト削減
コンテナ
工期短縮
事例概要
Dockerを活用し、環境構築の工数削減、製品を品質向上する開発効率のスピードアップを実現しました
お客様は、大手企業向け業務システムのアプリケーション製品を開発しております。
お客様は、さらなるビジネス拡大のため、進化するアプリケーション製品を安定的に提供し続ける開発手法を模索しておりました。
お客様のビジネス拡大を成功へ導くために、開発環境にDockerコンテナ活用し、プロジェクトの立ち上がりに掛かる環境構築の工数削減から、製品の品質改善する性能試験などの開発効率をスピードアップする基盤環境を作りました。
そして、Dockerを活用した開発効率のスピードアップは、お客様の進化するアプリケーション製品を安定的な提供に大きく寄与しました。
お客様は、さらなるビジネス拡大のため、進化するアプリケーション製品を安定的に提供し続ける開発手法を模索しておりました。
お客様のビジネス拡大を成功へ導くために、開発環境にDockerコンテナ活用し、プロジェクトの立ち上がりに掛かる環境構築の工数削減から、製品の品質改善する性能試験などの開発効率をスピードアップする基盤環境を作りました。
そして、Dockerを活用した開発効率のスピードアップは、お客様の進化するアプリケーション製品を安定的な提供に大きく寄与しました。
課題と効果
導入の決め手
Dockerを活用した開発効率化によるお客様の製品の品質向上が高く評価されました
Dockerを活用した、お客様の製品の品質向上と開発効率の大幅な向上の提案が、高く評価されました。
お客様の製品の品質向上と開発効率の大幅な向上を実現するため、大きく3つのポイントを対応しました。
一つ目のポイントは、 開発環境と本番環境の環境差異によるアプリケーションの動作不具合をなくすことです。 これは、Dockerイメージでそれぞれの環境に必要なソフトウェア設定を共通化することで、 環境差異による動作不具合をなくしました。これにより、環境差異の起因によるトラブルを回避できます。
二つ目のポイントは、 プロジェクトの立ち上がりに手間となる開発環境構築に掛かる工数を削減することです。 これは、Dockerで開発環境に必要なソフトウェアの設定を共通化し、それをまとめて管理します。 これにより、新しくジョインする開発者に必要なソフトウェアの設定を共通化した開発環境をそのまま提供することで、 環境構築が格段に早く簡単になり、開発環境構築に掛かる工数を削減できます。
三つ目のポイントは、品質向上を続けるアプリケーション製品の安定的な提供です。 これは、Dockerコンテナを使うことで、テスト環境を簡単に構築できます。 アジャイル開発のように何度も性能テストを繰り返しながら改善する開発では効果的です。 繰り返し性能改善のテストを実施できるということは、より良いアプリケーション製品の品質向上につながります。
お客様の製品の品質向上と開発効率の大幅な向上を実現するため、大きく3つのポイントを対応しました。
一つ目のポイントは、 開発環境と本番環境の環境差異によるアプリケーションの動作不具合をなくすことです。 これは、Dockerイメージでそれぞれの環境に必要なソフトウェア設定を共通化することで、 環境差異による動作不具合をなくしました。これにより、環境差異の起因によるトラブルを回避できます。
二つ目のポイントは、 プロジェクトの立ち上がりに手間となる開発環境構築に掛かる工数を削減することです。 これは、Dockerで開発環境に必要なソフトウェアの設定を共通化し、それをまとめて管理します。 これにより、新しくジョインする開発者に必要なソフトウェアの設定を共通化した開発環境をそのまま提供することで、 環境構築が格段に早く簡単になり、開発環境構築に掛かる工数を削減できます。
三つ目のポイントは、品質向上を続けるアプリケーション製品の安定的な提供です。 これは、Dockerコンテナを使うことで、テスト環境を簡単に構築できます。 アジャイル開発のように何度も性能テストを繰り返しながら改善する開発では効果的です。 繰り返し性能改善のテストを実施できるということは、より良いアプリケーション製品の品質向上につながります。
担当の想い
早く、簡単に、汎用的に、を目標に開発しました
Dockerで開発環境を用意する際に最も考慮したことは以下の2点です。
・開発者が簡単に構築/使用できること。
・さまざまなプロジェクトに適用できること。
開発者がDockerコマンドを知らなくてもシンプルな操作で使用できるように、 専用のコマンドを作成して複雑なDockerコマンドをラップしたり、複数のコマンドをまとめたりしました。
また、プロジェクトで頻繁に使用するミドルウェアなどをDockerイメージとして準備しておき、 プロジェクトに合わせて自由に組み合わせて使用できるようにしました。
最初の準備は大変でしたが、開発環境構築に掛ける工数を大幅に削減することができました。
また、2回目以降のプロジェクトからは、準備の工数も大幅に削減することができました。
今後もお客様のビジネスのスピードアップに貢献できるように努力していきます!
・開発者が簡単に構築/使用できること。
・さまざまなプロジェクトに適用できること。
開発者がDockerコマンドを知らなくてもシンプルな操作で使用できるように、 専用のコマンドを作成して複雑なDockerコマンドをラップしたり、複数のコマンドをまとめたりしました。
また、プロジェクトで頻繁に使用するミドルウェアなどをDockerイメージとして準備しておき、 プロジェクトに合わせて自由に組み合わせて使用できるようにしました。
最初の準備は大変でしたが、開発環境構築に掛ける工数を大幅に削減することができました。
また、2回目以降のプロジェクトからは、準備の工数も大幅に削減することができました。
今後もお客様のビジネスのスピードアップに貢献できるように努力していきます!