SHOEISHA iD

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

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2020関西】セッションレポート(PR)

クラウドネイティブで重要な4つの指標――AWSコンテナサービスで実現するアーキテクチャ【デブサミ2020関西】

【B-6】AWSコンテナサービスで実践するクラウドネイティブアーキテクチャ

  • このエントリーをはてなブックマークに追加

 クラウドネイティブとは、各種のクラウドサービスを利用して開発・構築された、クラウドでの運用を前提としたシステムのこと。近年、非常に注目を集めている概念だ。本セッションでは株式会社ゆめみの谷泰成氏が、クラウドネイティブにおいて大切にすべき4つの指標を紹介。そして谷氏の担当したプロジェクトにおいて、AWSのコンテナサービスであるAmazon ECSを活用して、どのようにクラウドネイティブなアーキテクチャを構築したのかも解説した。

  • このエントリーをはてなブックマークに追加

株式会社ゆめみ マーケティングソリューション事業部 システムアーキテクトチーム・SRE 谷泰成氏
株式会社ゆめみ マーケティングソリューション事業部 システムアーキテクトチーム・SRE 谷泰成氏

指標1. Always On

 谷氏がはじめに説明した指標は、Always Onだ。これは日本語で「常時稼働」を意味する概念である。Always Onを実現するうえで重要なのは、可用性と回復性を向上させることだ。クラウドプラットフォームの各種サービスは、これら両方の性質を兼ね備えているものが多い。そのため、なるべく少ない労力でAlways Onを実現するには、パブリッククラウドを適切に使いこなすことが肝要になる。

 谷氏が担当したプロジェクトでは、運用工数を下げつつシステムの可用性・信頼性を向上させるため、マネージドなコンテナサービスであるAmazon ECS(on Fargate)を活用した。各種APIを独立したコンテナとしてAmazon ECSにデプロイし、Amazon CloudWatch Eventsを用いて特定時刻にAmazon ECS上でコンテナを起動させることでバッチ処理も実現した。

 「コンテナは仮想マシンよりも起動が早いという特徴があります。そのため、Amazon ECSで実行されているアプリケーションの負荷が高くなったとしても、新しいコンテナをすぐに起動させて負荷の量をコントロールできる。さらに特定のコンテナが停止しても別のコンテナをすぐに立ち上げられるため、エンドユーザーへの障害影響を低減させられるのです」と、谷氏はコンテナ活用の意義について解説した。

指標2. Immutable Deployment

 次の指標はImmutable Deploymentだ。これは、稼働中のサーバと別の環境に新しいアプリケーションをデプロイして動作検証し、問題がなければ新環境に切り替えて旧環境を削除するデプロイ手法を指す。Immutable Deploymentを実現する手段としては、Blue/Green DeploymentやCanaryが有名だ。

 Blue/Green Deploymentは、アプリケーションの新・旧バージョンを並行稼働させて、無停止で新バージョンへとトラフィックを切り替えたり、何かの障害を検知したりした際には旧バージョンへとロールバックすることで、エンドユーザーへの影響を抑えるデプロイ手法だ。デプロイ管理に特化したサービスであるAWS CodeDeployにはBlue/Green Deploymentの機能がデフォルトで備わっている。

 Canaryは、Blue/Green Deploymentによって並行稼働した新・旧バージョンのアプリケーションのうち、一部のエンドユーザーにのみ新バージョンを使用してもらい、安全性が確認できてから全ユーザーに機能を開放する手法だ。

 AWS CodeDeployでBlue/Green DeploymentやCanaryなどを実施した場合にどのようなトラフィックの流れになるのか。そして自身の担当プロジェクトでImmutable Deploymentを実現するためにどのようなCI/CDパイプラインを構築したのかを、谷氏は説明していった。

Amazon ECSを用いて構築されたCI/CDパイプライン
Amazon ECSを用いて構築されたCI/CDパイプライン

次のページ
指標3. 自己修復的インフラストラクチャ

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

  • このエントリーをはてなブックマークに追加
【デブサミ2020関西】セッションレポート連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/12879 2020/10/13 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

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

メールバックナンバー

アクセスランキング

アクセスランキング