コンテンツに移動
Google Cloud

チュートリアル公開 : App Engine と ButterCMS によるウェブサイトの構築

2017年9月28日
Google Cloud Japan Team

コンテンツ管理を別のチーム(大抵はマーケティング チーム)が担当するウェブサイトの構築に携わった経験はおありでしょうか? これまで、こうしたサイトの構築には 2 つの方法が使われてきましたが、どちらもあまり効果的ではありませんでした。

1 つは、任意の CMS(コンテンツ管理システム)とその複雑なプラグインを使ってウェブサイトを構築する方法です。このアプローチには 2 つのシステムを保守する羽目になるという問題があります。それは CMS と、メイン ウェブサイトの開発に使ったウェブ フレームワークです。

一方、任意の CMS には問題があることを見越して、自前で開発した CMS を使う方法もあります。しかし、この方法にも問題があるのは明らかです。忍者のスキルを駆使して、成熟した CMS の機能を迅速に再現しても、ウェブサイト用のシステムと CMS システムの両方を運用することになるからです。

こうしたジレンマを回避するには “ヘッドレス CMS” が役に立ちます。ヘッドレス CMS を使用すれば、シンプルな API 呼び出しを使ってコンテンツを取り出し、既存のスタイル資産を利用して、そのコンテンツをウェブサイトに簡単に統合できます。これに対して従来の CMS では、テンプレートとプラグインに頼ってウェブページを組み立てなければなりません。

コンテンツをウェブサイトから分離することで、マーケティング チームによるコンテンツの更新のたびに、ウェブ開発者がテンプレートを変更してサイトを再デプロイする必要はなくなります。

Google App Engine は、このヘッドレス アプローチを見事に補完します。どのモダン ウェブ フレームワークで作成されたアプリケーションも簡単にデプロイでき、スケーリングも自動的に行われるからです。App Engine のおかげで、ウェブ開発者はインフラストラクチャ管理を気にせずにコード作成に集中できます。コンテンツが人気を呼んでアクセスが急増しても、サイトが自動的にスケーリングされ、エンドユーザーにコンテンツを快適に楽しんでいただけます。

SaaS(Software as a Service)として提供される ButterCMS( “Butter” )は、このような方法でウェブサイトの構築をサポートする優れたヘッドレス CMS です。人気の高いウェブ フレームワークに対応したクライアント ライブラリや REST API、コンテンツ エディタ用の使いやすい UI を提供します。

Butter のソフトウェア エンジニアである Brandon Nicoll 氏は、最近公開されたステップバイステップ ガイドの中で、Node.js を使ってサンプル オンライン ストア用のコンテンツを作成、管理、統合するとともに、App Engine にデプロイしてスケーリングする方法を説明してくれました。

このチュートリアルは、オンライン ストア用コンテンツを Butter で管理し、後で Butter API を使って取り出す方法を解説しています。効果的なプラクティスとして、Butter との通信の実装の詳細を別のコンテンツ サービスにカプセル化する手法も取り上げています。ウェブサイトはこのコンテンツ サービスとやり取りすることで、コンテンツを取り出し、レンダリングします。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image-08097.max-1200x1200.png
この設計により、システムの拡張性と保守性が向上します。たとえば、このコンテンツ サービスに変更を加えるだけで、別のソースからのコンテンツを組み合わせたり、Butter を他のシステムに全面的に切り替えたりできます。サンプルのウェブサイトとコンテンツ サービスは、いずれも App Engine にデプロイされます。

これは、既存のウェブ開発スキルをどのように活用するかを示す洗練されたソリューションです。サービス指向の複雑かつコンテンツ リッチなウェブサイトを迅速に構築することを通じて、ウェブ開発者の同僚にも刺激を与えることでしょう。

また、マーケティング担当の同僚は、機能豊富なコンテンツ管理ポータルを利用できるようになり、ウェブサイトが人気を集めたら自動スケーリングの恩恵を受けられます。

では、充実した開発者ライフを!

* この投稿は米国時間 9 月 11 日、Google Cloud Platform の Solutions Architect である Sujoy Gupta によって投稿されたもの(投稿はこちら)の抄訳です。

- By Sujoy Gupta, Solutions Architect, Google Cloud Platform

投稿先