Webサービスの新定番デプロイ自動化サービス クラウドインフラストラクチャで
リリース作業の高速化を実現する
デプロイ自動化

デプロイ自動化とは

デプロイ自動化

デプロイとは、Webアプリケーションなどのシステムを利用可能な状態にする事です。

今までのデプロイ作業においては、インストール/不要なサービスの停止、OSの設定、ミドルウェアの設定などを一台一台手作業で行っていました。
これらの作業を、設定ファイル一つ作っておく事で、自動実行する仕組みがデプロイ自動化です。

これにより、デプロイ作業を短縮させ、ヒューマンエラーを防ぐ事が可能となります。

autodeploy_iimage450S.jpg

デプロイ自動化手法

ブルーグリーンデプロイとは

ブルーグリーンデプロイとは、Webサービスやアプリケーションでのリリース作業において、サービス停止時間を限りなく0にできるデプロイです。
あらかじめAとBという2つの環境を用意し、はじめはAだけでサービスを提供しておき、アプリケーションのバージョンアップ等が発生した際に、新しいバージョンのアプリケーションをBに展開して切り替えを行うというものです。 弊社では、 ブルーグリーンデプロイをImmutable Infrastructureで実現しています。

blue_green_deploy_image550.png

ローリングデプロイ

WEBサーバのように複数台のサーバをロードバランスしている場合、一台づつロードバランサから切り離し アプリケーションのバージョンアップ等を実施して切り戻しを行います。 一時的に新旧の環境が混在する為、注意が必要です。

サービスを止める事が出来ない上に、常に高負荷のサービスのアプリケーションのバージョンアップをしたい場合、 ローリングデプロイであれば大幅な縮退を発生させずにサービスのバージョンアップが可能です。

rolling_deploy_image550.png

シンボリックリンクデプロイ

各サーバに新しいアプリケーションを配置して配置後、参照するアプリケーションのシンボリックリンクを書き換えて切り替える方式です。
サーバをこれ以上増やしたくない、かつ、低コストで自動化を実現したい場合にシンボリックリンクデプロイを選ぶ事が多いです。

symbolic_deploy_image550.png

デプロイ自動化ソリューション

AWS CodeDeploy

AWS CodeDeployとはAWSが提供するデプロイ自動化の仕組みです。サーバなど様々なコンピューティングサービスへのアプリケーションのデプロイを自動化するサービスです。 弊社では、 AWS CodeDeployを利用して、AWS環境構築の自動化を実現しています。


AWSCodeDeploy_image.png

Ansible

Ansibleはオープンソースの構成管理ツールです。
あらかじめ用意した設定ファイルを元に、OSの設定やソフトウェアのインストールを自動化することができます。
弊社では、Ansibleを使いサーバの設定の自動化を実現しています。

毎月数台のWEBサーバの構築が発生し、構築後の設定ミスやコンポーネントのインストールミスで、 障害対応に追われる事も多発するような場面で威力を発揮します。
Ansibleを使いOSの設定、ミドルウェアのインストール/設定、パッチの適用を自動化する事で、一台当たりの対応時間が1/16に短縮されただけでなく、設定ミスもなくなりました。 また、リリース後の脆弱性対応もAnsibleを使い全台への脆弱性対応を行う事で保守の作業時間の短縮にも貢献することが出来ます。

ansible_image300s.png

Terraform

Terraformとは、AWSやAzureなどのサービスプロバイダを利用する際、あらかじめ用意した設定ファイルを元に、 サーバの作成やサーバの設定を自動化します。
弊社では、Terraformを使いクラウド環境のサーバの作成やサーバの設定を自動化しています。

SaaSのサービスをエンドユーザに提供していたが、ユーザごとにクラウドの環境を用意していた為、申し込みが殺到すると構築が期間内に完了しない場面などで、 Terraformを使いSaaSサービスの構成作成を自動化が威力を発揮します。 合わせてAnsibleも利用し、構築時間の短縮を行い、もともと1日かかっていた作業が30分ほどで完了するようになりました。

Terraform_image300s.png

継続的インテグレーションのために

デプロイ自動化による競合優位

Webサービスやシステムは、構築して終わりではなく、運用しながら常にビジネスで競合優位に立てるよう、 サービスを止める時間を減らし、速やかに追加機能のリリースを実現するかの競争が始まっています。

当社では、オンプレやクラウドなど様々なプラットフォームでの自動化を実現し、サービスダウンタイムを極小化し、開発部隊のリリースサイクルを早め、 細やかに改善し続けるITシステム化の支援を行っています。

ITService_cloud_end_450S.jpg