はじめに
今どき単純なLAMP的なシステムでもVPSで構築したり、AWSでロードバランシングしたり、サーバーレスにしたりすることも多い。
しかし共用レンタルサーバーをうまく使ったら省力化してだいたい要件満たせるんじゃね?と思うことがしばしばある。
そんなこんなで、難易度低くて軽量で構築が簡易なインフラを駆使してとにかく省力化したシステム構成を思いついたので紹介したい。
検証はまだしてない
追記:よく考えると技術的に20年ほど退化しただけの気もする。
サーバーの選定
旧来の共用レンタルサーバーを使う。VPSなどを使う場合に比べて、OSインストール、セキュリティ設定周りは大幅に簡易になる。
共用レンタルサーバーといえば、共用ゆえのリソースの不安定さ、リソースが固定であることなどがデメリットである。しかし最近はCloudLinuxを使用してユーザーごとにリソースが保証されたり、リソース増量が可能なサーバーも増えている。その場合クラウドサーバーやサーバーレス環境ほどのスケーリングはできないが、多少は負荷に応じたスケーリングは可能。
候補とするなら以下の3つかと思う。Python、Perl、PHPが使え、そこそこ有名所の運営でSSH接続可能なものを選んでいる。
もし利用者の増加にも対応するならConohaやロリポップ、リソース増量を考えなくてよいならさくらがよいかと思う。
Conoha
共用レンタルサーバーでは珍しく、プランのダウングレードにも対応しているので、システム利用者が増えた場合などでも対応がしやすい。
備考:このはたんかわいい
さくらのレンタルサーバ
実績やネット上の情報の量では申し分ない。プラン変更が不可能というデメリットがあるが、ユーザー増加を考える必要がない場合なら十分。
Coreserver(v2プラン)
SSH可、プランアップグレード可(ダウンは応相談)、Litespeedと一通りの機能は揃っていて、容量が300GBからと多め。月399円~
その他
プラン変更可能なJetboy、StarServerなどもありかとは思うが、運営元が小さい企業は少し不安がある。ある程度大企業のサービスを選んだ。
追記:starserverはSSHできないので操作がかなり面倒かも。ロリポップはSSH使えないプランもあるので除外した。
バックエンドの言語とライブラリ
PHP、Python、Perlなどの言語を想定。60代のエンジニアでも書けると思う。そもそも共用レンタルサーバーではGoやNodeJSなどは動かない。
共用レンタルサーバーでユーザーが独自にライブラリをインストール出来ないのでは?と思う人もいるかも知れないが、ライブラリをローカルディレクトリにインストールすれば問題ない。さすがに制限はいくらかあるが。
Laravelなど環境構築にDockerが使われることの多いモダンなフレームワークは少々向いていないかもしれない。
データベース
同時書き込みを想定しないのならSQLiteがよい。DBのユーザーが存在しないので、DB構築手の手間が大幅に削減できる。
同時書き込みに関してもたまにしか発生しないのであれば、書き込みのタイムアウトを伸ばせば多少なんとかなる。
同時読み出しはサーバースペックの限り可能。
DBのパフォーマンスは時と場合で変わるが、大規模データでも割とパフォーマンスは良いらしい。
同時書き込みもそれなりに発生するなら、共用レンタルサーバー付属のMySQLサーバーを使用することとなる。
フロントエンド
ここは特に考えていない。
一つ紹介したいCSSフレームワークがこちら
ソースコードが数KBでそれなりにきれいなデザインが作れる。学習コストも低い。
Github上でスター数がbootstrapの1/7程度もあるのがメリット。
さいごに
いかがでしたでしょうか
ITエンジニアが今より確保しにくい時代になったとき、多機能で複雑な環境ではなく、機能面は多少妥協して園児ニア経験の浅いエンジニアでも短期間でシステムを構築できるプラットフォームが需要あったりしないかな?と思う。
もちろん積極的に難しい技術に挑戦することは大事ではあるのだが。
需要ないだろうけど、この環境をサクッと開発環境作ってサクッとデプロイ出来るようなツール作りたい。
コメント