SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

最新イベントはこちら!

Data Tech 2024

2024年11月21日(木)オンライン開催

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

EnterpriseZine(エンタープライズジン)

EnterpriseZine編集部が最旬ITトピックの深層に迫る。ここでしか読めない、エンタープライズITの最新トピックをお届けします。

『EnterpriseZine Press』

2024年秋号(EnterpriseZine Press 2024 Autumn)特集「生成AI時代に考える“真のDX人材育成”──『スキル策定』『実践』2つの観点で紐解く」

Dell EMC PaaSセミナー体験レポート(AD)

Pivotal Cloud FoundryでPaaSを体験! 構成管理なし・手ぶらでデプロイできる驚きの快適さにやはり感動

ハンズオン後編:アプリケーションのスケールアウトとブルーグリーンデプロイメント

 続いて、ハンズオンの後編である。ここでは最初に、アプリケーションのスケールアウトが、PWSではいかに簡単に実行できるかを体験した。2つ目のサンプルアプリケーションは、アクセスしたアプリケーションのインスタンス番号を表示するというものだ。このアプリケーションをプッシュした後、“cf scale”コマンドを実行して、アプリケーションのインスタンスを5つへ増やす。

$ cf scale appichigo02 -i 5

 appichigo02は、プッシュ時に参照される設定ファイル「manifest.yml」で指定した、このアプリケーションのホスト名である。“cf app”コマンドを使うと、PCFから稼働中のapp-ichigo-02アプリケーションに関する情報を取得し、インスタンスが5つに増えていることを確認できた。

$ cf app app-ichigo-02
Showing health and status for app app-ichigo-02 in org Org-Ichigo / space development as (PWSに登録したメールアドレス)...

name:              app-ichigo-02
requested state:   started
instances:         5/5
usage:             128M x 5 instances
routes:            appichigo02.cfapps.io
last uploaded:     Mon 08 May 16:22:37 JST 2017
stack:             cflinuxfs2
buildpack:         python 1.5.18

     state     since                  cpu    memory         disk           details
#0   running   2017-04-06T07:24:09Z   0.1%   8.2M of 128M   164.9M of 1G
#1   running   2017-04-06T07:29:43Z   0.2%   8.2M of 128M   164.9M of 1G
#2   running   2017-04-06T07:29:43Z   0.2%   8.3M of 128M   164.9M of 1G
#3   running   2017-04-06T07:29:43Z   0.2%   8.3M of 128M   164.9M of 1G
#4   running   2017-04-06T07:29:42Z   0.0%   8.2M of 128M   164.9M of 1G

 また、PCFでは特定のインスタンスへアクセスが集中しないように、5つのインスタンスの間でアクセスを振り分け、ロードバランスを自動的に効かせてくれる。実際に、セミナー会場のパソコンやスマートフォンでアプリケーションにアクセスしてみると、表示されるインスタンス番号が毎回異なった。アクセス先のインスタンスが振り分けられている証拠である。

図17:市古氏のスマートフォンでインスタンス番号を確認。このときには4番目のインスタンスにアクセスした
図17:市古のスマートフォンでインスタンス番号を確認。このときには4番目のインスタンスにアクセスした

 次に体験したのは「ブルーグリーンデプロイメント(Blue Green Deployment)」。ブルーグリーンデプロイメントとは、稼働中のアプリケーションに対してパッチの適用やアップグレード、古いバージョンへのロールバックを行う場合に、アプリケーションのダウンタイムを最小化するための手法。具体的には、現行バージョンと並行して、変更を加えたバージョンのアプリケーションをしばらく稼働させ、ユーザーに両者を区別なく利用してもらい、問題がないかどうかを確認する。変更を加えたバージョンでも問題のないことが明らかになったら、現行バージョンから変更を加えたバージョンへ切り替えるというものだ。

 次図は、このハンズオンで体験したブルーグリーンデプロイメントの流れである。

