WordPressを運用している人は、コンテナ技術を使うと幸せになれるかもしれない
WordPressでサイトやブログを運用している人多いですよね。
自分も数年前はWordPressで個人ブログを運用していて、最近までいくつかサイトを運用していました。
今回は、コンテナ技術を使うとWordPress運用が少し楽になる(かも)という話を書きたいと思います。
**WordPressのメリットと悩み
**
●メリット
WordPressを使うメリットとしては下記があると考えています。
A.カスタマイズ性が強く自由なデザインで構築できるB.豊富なプラグインで簡単に欲しい機能を実装できる
●悩み(デメリット)
逆にデメリットとしては下記があります。
自分も悩まされました。
C.メンテナンスが大変
これに尽きます。
もう少し深掘ります。
WordPressは使っているサイト・ブログが多いため(*)、攻撃の対象になりやすいです。
脆弱性が発見されて攻撃可能と分かれば、世界中のWordPressに同様の攻撃ができるので効率がいいわけです。
*参考:
脆弱性対応済みの新バージョンが出た場合に、WordPressのアップデートが必要になります。
結構頻繁にアップデートされます・・。
プラグインに脆弱性が見つかる場合も多くあり、こちらのアップデートも頻繁に必要になります。
このように、WordPress本体とプラグインのアップデートを頻繁に行う必要がありますが、アップデートをすると今まで動いていたプラグインが動かなくなったり、スタイルが崩れたり、様々な問題が発生します。
そのため、アップデートする前に事前にアップデートして問題ないかを確認する必要があり、これがかなりめんどくさい(*)です。
*本番環境(今動いているWordPress)と同じ環境(近い環境)を用意して、バージョンアップ → 確認をする必要があります。
煩雑なアップデートとその検証を、コンテナという技術を使うことで負担を軽減することができます。
コンテナを使う
Dockerというコンテナ型仮想化技術を使うと、上記デメリットを解消できます。
以下が従来の構成とコンテナの構成イメージです。
*簡略化しています
コンテナの場合は、Dockerというコンテナの上にアプリケーションが乗っかっています。
●従来の場合
従来は、LinuxなどのOS上にアプリケーション(WordPress、MySQL等)をインストールします。
この場合、同じ環境を別の環境(クラウド等)に作ろうとすると、各アプリケーションのバックアップをとって新環境にリストア。
みたいな感じになると思います。
もちろん新環境のOSも既存環境と同じようにインストールする必要があります。
●コンテナの場合
コンテナの場合、コンテナのイメージがあれば別環境でも同じように動かすことができます。
以下は異なるクラウドで同じ環境を作るイメージです。
コンテナのイメージ(APP1 , APP2)を取得し、別クラウドで展開します。
アプリケーションからOSが直接見えず、コンテナが抽象化しているため、別環境でもOSに依存することなく動作させることができます。
アップデート検証が確実&安価に行える
どこにでもコンテナを持っていけるため、本番と同じ環境を自分のPCに構築することも可能です。
(本番でコンテナイメージを取得しPC内で展開)
これにより、まずWordPressやプラグインのアップデートをPCで行い、各種検証をしてから本番環境をアップデートするような手順が可能になります。
本番と全く同じ環境での検証なので確実です。
自分のPCで検証すれば、余計なクラウド料金もかかりません。
すぐにロールバックできる
コンテナのイメージを定期的に取得していれば、動作しているコンテナに不具合やオペミス(DB間違って消しちゃったとか)した場合に、簡単に以前の状態に戻すことができます。
サーバ移行が簡単
コンテナイメージを取っていれば、別サーバ・別クラウドへの移行が簡単に行えます。
おわりに
コンテナでのWordPress運用は前述した通り様々なメリットがあります。
現在WordPressを運用していて同じような悩みを抱えている人は、コンテナ化も選択肢の1つとして入れると良いかと思います。
ただ、正しく構築・運用するためにはコンテナの知識が必要になるので、まずはネットや書籍などで調べてみてください。
近くに詳しい人がいれば、教えてもらったり、運用をお願いしてみても良いかもしれません。
参考になる記事・書籍
技術ブログはこちらで書いてます。