DX station

Sitecore をコンテナで導入するメリット

human03

神村

皆さま、はじめまして。神村です。

本ブログでは、コンテナってなんだっけ?や、Sitecore をコンテナで導入するメリットなどを、なるべくわかりやすく、読者の方へお伝えできればと思います。



導入からデジタルマーケティングのコンサルティングまでご支援 - Sitecore on Cloud 詳細はこちら


Sitecore のコンテナ対応

弊社がパートナーとしてお客様の Sitecore 導入プロジェクトのご支援を始めたのが、サイトコア社が日本法人を設立した2010年ごろなのですが、この時の Sitecore のデプロイはオンプレミスのサーバーや仮想マシンの Windows Server へ Sitecore のソフトウェアを直接インストールする方式でした。

その後2016年に Sitecore 8.2.1で Microsoft Azure PaaS への導入オプションが追加されました。
PaaS はインストールするサーバーの準備が不要になるため、サイトコア社が提供する Sitecore のプログラム群を、Azureの Web Apps(Web アプリケーションを公開するサービス)へ直接配置するだけで、Sitecore を動かすことができます。PaaS への対応によって、よりスピーディーに Sitecore の構築が行えるようになりました。

そして、2020年、Sitecore 10.0ではPaaSだけではなく、コンテナにも対応するようになりました。
PaaS 対応でスピーディーに Sitecore を構築できるようになっているにもかかわらず、サイトコア社が Sitecore をコンテナに対応させた理由は何でしょうか。

導入からデジタルマーケティングのコンサルティングまでご支援 - Sitecore on Cloud 詳細はこちら


コンテナとは

サイトコア社が Sitecore をコンテナに対応させた理由を理解する上で、コンテナとは何かを簡単に知っていた方がよいので、ざっくりとご説明します。

コンテナは仮想化技術の一つです。仮想マシン(IaaS)と Web App(PaaS)の中間にあたるもので、以下のイメージです。クラウドベンダが提供するコンテナのサービスは Container as a Service(CaaS)と呼んだりもします。

コンテナのイメージ図

コンテナはアプリケーションの動作に必要なプログラムやミドルウェアを一つのコンテナイメージとして作っておき、コンテナイメージからコンテナの実体を展開して実行します。特定のイメージから展開するので、開発環境や検証環境、本番環境など、さまざまな環境で、まったく同じコンテナを動作させることが可能です。

コンテナの展開図
導入からデジタルマーケティングのコンサルティングまでご支援 - Sitecore on Cloud 詳細はこちら


サイトコア社が Sitecore をコンテナに対応させた理由

サイトコア社は、顧客が Sitecore を活用してビジネスを加速、拡大していけるように、製品バージョンアップの都度、マーケティング機能を強化してきました。目的は、Sitecore を通じて「顧客の顧客」へよりよいユーザー体験を提供できるようにするためです。
顧客へより満足度の高いユーザー体験を届けるためには、日々の Web サイトへの訪問やコンバージョンの分析、マーケティング施策の PDCA を回していくことが重要です。そのためには Sitecore を活用するマーケティング部門と Sitecore の開発者が協働しやすいシステム基盤が求められます。

コンテナで構築した Sitecore であれば、開発者がコンテナイメージを作成する手間は増えますが、テストとリリースがシンプルになり、より短いリリースサイクルで安定したアプリケーションを本番環境へ展開できるようになります。
このようなメリットがサイトコア社のコンテナ対応実施の理由です。

導入からデジタルマーケティングのコンサルティングまでご支援 - Sitecore on Cloud 詳細はこちら


Sitecore をコンテナで導入するメリット

前述したとおり、特定のコンテナイメージから、さまざまな環境で同一のコンテナを起動できるというのが一番のメリットとなります。

Sitecore の開発は多くの場合、開発環境として開発者のローカル PC を利用し、検証環境と本番環境は別途インストールした Windows Server や Azure の Web Apps を利用します。そのため、実行環境の差異に伴う問題が発生する場合があります。コンテナだと、そのような問題を回避することができるのです。

他にもコンテナで導入すると以下のようなメリットがあります。

  • サーバーリソースの有効活用
    Sitecore は常に進化し、さまざまな機能が追加されています。機能の追加に伴い Sitecore を構成するロール(アプリケーション)が増加しています。IaaS や PaaS だと一つ一つのロールを実行するために専用のサーバーリソースを持つ必要があり、そのロールが使われていない状態でもリソースを維持するためのコストが発生します。Azure であればランニングコストです。
    コンテナの場合、コンテナエンジンを実行する一つのクラスタの中で各ロールを動作させることができるため、サーバーリソースの有効活用が見込めます。

    サーバーリソースの有効活用

  • 自動スケール
    サーバーリソースを有効活用できたとしても、それぞれのロールの負荷があがったときに、別のロールへ影響を出してしまうのはNGです。本番環境では意図せずトラフィックが増加してロールの負荷高騰が発生するケースがありますので、そのような時にそなえて自動スケールの構成(※)をとっておくことも可能です。
    ※CPU使用率が〇〇%を超えたらコンテナのインスタンスを増やして負荷分散する等

    自動スケール

  • 障害時の対応スピード改善
    コンテナイメージがあれば、ローカル PC でもサーバー環境でも、すぐに同じコンテナを起動することができます。本番環境で何らかの障害があって、本番運用中であるがゆえに再現確認が難しい場合でも、コンテナイメージを使えばすぐに準本番環境を構築することができます。

本ブログではここまでの紹介とします。他にもメリットがあれば知りたい、デメリットはないの?などは、ぜひ弊社までご相談いただければと思います。

導入からデジタルマーケティングのコンサルティングまでご支援 - Sitecore on Cloud 詳細はこちら


次回予告

今回は「Sitecore をコンテナで導入するメリット」をお届けしました。
次回は、実際にローカル PC で Sitecore のコンテナを起動する方法や、Azure(AKS:Azure Kubernetes Service)へコンテナをデプロイする方法などをご紹介したいと思います。

お問い合わせはこちら

関連ページ

導入からデジタルマーケティングのコンサルティングまでご支援 - Sitecore on Cloud


お問い合わせ

製品・サービスに関するお問い合わせはお気軽にご相談ください。

ピックアップ

セミナー情報
クラウドエンジニアブログ
clouXion
メールマガジン登録