マイクロサービスとデータレイヤー:IDCの最新InfoBriefが示す4つの必須要件
マイクロサービスアーキテクチャが今日のアプリケーション開発の主流となっていることに、まだ疑問を抱いているなら、その疑いを捨てる時が来ました。Redisがスポンサーを務めるIDCの最新InfoBrief「The Impact of Application Modernization on the Data Layer(アプリケーションモダナイゼーションがデータレイヤーに与える影響)」によると、北米企業約300社を対象とした調査で、回答企業の89%がすでにマイクロサービスを利用しています。これは、IDCが2019年に予測した「2022年までに、すべての新規アプリケーションの90%がマイクロサービスアーキテクチャを採用する」という予測を裏付ける結果です。
顧客とビジネスの要求が高まり続ける中、高品質なアプリケーションやサービスをより迅速に開発・デプロイ・更新する必要性から、マイクロサービスの勢いは今や揺るぎないものとなっています。InfoBriefによると、「マイクロサービスアプリケーションはすでにビジネス上重要な役割を担っており、24%がミッションクリティカルであると特定されています」。例えば、マイクロサービスアプリケーションの半数近く(42%)では、ダウンタイムの発生が直接の売上損失につながります。
しかし、それでマイクロサービス革命が完了したわけではありません。むしろ、まだ始まったばかりです。IDCの調査によると、マイクロサービスを採用している企業でさえ、アプリケーションポートフォリオのうちモノリスからの移行を完了しているのはわずか17%にとどまります。InfoBriefの著者であるCarl W. Olofson氏とGary Chen氏は、この状況を簡潔にこう説明しています。「マイクロサービスベースのアプリケーションの開発はまだ初期段階にあるものの、今後の開発におけるその重要性は明らかである。」
詳しくは:電子書籍「Redis Microservices for Dummies」をご覧ください
データレイヤーがマイクロサービスアーキテクチャにもたらす複雑さ
では、マイクロサービスアーキテクチャの可能性を実現するには何が必要なのでしょうか。また、企業はマイクロサービスの採用にあたり、どのような課題に直面しているのでしょうか。マイクロサービスの導入は大きな複雑さをもたらす可能性があり、その傾向は特にデータレイヤーで顕著です。調査によると、エンタープライズのマイクロサービスアプリケーションの約半分(47%)がデータベースに依存している一方で、回答者の3分の1近く(31.5%)がデータベース管理を上位3つの課題の一つとして挙げています。著者らは「アプリケーションを分解すると、管理すべき論理コンポーネントの数が指数関数的に増加する」と指摘しています。
その結果、データがサイロ化し、より複雑でコストのかかるものになりがちです。このため多くの企業は、マイクロサービスのデプロイにはオーケストレーションが不可欠だと結論づけています。回答者の約3分の1が、管理コストの削減と運用効率の向上(35.6%)、および新しいモダンなクラウドネイティブ/マイクロサービスアプリケーションのサポート(33.2%)を、オーケストレーション導入の上位3つの推進要因として挙げたのも、決して偶然ではありません。
マイクロサービスアーキテクチャに適したデータベースの選び方
例えば、Eコマースソリューションでは、アプリケーションサーバー、コンテンツキャッシュ、セッションストア、商品カタログ、検索・ディスカバリー、注文処理、注文履行、分析など、多数のサービスが連携します。そして、下図に示すように、各サービスがそれぞれ独自のデータベースを持つケースが少なくありません。
では、適切なアーキテクチャを選択し、アプリケーションを構築するにはどうすればよいのでしょうか。どのような特性に注目すべきでしょうか。調査結果からは、押さえておくべき4つの重要な必須要件が浮かび上がります。順番に詳しく見ていきましょう。
1. パフォーマンスの重要性
IDCが指摘するように、「回答者の95%以上がデータベースの種類またはパフォーマンスを選定基準として重視しており」、調査回答者のほぼ半数(45%)がデータベース選定時にパフォーマンスを上位3つの要素(データベースの種類に次ぐ第2位)として挙げています。パフォーマンスがこれほど重視されるのは当然です。分散アーキテクチャのメリットを最大限に引き出すには、リアルタイム性能とスケーラビリティの両方が不可欠だからです。
4年連続で「最も愛されるデータベース」に選ばれているRedisは、サブミリ秒のパフォーマンスを提供することで広く知られています。Redis Enterpriseの低レイテンシデータベースなら、小さなフットプリントを維持しながらオンデマンドにスケールできるため、瞬時のユーザー体験やリアルタイム分析を実現できます。InfoBriefには、「データベースの動作方法とパフォーマンスが、マイクロサービスアプリケーション開発の成功を左右する極めて重要な要素であることを示している」と記載されています。
詳しくは:新しいホワイトペーパー「Latency Is the New Outage」をご覧ください
2. 常時可用性
IDCの調査によると、エンタープライズのマイクロサービスアプリケーションの約4分の1(24%)がすでにビジネスクリティカルな役割で使用されており、高い可用性が求められる状況です。より一般的には、「マイクロサービスアプリケーションの42%において、ダウンタイムの発生は組織に直接的な収益損失をもたらす」とInfoBriefは述べています。さらに、残りの58%のアプリケーションでも、ダウンタイムは生産性の低下につながります。
これは重大な潜在的リスクです。マイクロサービスアーキテクチャは多数の連携サービスで構成されますが、他の開発手法と同様に、厳しいパフォーマンスと信頼性の要求にさらされるからです。例えば、世界中のどこからでもデータが常に利用可能であることを保証すること自体が、大きな課題となります。アプリケーションを常に稼働状態に保つためには、あらゆるレベルで耐障害性を備えたデータベースが必要です。
詳しくは:Redis Enterpriseの高可用性技術が、稼働率99.99%(フォーナイン)を保証し、Active-Active地理分散デプロイでは99.999%(ファイブナイン)を実現する仕組みをご確認ください。
3. 複数のデータモデルを活用したモダンアプリケーションの構築
開発者はマイクロサービスアーキテクチャを活用して、より優れたアプリケーションを構築します。市場投入までの時間を短縮するうえで適切なデータモデルの選択は不可欠であり、さらに重要なのは、データアクセスパターンとパフォーマンス要件を最適化できる点です。そうすることで、各サービスは自身のデータモデルに特化して設計されたデータベースを利用できます。
マイクロサービスでは、キーバリュー、グラフ、JSON、時系列、検索エンジンなど、さまざまなデータモデルが採用され得ます。しかしInfoBriefが指摘するように、これは「多くのマイクロサービスがサービスごとにデータベースを使用する」ことを意味し、「データベースの数、データベースへアクセスするソフトウェアコンポーネントの数、そしてモダンなワークフローにデータベースを組み込む必要性が増大する」ことになります。前述のとおり、回答者の3分の1近く(32%)にとって、マイクロサービスアプリケーションにおけるデータベース管理が上位3つの課題となっているのは、まさにこのためです。
この複雑さを最小限に抑えるには、データベースが複数のデータモデルをサポートしていることが有効です。そうすれば、エンタープライズアーキテクトは、パフォーマンスを犠牲にしたり、複数の異なるデータベースを学習・保守したりすることなく、各サービスに最適なデータモデルを選択できます。その結果、運用が簡素化され、技術スタックの乱立も抑えられます。
詳しくは:ホワイトペーパー「Strategic Data Flexibility」をご覧ください
4. どこでもデプロイ可能
DBaaSが勢いを増す一方で、依然として大量のエンタープライズデータはオンプレミスに残っており、IDCの調査が示すように、多くの企業がマルチクラウドやハイブリッドインフラストラクチャを活用しています。マイクロサービス環境では、サイロ化やデータ損失なしにデータベースを運用できる柔軟性を得るために、データレイヤーを最適化する能力が求められます。
しかし、IDCの著者らが指摘するように、「多くのデータベースは、クラウドネイティブ向け、コンテナ互換、Kubernetesによるオーケストレーション対応として設計されていない」。例えば、単にデータベースをコンテナ内にパッケージングしただけでは、マイクロサービスアーキテクチャに適しているとは言えません。データベースは軽量であり、データ要件に応じて柔軟に調整できるものである必要があります。
企業には、オンプレミスでも任意のクラウドでも、マルチクラウドやハイブリッドクラウドアーキテクチャでも、コンテナでも、Kubernetes Podとしてでも、必要な場所であればどこでも実行できる、柔軟なデプロイモデルを備えたデータベースプラットフォームが必要です。
詳しくは:Redis Enterprise Softwareのデプロイオプションをご確認ください
Redis Enterpriseとマイクロサービス
レポートによると、マイクロサービスアーキテクチャの台頭は、これらのサービスを支えるデータレイヤーアーキテクチャに大きな影響を及ぼします。そのため、マイクロサービスアーキテクチャによるアプリケーション開発を目指す企業は、技術的な卓越性と目的への適合性に特別な注意を払うべきです。まさにそこで、Redis Enterpriseが真価を発揮します。
Redis Enterpriseは、マイクロサービススケールでのパフォーマンスを提供し、すべてのRedisデータ型とモジュールでサブミリ秒のレイテンシを実現するとともに、必要なほぼすべてのスループットへ即座に、かつ線形にスケールできます。耐障害性と回復力を考慮して設計されたRedis Enterpriseは、シェアードナッシング型クラスターアーキテクチャを採用し、プロセスレベル、個々のノード、さらにはインフラストラクチャのアベイラビリティゾーン間にわたる自動フェイルオーバーに加え、調整可能な永続性とディザスタリカバリを提供します。さらに、開発者がマイクロサービスアーキテクチャのデプロイメントに最適な、パフォーマンスとデータアクセス要件に合ったデータモデルを容易に選択できるよう支援しながら、統一された運用インターフェースを維持することで、技術スタックの乱立を防ぎ、運用を簡素化します。そして何より重要なのは、Redis Enterpriseがどこにでもデプロイできる点です。任意のクラウドプラットフォーム、オンプレミス、マルチクラウドまたはハイブリッドクラウドアーキテクチャのいずれにも対応します。
マイクロサービスデプロイメントにおけるデータレイヤーの重要性について詳しくは、IDC InfoBriefの全文「The Impact of Application Modernization on the Data Layer」をダウンロードしてください。また、以下のマイクロサービスアーキテクチャ関連リソースから、Redis Enterpriseがマイクロサービスデプロイメントに独自に適している理由について、さらなる洞察を得ることができます。
- Redis Enterprise for Microservices
- Redis Microservices for Dummies 電子書籍
- Latency Is the New Outage ホワイトペーパー
- Strategic Data Flexibility ホワイトペーパー
- Redis Enterprise Software デプロイオプション
- How Redis Simplifies Microservices Design Patterns — The New Stack ブログ記事
-
リアルタイムデータベースを使用した不正の検出と財務データの保護
リアルタイムデータプラットフォームを使用した金融詐欺との戦い 、金融詐欺の最新トレンド、企業が効果的に反撃する方法、およびRedisが企業がこれらの目標を達成するのをどのように支援しているかにスポットライトを当てた重要なホワイトペーパー。以下から無料でダウンロードしてください。 詐欺の蔓延は現実のものであり、金融機関はサイバー犯罪者の進行中の猛攻撃と変化する戦術に追いつくのに苦労しています。世界的な金融サービスの状況が進化するにつれて、詐欺師はデジタルバンキングの変革と並行して動き、顧客のIDを盗んだり偽造したり、詐欺を犯したりする革新的な方法を見つけています。 パンデミック以来、
-
DBAとデータアーキテクトの進化:データ革命時代に求められる新スキルセット
企業の顧客、従業員、パートナーが使いやすいシステムを通じてデータにスムーズにアクセスできるとき、その陰には2人のプロフェッショナルの存在があります。それがデータベース管理者(DBA)とデータアーキテクトです。数千人、さらには数百万人規模のユーザーに対して、堅牢に構築されたデータベースを安定かつ安全に稼働させ続けることは重大な責任であり、あらゆる業界の企業が、利用者のニーズに応えるデータネットワークの設計と監視をこの2つの役割に依存しています。ビジネス界におけるデータ需要が急増するにつれ、最新のデータベース技術に対応するために必要なスキルも拡大し続けています。以下のインフォグラフィックでは、これ