1. システム内で、すべてのサーバの時刻を合わせる。
- 開発中やサービス開始直後は問題にならないがサービス開始後、安定稼働しているからといってサーバの時刻を合わせず 1年くらい放置しているとどんどん時刻がずれていく。結果、ログの時刻が合わなくなったりサーバ同士が同期しなくなったり影響が出てくる。
- みんな大好きアップルのタイムサーバを使わせてもらって、
ntpdate time.apple.com
などを cron ジョブでまわす。
2. 常にディスク容量をチェックする。
- これも、開発中やサービス開始直後は問題にならないがサービス開始後、安定稼働しているからといって 1年くらい放置しているとログがサーバ内のいっぱいになってサービスが停止してしまう。
- logrotate でログを切り詰める(これをやって注意しててもログでティスクが溢れることもあるので注意)。
- df コマンドで常に残りのディスク容量を監視する。
df -h
3. チーム内のメンバーで、開発環境のバージョンを合わせる。
- バージョンの管理には https://semver.org/ を使う
- OS(Linux のディストリビューションの種類とバージョン)
- プログラミング言語のバージョン(特に Python 系、2.7.x と 3.x 系とか)
- 使用しているフレームワークのバージョン
- VM のバージョン(Java VM のバージョンとか)
- できれば、開発チーム内で共通の Jenkins などを使って、成果物はテストや QA 環境を通してからリリースに持っていきたい。
4. SSL 証明書の有効期限を常にチェックする。
- SSL 証明書には期限がある。プロジェクトにもよるが、いや、プロジェクトやシステム、サービスのライフサイクルを考えると企業の場合は、SSL 証明書の有効期間が 1年や長くても 3年のものを購入していることであろう。購入した当時は、その 1年後、3年後の担当者がどうなっているかなんて考えていないことが多い。そして多くの場合は、当該担当者は配属換えになっていたり、会社を去っていたりす・・・ということが起こり得る。そんなわけで、SSL 証明書の有効期限はしっかりとチェックしておきたい。