デジタル庁のガバメントクラウドが地方自治体にあわず苦戦しているのだが、デジタル庁クラウドチームのコミュニケーション能力に問題がありそうなので指摘したい。
静的ページのクラウド化のテックブログを拝読していたのだが、つまらないが大事なことを書き忘れていて、業務にあった技術を選択するのではなく、流行の技術を推進しようとしているように思えてきた。
1. 運用体制の話がない
問題は以下の2本の記事なのだが、
想定するシチュエーションの節はあるのに、運用体制の話がない。
2. アピールしている内容は分かるが、評価不能
デジタル庁クラウドチームが言いたいのは、
- サーバーレスのクラウドに静的ページを並べておけば、最高のスケーラビリティと最速の表示速度が得られる
- GitHubを使って静的ページをつくる元になるコンテンツの管理をすれば、コンテンツを保存したサーバーや認証サーバーにセキュリティーホールが生じることが少ない
ことなのは分かるが、静的ページの作成体制が分からないと欠点が無いか検証できないので、よいソリューションなのか分からないのだよ。
3. こういう運用体制だよね?
中央官庁の静的ページ作成は、各部署から編集者に依頼を出し、編集者が作成を行っていて、各部署の官僚がちょいちょいとSNS感覚でページ更新することはない。だから、デジタル庁クラウドチームのソリューションは機能している。
こう推測したのは、コンテンツ管理システム(CMS)にDecap CMS(とGatsby)を、CMSで編集したデータの保存にGitHubを使い、GitHubアカウントで認証を行っているから。デジタル庁クラウドチームの静的ページ生成ソリューションでは、編集者に、GitHubにアカウントを作って、Decap CMSとGatsbyを端末にインストールし、同時に2つのサーバーを起動して、ブラウザーで編集してもらう必要がある。
Decap CMSとGatsbyが動いている編集用サーバーを用意することもできるが、「メンテナンス等のために人がログインすることはなくコンテンツ閲覧とGitHub以外はすべて閉じられています」とはならないから、この記述が正しければ編集用サーバーは存在しない。編集者の端末にソフトウェアがインストールされている。
4. 運用体制によってはベストとは限らない
この体制、旧態依然すぎではないかな?
現場の部署の複数人が編集可能なようにしておいた方が便利なことは多い。とくに、訂正は迅速かつ速やかに行いたい。
また、ローカルに変則的な挙動をするソフトウェアを入れてもらうのは骨が折れる。仕事でNode.jsとDecap CMSとGatsbyと後ろ2つの起動終了を行うQt/C++のGUIアプリを描いてNSISインストーラーを書けと言われたら書きますが、ウイルス対策ソフトやファイヤーウォールと何か起きそうで気が重い。この点を、デジタル庁クラウドチームはどう解決しているのであろうか?
役所の場合、ページ編集者に特別な研修の必要が出たりするのかも知れないが、これだけSNSが普及した世界である。
5. レガシー技術で間に合う負荷
トラフィックが膨大でそんなことを言っておられず…と言う話でも無い。想定トラフィックは「1日に10,000リクエスト」で、つまりピーク時間帯で2,000リクエスト/Hぐらいしかない。WordPressやJoomlaといった広く普及したCMSを、月額1000円未満の仮想サーバーで動かして間に合ってしまう。
プログラミング言語PHPで動かすWordPressやJoomla*1は応答がもっさりしているので…と思うだろうが、PHP 8.3は、評判を悪くした時期のPHP 5.3よりも2倍速くなったphp 7.xよりさらに2割速くなっている。また、静的ページだから、APCuを用いたページキャッシュでさらにスループットを稼げる。
動的生成とは言え、内容は静的なので、コンテンツ配信システム(CDN)を用いることもできる*2。この場合はHTMLファイルを並べておくのとパフォーマンスはほとんど変わらない。CDNを使うのであれば、Decap CMSのSGアーキテクチャの利点が霞む。私が把握できていない利点があるのか?
さらに、デジタル庁クラウドチームが推すモダンなクラウドに対応できる。AWS運用を考えて、コードはFargate、データベースはAurora、画像はS3(かEFS?)、セッション情報はElastiCacheとすると*3、静的ページほどではないがスケールするモダンなクラウドのCMSだ。CDNで足りてしまいそうで、スケールする意味があるのか謎ではあるが。
6. GitHubと言う単一障害点
余談なのだが、デジタル庁クラウドチームのソリューションは、GitHubが単一障害点になっている。ソースコードの分散データベースとして使う分には単一障害点にならないのだが(分散だけにローカルで仕事ができる)、クラウド上の静的ページの更新ができなくなる。GitHubの1時間未満の障害はここ1年間でも起きているし、2018年12月06日は6時間ぐらい接続不能になっていた。つまり、GitHubの障害で更新できないのに、クラウドが生きていて誤った情報が配信され続けるようなことが起きうる。
7. 利用者のことを考えないのはコミュ障なので
デジタル庁クラウドチームがNode.jsとGitHubが大好きなギークであることは分かる。官庁の運用体制と突然のアクセス数増加の可能性を考えると、ヘッドレスCMSとクラウドの組み合わせは、良いソリューションだ。ここ3年間の官公庁のウェブサイトの応答時間は素晴らしく*4、外的に観察される限りは上手くいっている。
しかし、ガバメントクラウドが地方自治体にあわないと言う問題、地方自治体の実態をよく調べないで施策の提案を行った感がある。静的ページサイトの件も運用体制の話がないところに、Node.jsとGitHubが好きだからと言う理由で考えた提案が上手くいっただけで、案件にあった技術提案をしていない可能性を感じるのだが、邪推しすぎであろうか?
*1国内ではそんなに人気ではないが、日本語化もされているし、高機能でカスタマイズしやすい。設置もWordPressと同程度の作業量で、困難ではない(Ubuntu Linux/Apache/PHP 8.3/PostgreSQL/Joomlaのインストール - 餡子付゛録゛)。
*2WordPressサイトにCDNを導入して高速化してみた【PageSpeed Insightsによる検証あり】 | 群馬県のWEB制作会社 the Quattro inc.
クラウドを使うことを前提にすると、無料枠があり、さらにサーバーのCPU時間を削減できるので、CDNを使う方が得になることが多い。
*3AWS厨ではないのでサービス選定が間違っているかも知れないが、モダンなAWSに設置できることは確かだAmazon EFS を利用した Amazon ECS on AWS Fargate での WordPress の実行 | Amazon Web Services ブログ
0 コメント:
コメントを投稿