図18:ハンズオンで体験したブルーグリーンデプロイメントの流れ(出典:本セミナー資料)
図18:ハンズオンで体験したブルーグリーンデプロイメントの流れ(出典:本セミナー資料)

 xxx-blueが現行バージョン、xxx-greenが変更を加えたバージョンのアプリケーションで、アプリケーションにアクセスするURL(これをルートという)はxxx-pro.cfapps.ioである。xxx-temp.cfapps.ioで進めていたxxx-greenの開発が終わったので、これからブルーグリーンデプロイメントでxxx-greenの動作確認を行う(図のBeforeの状態)。そのため、xxx-pro.cfapps.ioでもxxx-greenにアクセスできるようにし、ユーザーにはxxx-blueとxxx-greenのどちらにアクセスしているか分からなくしてアプリケーションを利用してもらう(図のDuringの状態)。それで何も問題がなければxxx-greenへ移行して差し支えないと判断し、xxx-pro.cfapps.ioからxxx-blueへのルートを削除して、xxx-greenへの移行を完了させる(図のAftreの状態)。

 まず、上図のBeforeの状態を作る(①)。xxx-blueアプリケーションをxxx-pro.cfapps.ioというルートで、xxx-greenアプリケーションをxxx-temp.cfapps.ioというルートでプッシュした(市古はxxxをichigoとした)。次に、Durgingの状態を作るため、xxx-greenに、xxx-blueと同じxxx-pro.cfapps.ioというルートを付加する(②)。これは“cf map-route”コマンドを使って行う。最後にAfterの状態を作るため、“cf unmap-route”コマンドでxxx-blueへのルートと、xxx-greenへの元のルート(xxx-temp.cfapps.io)を削除する。

①Beforeの状態を作る。xxx-blueのコードはblueディレクトリ、xxx-greenのコードはgreenディレクトリに入っていた。
$ cd blue
$ cf push xxx-blue -n xxx-pro

$ cd ../green
$ cf push xxx-green -n xxx-temp

②Duringの状態を作る。
$ cf map-route xxx-green cfapps.io -n xxx-pro

③Afterの状態を作る。
$ cf unmap-route xxx-blue cfapps.io -n xxx-pro
$ cf unmap-route xxx-green cfapps.io -n xxx-temp

 なお、各状態で正しくアプリケーションが稼働し、ルートを追加、削除できたことを確認するため、折に触れて“cf apps”コマンドを用いた。

 また、「アプリケーションのスケールアウトと新バージョンへの移行って、実は面倒だったり、神経をすり減らしたりするんじゃなかったけっけ?」というのが、市古の偽らざる感想のようだ。ハードウェアからミドルウェア、ランタイムまでの管理や操作をクラウド側でやってくれることのありがたさ、便利さ。たった1つや2つのコマンドを発行するだけで、あとは「おまかせ」なのである。コンテナ技術のメリットを活かす面でも、PaaSは積極的にトライしてみる価値があるだろう。

 ここまでで当初予定のハンズオンは終了である。ただ、この日は時間が残ったということで、キーバリューストア「Redis」のサービスをアプリケーションに追加する作業まで行うことができた。最後に吉田氏は「PaaSはデジタル変革に最適なプラットフォームです。そしてPFCは実績豊富なエンタープライズPaaSです。今日のハンズオンで簡単に使えることがお分かりいただけたと思います。ぜひ今後活用してみてください」と述べ、セミナーを締めくくった。

【無料】PaaSハンズオンセミナーを受講してみませんか!

 本稿でレポートしているPaaSハンズオンセミナーは、どなたでも受講できます。受講は無料です。詳細やお申し込みは、こちらのWebサイトをご覧ください。

この記事は参考になりましたか?

  • Facebook
  • X
  • Pocket
  • note
この記事の著者

加山 恵美(カヤマ エミ)

EnterpriseZine/Security Online キュレーターフリーランスライター。茨城大学理学部卒。金融機関のシステム子会社でシステムエンジニアを経験した後にIT系のライターとして独立。エンジニア視点で記事を提供していきたい。EnterpriseZine/DB Online の取材・記事も担当しています。Webサイト:https://emiekayama.net

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/9243 2017/05/17 06:00

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング