PHPでサーバー構成管理
してみました。
2020/01/18
NGK2020S 昼の部(LT大会)
自己紹介
株式会社シェルパ
https://www.cherpa.co.jp
とりあえずCTO
福岡 久長(フクオカ ヒサナガ)
なんとか設立から1年間生き延
びました。 Chef+Sherpa=Cherpa
開発・販売しているもの
•回転寿司、居酒屋、焼肉屋などで使用
するオーダーシステムがメイン
現在、国内外含めておおよそ400店舗に導入
(魚魚丸、がってん寿司や銚子丸など)
導入が増えるのは良いけれど・・・
増える管理するもの
これは間違いなく絶対に
管理が破綻する!!!
ヒィィ((ll゚゚Д゚゚ll))ィィ!!!
いずれ訪れる
破綻を防ぐために考えたこと
システムと納品先固有のデータ
やデザインなどは影響しあわな
いこと
1.
最初からアップデートが必要じゃない
もの作れないし、絶対に1つのソース
にするため
データベースの保守ツールは絶
対必要。そしてそれは管理しなく
ても管理されるものにする。
2.
自分は絶対、頻繁にミスするし抜け
まくる人間である
納品現場の機器の自動的な
情報収集
3.
まぁ、だいたい抜けたり当初
と違ってきたりしてくるよね。。。
ログの集約化と集中管理4.
先に問題やトラブルを感知し
てこっそり解決しておきたい。
最初の不安定な時期の情報
収集大事っす。
サーバーの構成や設定の自
動化
5.
今回の話
自動構成ツール使ってますか?
自動構成するために
バッチ書いてますか?
バッチの時に面倒なのは
設定ファイル
全部同じ構成で良いならば良いけれど
•納品先によって少し異なる設定
(DBなどから条件読み込みたい)
•CPUの数やメモリ容量
•連動する機器やシステム
•納品する国が違う
同じ設定ファイルを置換で済む
範囲で使いまわしできねー!!(# ゚Д゚)
名称の PHP は再帰的頭字語として、
"PHP: Hypertext Preprocessor" を意味
するとされており、「PHPはHTMLのプリプ
ロセッサである」とPHP自身を再帰的に説
明している。
PHPとは?
プログラム言語
元々、HTMLのプリプロセッサっぽく
作られた言語であり、HTMLだけじゃな
く全てのテキスト形式のファイルの
プリプロセッサとして親和性が高い。
Unix系OSの設定はだいたいテキスト
パスやサービス名、
オーナーやパーミ
ッションなどの情報
設定ファイルを記述する
ための情報をほげほげ
するプログラム
設定ファイルの記述
ただこれだと面倒なので、設定ファイ
ルphpを実行させるスクリプトが必要
だいたいの流れ
• パッケージ一覧からインストール/アップデート/アンインストールを判
断し実行(前処理/後処理もあり)
• 設定ファイルを出力するphpからパスやパーミッションなどのデータ
を読み出す。
• 設定ファイルを出力するphpを実行し、以前と比べ変化なければ何も
しない。変化があれば上書きし、サービス登録/削除 起動/再起動/
停止などを登録
• サービスの登録/削除 起動/再起動/停止を行う
• 大まかなチェックをして成否報告
PHPでサーバー自動構成してみて
•設定ファイルを主で複雑なことが出来て、
便利
•処理を書いても設定ファイルを主にしてい
るためにそこを見れば何をしているか?分
かるように自然になるために意外に保守し
やすい(複雑になったWebに使うより向いて
る?)
最後に
ご清聴ありがとうございました。
懇親会でまたサーバー管理やさまざま
な技術的なことを話し合いましょう

PHPでサーバー構成管理してみました。

Editor's Notes

  • #2 一人開発・運営で工夫していることは多すぎるので絞りました
  • #3 ・元々、販売しているシステムの名称 ・シェフ+シェルパ ・シェルパはヒマラヤで登山のサポートをする人 ・飲食店で働く人々をサポートするシステム
  • #5 各店舗にサーバーとタブレットを導入 様々な管理/監視しなければいけないものが増える