WebApplicationの構成と管理
はじめに
WebApplicationが動くまでの準備、周辺の環境構築から更新管理に対する新たな方向性について触れます
ブラウザで見られるために必要なもの
そのサーバーにブラウザでアクセスしサイトが表示されるということです。
この中で最低限役割を果たすファクタとして
HTML, JavaScript, CSS, 画像など
ブラウザにコンテンツを表示、見やすくレイアウトする
PHPなどのプログラム言語
ユーザーの情報や操作によって
更なる動的な処理をしたり操作をする
nginxなどウェブサーバー
ブラウザからのアクセスに対してコンテンツを表示するミドルウェア
php-fpmなどCGI
プログラムとウェブサーバーを繋ぐ中間的な役割を果たすモジュール群
その他 連携ソフトウェア
サーバーの監視するための窓口、などを付加的に導入。
それぞれがミドルウェアとして存在し、アプリケーションから間接的に呼び出して機能を実現しています。
インストールや更新の概要
「Ansible」はpythonで書かれています。
主に
・ウェブ環境としての最低限の構築
・それらを実現するためのライブラリのインストール
・運用時にあった方が良いツールなどを事前にインストール
・標準とする設定値の配布
・案件毎に異なる設定値などの自動更新
・その他アプリケーションとしての初期設定
などが包含されています。
メリットとして
・YAML記述のため複雑な知識は不要
・基本的にサーバーには最初からpythonが入ってるためデプロイ先での準備が不要
・複数同時にデプロイが簡単に実現
デメリットは
・独特な記法への慣れが必要
・セキュリティ的な課題(権限など)がある
・GUIがない
・Ansible自体からの外部連携(完了通知メール送信等)が簡単でない
などあります。
課題を解決するためのawx
“Ansible Tower”というのもあるのですが、こちらは有料なのと差異は少ないようなので“AWX”の導入に繋げられたらと思っています。
ダッシュボード
https://docs.ansible.com/ansible-tower/3.2.2/html_ja/userguide/main_menu.html
組織、チーム、ユーザーなどの権限
https://docs.ansible.com/ansible-tower/3.2.2/html_ja/userguide/organizations.html
豊富な対応クラウド
https://docs.ansible.com/ansible-tower/3.2.2/html_ja/userguide/credentials.html
デプロイ実行画面
https://docs.ansible.com/ansible-tower/3.2.2/html_ja/userguide/jobs.html
通知機能
https://docs.ansible.com/ansible-tower/3.2.2/html_ja/userguide/notifications.html
残念ながらChatWorkの標準サポートはありません
Author Profile
スターフィールド編集部
SHARE