最近ヘッドレスCMSやヘッドレスコマースの名をちょくちょく目にするようになってきた。
聞けばAPIだけ提供してフロントは自由に作るというものだそうである。発想自体は割合昔からあったと思う。自分も数年前に考えたことがある。負荷をS3(とCloudFront)にオフロードすることでコスパ・速度・可用性の大幅な向上を見込めたからだ。だがSEOの観点から不利であったために、その際は断念せざるを得なかった。
しかし昨今はSPA的な作りにも検索エンジンが対応しつつあると聞く。そのあたりの要因があって、いよいよ実用的なレベルになってきたということなのだろう。
マイクロサービスを組み合わせる未来
ヘッドレス○○とは少し違うが、昨今はAuth0のようにユーザー認証というかなり基幹にあたるサービスであってもアウトソーシングができるようになってきている。汎用的な、どのサービスであっても使うような機能は、こうして専門の会社がAPIサービスを提供し、開発会社はそのAPIを使うだけの形が主流となっていくのかもしれない。企業の枠を飛び越えたマイクロサービス・システムだ。
いいことである。餅は餅屋である。あれもこれもやらなければならないエンジニアが作ったシステムが、専門チームがしっかり作り込んだシステムに太刀打ちするのは、なかなか難しい。費用やセキュリティの問題もあるのでケースバイケースではあろうが、全体として有望な選択肢が増えるのは良いことだろう。
狭く深い専門家か、それとも組み合わせの妙か
そう考えると、今後はオンラインサービスもレイヤごとに分業化が進むのかもしれない。下位問題を切り出した、部品として使えるサービスを提供する――それはとても汎用的であろうから、AWSやGoogle、Microsoftのような超大企業が好んで実装したがる分野だろう――者たちと、その部品を組み合わせた多彩な――つまり局所的でニッチな細かいサービスが増えるということだが――サービスを提供する者たちが住み分けるのではないだろうか。
そうなれば、かつての職人的なエンジニアが一品もののシステムを作っていた頃と比べて、必要な工数は削減され、より安く・より早く構築できるようになろう。これも素晴らしいことである。ただ一方で、どうやって組み合わせればよいかのノウハウは高度なものとなり、結局そこは専門家が出張らねばならなくなることが予想される。その理由により、エンジニアの仕事がゼロになるということはないだろう。
ただ、業態やスピード感はだいぶ変わることが予想される。昔のやりかたに固執せず、どんどん新しい技術にキャッチアップしていく姿勢が大事なのだろう――その傾向自体は、昔からずっと変わらないわけであるけれども。