書きたいことは山ほどあるが時間と能力には限りがある
見出しが全てですが、限られたリソースを使って執筆するため、予め執筆対象を決めておく必要があります。まずは書きたい事を目次形式で洗い出してみます。その後、優先順位を決めて、執筆を行います。電子書籍ですので、販売チャンネルを適切に選択すれば、リリース可能な最小単位で販売して、加筆したものを既存読者に無償配布する仕組みもあるはずでしょう。
今回は環境編の目次を作成しました。intra-martの環境構築はアプリケーション開発者にとってはハードルが高い作業のようです。私もプロジェクト着任時に開発環境を作成できるまでに数人日、運用環境のシステム構成の決定や自動構築スクリプトが完成するまでに数人月使いました1。また、後任者の引継ぎで一番苦労したのも環境構築についてでした。インフラ系技術者が揃っているチームならもう少しハードルは下がるかもしれません。
ともかくとして、自社開発するときのリソース状況から苦戦しやすいポイントと思われるので、環境についてだけで一章を割きます。書きたいと思っている内容は次の節です。
環境編目次
- 説明で使用する環境
- intra-martを使うための最小構成
- 仮想マシンを準備する
- JDKをインストールする
- Resinをインストールする
- PostgreSQLをインストールする
- WARファイルの作成とデプロイを行う
- テナントの作成と初期設定を行う
- IM-ContentsSearchとIM-BOX
- IM-ContentsSearchにはSolrが必要となる
- IM-BOXにはCassandraが必要となる
- 利便性と保守性のトレードオフを考える
- 他システムとの連携やセキュリティ
- DB連携にpostgreSQLのFDWを利用する
- ファイル共有にNFSを利用する
- ファイル共有にFTPを利用する
- メール送信にPOSTFIXを利用する
- サーバー監視にZabbixを利用する
- アクセス制限のためにFirewallの設定を行う
- ウィルス対策にClamAVを利用する
- バックアップとリストアの仕組み
- 静止点を作る意味を考える
- どこまでをバックアップの対象とするか
- リストア時の注意点
- 日次バックアップとコールドスタンバイ環境へのリストア
- 無停止バックアップは可能か
- 運用環境構築を行う
- システム構成を考える
- スクリプトを構造化する
- レプリケーション機能を利用して参照用DBを作成する
- 環境構築の自動化
- Ansible環境の構築
- 共通設定のPlaybook
- APサーバー用のPlaybook
- DBサーバー用のPlaybook
- 運用系のPlaybook
- 環境の移植性を高める
- コンテナイメージのレジストリを作成する
- APサーバーのコンテナイメージを作成する
- DBサーバーのコンテナイメージを作成する
-
私の技術力が低いと言われればそれまでのことですが… ↩