Power Unit Inc. | 想像力のない者に翼はない | Others
15671
page-template,page-template-full_width,page-template-full_width-php,page,page-id-15671,qode-quick-links-1.0,ajax_fade,page_not_loaded,,side_area_uncovered_from_content,columns-4,qode-theme-ver-13.5,qode-theme-bridge,wpb-js-composer js-comp-ver-5.4.5,vc_responsive
 

Others

Cloud is Best Solution of Mobile Backend System

「クラウド」とともに最新のITで最も重要なファクターは「モバイル」でしょう。最近ではパソコンからブラウザーでインターネットにつながるよりもお手軽に、モバイルデバイスにインストールしてあるアプリでアクセスすることが多くなっています。これを「モバイルファースト」と呼びます。モバイルを第一選択肢として考慮するという意味です。

それでは、あなたの手のひらにあるスマートフォンやタブレットにインストールしたアプリはインターネットを通してどこにつながっているのか?答えは、そう、クラウドです。ユーザーがアプリを操作してインターネットにアクセスすると、バックグラウンドで常時接続されたクラウドでメッセージが処理され応答が返ってきてユーザーが見ている画面に結果が表示されます。

この流れは、もともとコンシューマ向けのアプリが多かったのですが、最近ではモバイルデバイスを業務システムに組み込む例も増えてきました。

モバイルでは、ユーザーの使用感(ユーザービリティやユーザーエクスペリアンス)の向上が主な課題になります。また、異なるアーキテクチャーやプラットフォームのデバイスで動作するように実装・保守する必要もあります。

サーバー側はクラウドを用いることによって、アカウントの管理、データの保存機能、プッシュ通信などの機能をサービスとして利用できます。また、従来のオンプレミスな環境では、あらかじめトラフィック量を予測するのが難しく、製品のライフサイクルの出だしで急にアクセスが増えたり、ライフサイクルの終盤で減ってきても柔軟にバックエンドシステムを再構築することが難しいのです。クラウドでは、ユーザーからのアクセス量に応じて簡単に自動でスケーリングできるように設定できます。

このようにクラウドとモバイルはとても相性がいいのです。

Disaster Recovery is not Disaster NOW

ディザスタリカバリ(Disaster Recovery)とは、事業継続マネジメントにおける概念のひとつで、災害などによる被害からの回復措置、あるいは被害を最小限に抑えるための予防措置のことです。ここで、事業継続マネジメント(BCM: Business Continuity Management)とは、リスクマネジメントの一種であり、企業がリスク発生時にいかに事業の継続を図り、取引先に対するサービスの提供の欠落を最小限にするかを目的とする経営手段です。

ディザスタリカバリでいう災害の範囲は厳密なものではなく、火災などの小規模なものから風水害、地震などの自然災害や不正侵入、テロなどの人為的なものなど比較的大きなものまで原因、規模にかかわらず広範囲です。

従来のシステムでも、大企業の基幹業務システムでは、ハードウェアが故障した時に備え、データベース、サーバー、ネットワークを二重化(クラスター構成)にするのが一般的でした。ディザスタリカバリでは、さらに踏み込んで、地震などの天災でシステム全体がダウンした時に、遠隔地に待機しているシステムに自動的に処理を引き継ぐ機能などが求められます。

こうしたシステムは、オンプレミスではデータセンターを関東と関西に配置するなど、大企業の基幹システムならまだしも中小企業では到底無理な要求でした。しかし、AWSのようなクラウドでは、本稼働のマスター・データーベースと待機中のスレーブ・データーベースを異なるリージョン(例えば日本とシンガポール)に簡単に配置できます。さらに、データーベースにアクセスするアプリケーションサーバ(ミドルウェア)層も自動的にスケーリングするクラスター構成にできます。

クラウドではディザスタリカバリは開発者にとってすでに「災害」ではありません。

災害などが発生しシステムが停止してから、サービスが復旧までに要する時間です。これが短ければ短いほどシステムの停止が業務の与える影響を最小化できます。目標復旧時間とも言います。クラウドを活用すれば、数分レベルまで短縮できるでしょう。

災害が発生した時にシステムを復旧する際に、ある時点までさかのぼってデータを復旧しますが、その時点をリカバリーポイントと言います。この時間が短ければ短いほど、システムの障害で失われるデータが少なくて済みます。リカバリポイント目標とも言います。

例えば、毎日バックアップを取っているシステムであれば「システム障害時の前日までのデータがリカバリー可能」になります。基幹業務システムでは、銀行のオンライントランザクション・システムのようにシステム障害時のデーター損失が許されないものもあります。それには膨大なコストがかかるのは想像できるでしょう。しかし、クラウドを使えば、完全ではありませんが、最小限の損失でシステムを復旧することは比較的容易です。

高可用性と耐障害性を兼ね備えたシステムの構成例

初めて見るとちょっとびっくりするかもしれませんが、中央の5つの要素に注目してください。一番下の2つがデーターベースで左側 “RDS instance” が本番環境用のマスター・データーベースです。右側 “StanbyDB instance” は、マスター側が障害を起こした時に処理を引き継ぐスレーブ・データーベースです。2つのデータベースの間にある “Replication” というのは、データベースの内容が同期していることを表します。

これらの上にある “Web/App Servers” がアプリケーションサーバです。左上に緑の十字架のような印がありますが、これらは、複数のインスタンス(アプリケーションサーバー)がオートスケールすることを意味しています。さらに、左側と右側のオレンジ色の囲みにある左側 “Availability Zone 1” と右側 “Availability Zone 2” というのは、例えば、東京のデータセンターとシンガポールのデータセンターに配置されていることを表します。最後に、アプリケーションサーバーは上の “Elastic Load Balancing” でアプリケーションサーバーの負荷に応じて処理を分散しています。

このような構成を採用すると、これまで大企業でしか無理だった冗長性があり障害に耐えいち早く復旧するシステムが比較的容易に安価に構築することができるのです。