Twitter
Facebook
Hatena
IaCでビジネススピード向上~DevOps導入事例の紹介~

ソフトウェアの開発はかつてないほどのスピードが求められています。開発からデプロイ、モニタリングのフィードバック、それを次の開発へつなげるサイクルを短期間で回すことが求められ、さらにシステムの開発や運用におけるコスト削減も求められています。


これらを実現するための工夫について、IaCでビジネススピードを向上したDevOps事例をご紹介します。

クラウドファーストからクラウドスマートへ

2010年頃からクラウドの本格的な普及期に入り、2018年に政府から“クラウドサービスの利用を第一候補(デフォルト)とする「クラウド・バイ・デフォルト原則」が示されました。新型コロナウイルスの感染拡大の影響もあり、近年クラウドやDXが推進され、急激に普及しています。


2022年5月には、デジタル庁が「政府情報システムにおけるクラウドサービスの適切な利用に係る基本方針」の改定案を公表しました。まずはクラウドの利用を検討する「クラウドファースト」から、クラウドを賢く適切に利用する「クラウドスマート」という方針に変更されました。

デジタル庁「政府情報システムにおけるクラウドサービスの適切な利用に係る基本方針」の改定について(2022年5月24日)

開発サイクルの高速化には、DevOpsとIaC(Infrastructure as Code)が有効です。稼働中のシステムの改修や機能追加などは、稼働環境に影響を与えずにシステムを統合する必要があります。さらに、計画通りに稼働させるためには、運用を考慮して開発する必要があります。同様に、インフラの構築も、テストや環境の切り替え方法を含めて検討しなければなりません。


本コラムでは、IaCについて解説し、DevOps実現による開発サイクルの高速化の事例をご紹介します。

IaCとは

従来のインフラ構築は、物理的なサーバーを用意し、OSやミドルウェア、アプリケ―ションなどをインストールし、最適な環境を手作業で設定する必要があります。環境が変わる度に、手作業で環境設定を変更することになります。


しかし、インフラの環境設定をコードで記述できたら、コードを実行するだけで何度でも同じ環境を自動で作ることでき、コードを書き換えることで環境を変更することも可能です。インフラの構築をクラウド上でコードを用いて構築することを実現したのが、IaCです。

IaCのメリットの1つとして、テスト用の環境を容易に構築できることも挙げられます。クラウドの場合、利用料は使用した分だけ支払えばよいという従量性の課金なので、テスト期間のみ利用し、テストが完了したら利用を終了できますので、低コストで済みます。IaCの場合はクラウド上でコードを実行するだけで、テスト環境と同じものを本番環境に構築できます。さらに、テスト環境の再構築もコード実行だけなので、常時、テスト用の開発環境を保持し続ける必要がないというコスト面のメリットもあります。

また、IaCであれば環境構築が自動化され属人的ではない画一したものが作れるため、サービス品質が向上し均一化します。自動化でインフラ構築作業が軽減されますので、その時間を新たなDX創出に充てられます。

事例1:小売業のお客様

1つ目の事例はオンラインの通販サイトや店舗をお持ちの小売業のお客様です。オンプレミスでシステムを構築していましたが、機能追加を繰り返したことでシステムが複雑に絡み合ってしまい、メンテナンスが困難になっているという問題がありました。また、オンプレミスでも開発やテスト、デプロイの自動化は実現していましたが、インフラ側の複雑な要因があり、全てを自動化できてはいませんでした。


そこで、ハードウェアのサポート切れを契機にメンテナンス性を考慮してクラウドを検討し、AWSの導入を進めました。インフラ構築の全自動化を目指し、新しいIT基盤にIaCを適用、IaCのコードをGit(分散型バージョン管理システム)で履歴管理し、テストを完了した状態で本番環境に適用する仕組みを構築しました。その結果、各コードはレビューされ、テストまで自動化され、インフラ構築のヒューマンエラーがなくなりました。お客様は類似の環境をいくつかお持ちなので、それらを共通化することでインフラ管理の標準化も実現できました。

IaCによってインフラ構築が標準化され、全自動化できたことで、開発サイクルにおけるDevOpsを実現しました。以前は月に1、2回程度だった改修スピードは、現在は月に20回以上になることもあります。改修、改善が進み、管理業務の負荷は軽減され、考慮すべき課題も減少しました。導入から1年が経過しましたが、インフラ起因の障害は一度も起きていません。

事例2:製造業のお客様

2つ目の事例は、IoTを活用する施設管理のDX案件で、クラウドネイティブでシステム環境を構築するケースです。


オンプレミスのシステムはお持ちですが、半導体不足などの問題でサーバーが入手できず、新しくシステムを追加開発するには開始までに時間がかかるという状況でした。新たに、IoTを活用して施設管理をDXする取り組みを始めるにあたり、クラウドの導入でハードウェアの調達問題を解決し、インフラ構築のスピードアップを期待してIaCを使用しました。


IoTでデータを集める仕組みには、多種多様なサービスを用意しているAWSが向いています。この事例では、全てのシステムをAWSのマネージドサービスで構築しました。AWS LambdaやAmazon Aurora、AWS Fargateといったコンテナ基盤を使用することにより、コンテナのイメージを用意するだけで動作します。AWS CloudFormationやAWS CodeCommit、AWS CodeBuildといったDevOpsの開発ツールを使用し、開発からテスト、デプロイというサイクルを自動化しました。

インフラ構築にIaCを使用することで同一の環境を再現することが可能で、簡単に複製できるため、グローバル展開においても、別のリージョン(データセンターが存在する独立した地域)に同様のインフラ環境を容易に構築できました。保守性と運用性が向上することにより、コストの面でもメリットがありました。
全てをクラウドネイティブで構築し、IaC、DevOpsを実現することで、インフラ構築から運用保守まで開発サイクルがスピードアップしました。さらに、同一環境をグルーバルに転展開でき、ビジネススピードの向上につながっています。

まとめ

昨今、各社で取り組みが進められているDXは、開発サイクルなどのアジリティが大切です。IaCでDevOpsを実現することで、開発サイクルを回し、ビジネススピード向上を実現できます。まずは、最初から完成形を目指すのではなく、最小限のものをブラッシュアップしながら拡張し、きちんと運用して、安全にアップデートする開発サイクルを実現しましょう

富士ソフトはSIerとしてAWSなど様々な実績があります。お客様に合わせたソリューションをご提案し、お客様のビジネススピードの向上に貢献いたします。


ぜひ、富士ソフトにご相談ください。

   

この記事の執筆者

北村 明彦Akihiko Kitamura

ソリューション事業本部 インフラ事業部
インフラ推進部 プリセールス
エンジニアグループ
主任 / フェロー

AWS クラウド デジタルトランスフォーメーション