Redis
 Computer >> コンピューター >  >> プログラミング >> Redis

DevOpsチームがRedis Enterpriseを選ぶ5つの理由

DevOpsチームがRedis Enterpriseを選ぶ5つの理由

多くの企業において、DevOpsチームはデジタルトランスフォーメーション(DX)推進の先頭に立っています。この変革の旅は、デジタル経済の潜在力を引き出し、ワンクリックで競合に乗り換えられる顧客に対応するための、アプリケーションとインフラのモダナイゼーションから始まることが多いものです。アプリケーションのパフォーマンスがわずか数秒遅れるだけでも、カスタマーエクスペリエンスに大きな悪影響を及ぼし、最終的にはビジネスの成功を左右しかねません。例えば、Gapのアプリが瞬時に読み込まれなかったり、在庫情報が数秒以内に更新されなかったりすれば、多くの買い物客は迷わず他店でチノーパンを購入してしまうでしょう。つまり、リアルタイム性能への消費者の要求に応えるには、アプリケーションのデータ処理が十分に高速である必要があるのです。

Allied Market Researchのレポートによると、グローバルNoSQLデータベース市場は2026年までに220億8000万ドルに達すると予測されています。非構造化データの増加、リアルタイムデータ分析への需要、そして世界中でのアプリケーション開発活動の活発化がその主な牽引要因です。従来のリレーショナルデータベースは往々にして速度が遅く、今日のウェブスケールの要求に到底追いつけません。これらは単一ノードでの垂直スケーリングを前提として設計されたものであり、一方で現代の分散型非リレーショナルNoSQLデータベースは、当初からマルチノード・水平スケーリングを想定して設計されており、企業により高いアジリティをもたらします。

DevOpsにおけるデータベース要件

NoSQLデータベースは、開発者や運用チームの柔軟なデータ保存・操作ニーズに理想的に適合します。DevOpsは、従来サイロ化していた開発部門、運用部門、品質保証部門を統合するという企業ITのビジョンを掲げています。各コンポーネント間のコミュニケーションと協業を重視し、DevOpsチームは開発、品質テスト、本番環境への展開を自動化・統合することで、タイム・トゥ・マーケットの短縮を目指しています。

DevOpsチームは、アプリケーションコードと同じようにデータベースをデプロイ・管理しようと努めます。データベースへの変更も、アプリケーションコードと同様のシームレスで堅牢かつ信頼性の高い手法によって、管理・テスト・自動化・改善される「もう一つのコードデプロイ」として扱われるのです。データベースは今やCI/CD(継続的インテグレーション/継続的デリバリー)パイプラインの一部となっています。DevOpsパイプラインにデータベースが含まれていなければ、新機能の提供を遅らせるボトルネックになってしまいます。実際、DevOpsチームは開発パイプラインだけでなく、リリースパイプライン全体にもデータベースを組み込んでいます。

将来を見据えたDevOpsチームは、データ層を含むアプリケーション設計において、以下のような重要な要件を満たそうとします。

  • 運用の柔軟性(クラウド、オンプレミス、ハイブリッド環境で実行可能)
  • 運用のシンプルさ
  • 真の高可用性と耐障害性
  • 無制限のスケーラビリティと高性能
  • プラットフォーム非依存
  • 読み書きともに低レイテンシを実現するグローバル分散
  • 低いTCO(総所有コスト)

Redisは、導入の容易さと卓越した高パフォーマンスなどの利点により、人気のデータベース選択肢となっています。ほとんどのリアルタイムデータは、その驚異的に低いレイテンシ(1ミリ秒未満)ゆえに、最終的にRedisに集まります。最高性能のNoSQLデータベースであるRedisは、他のNoSQLデータベースと比較して最大8倍のスループットと最大80%低いレイテンシを実現します。また、控えめなスペックのクラウドインスタンス1台でも、サブミリ秒のレイテンシで毎秒150万オペレーションというベンチマーク結果を記録しています。Datadogの2020年Container Reportでは、RedisはKubernetes StatefulSetsで最も人気のあるコンテナイメージでした。

Redisは、デプロイの容易さ、コアおよび補助技術に対する厳密なユニットテスト・機能テスト、DockerやAnsible、Puppetといったツールによる自動化の手軽さから、DevOpsモデルに非常に適合しています。Redis Enterpriseは、オープンソースRedisと完全な互換性を持つ、エンタープライズグレードの分散型インメモリNoSQLデータベースサーバーです。Redis EnterpriseはオープンソースRedisを拡張し、安定した高パフォーマンス、ダウンタイムゼロのリニアスケーリング、高可用性を提供します。管理の手間とオーバーヘッドを抑えながら、DevOpsチームの目標達成を支援する唯一無二のポジションを確立しています。

DevOpsチームがRedis Enterpriseを選ぶ5つの理由

DevOpsチームがRedis Enterpriseを選ぶ理由

それでは、DevOpsチームはRedis Enterpriseに何を求めているのでしょうか。ここでは最も重要な5つの機能を紹介します。

  1. ファイブナイン(99.999%)の稼働率
  2. 柔軟なデプロイオプション
  3. 事実上無限のリニアスケーラビリティと高パフォーマンス
  4. グローバル分散(Active-Active地理分散)
  5. マルチテナントアーキテクチャ

1. ファイブナイン(99.999%)の稼働率

高可用性は多くのDevOpsチームにとって聖杯であり、アプリケーションを稼働し続けるために膨大な時間とコストを費やすことが少なくありません。しかし、データベース障害からの迅速な復旧に失敗すれば、データ損失や数百万件規模のオペレーション喪失につながりかねません。Redis Enterpriseは、ディスクレスレプリケーション、瞬時の障害検知、ラック・ゾーン・地理をまたぐ一桁秒のフェイルオーバーにより、DevOpsチームにとって完全に透過的な中断のない高可用性を提供します。さらに、クラスタへの新規ノード追加、ソフトウェアアップグレード、リバランシング、データの再シャーディングといったクラスタ変更操作中でも、高スループットと低レイテンシを維持します。

このユニークな高可用性技術の組み合わせにより、99.99%(フォーナイン)の稼働率が保証され、グローバルに分散されたデータベースのActive-Activeデプロイメントでは99.999%(ファイブナイン)の稼働率が実現されます。Active-Active地理分散により、複数の地理的ロケーションにまたがる同一データセットに対して、読み取りと書き込みを同時に実行できます。学術的に実証済みのCRDT(Conflict-free Replicated Data Types:衝突のないレプリケートされたデータ型)技術を用いて、アプリケーション側のRedis利用方法を一切変えることなく、競合する書き込みを自動的に解決します。これにより、地理分散アプリケーション向けの災害対策アーキテクチャが実現しつつ、ローカルレベルの低レイテンシも提供されます。

2. 柔軟なデプロイオプション

DevOpsチームがRedis Enterpriseを選ぶ5つの理由

現在のテクノロジー環境において、プラットフォームの選択肢の多さは驚くほどです。すべての選択肢を調査する時間は事実上ないため、企業は必ずしも最適なツールでなくても、慣れ親しんだプラットフォームを使い続ける傾向があります。DevOpsを成功させることの一環は、組織の環境やプロセスの特性に応じて最適なプラットフォームを選択することです。だからこそ、Redis EnterpriseはDevOpsに対してプラットフォーム非依存の姿勢を取っています。

Redis Enterpriseソフトウェアは、Amazon AWS Marketplace、Google Cloud Marketplace、Microsoft Azure Marketplaceでワンクリックデプロイの手軽さとともに提供されています。Linux/RHEL/CentOS OSをサポートする任意の仮想マシン/ベアメタル構成にもデプロイ可能です。専用設計のRedis Enterprise Kubernetes Operatorと組み合わせることで、Infrastructure-as-Code(IaC)を活用した数分でのクラスタ・データベースの宣言的デプロイ、アップグレードや復旧を含む自動化されたクラスタライフサイクル管理、シームレスなフェイルオーバーによる高可用性、KubernetesクラスタをまたぐActive-Activeデプロイ、データ永続化といったエンタープライズグレードの機能が実現します。Redis Enterprise Kubernetes Operatorは、Red Hat OpenShift、Google Kubernetes Engine(GKE)、VMware Tanzu Kubernetes Grid(旧Enterprise PKS)、アップストリームKubernetesなど、複数のKubernetesプラットフォームにデプロイできます。

Redis Enterpriseは、VMware Tanzu Application Serviceとの緊密に統合されたソリューションも提供します。アプリケーション開発者はRedis Enterprise Service Broker for VMware Tanzuをネイティブに利用してデータベース/キャッシュシステムの起動とライフサイクル管理を行え、運用担当者は強化された監視機能、障害復旧、プラン間のシームレスな移行、シームレスなソフトウェアアップグレードを備えたさまざまな自動化ツールでRedisデプロイを管理できます。

さらに、Redis EnterpriseはCI/CDプロセスにさらなるパワーと柔軟性をもたらします。Redisは、分散開発チームが新機能を安全にリリースし、必要に応じて最小限の影響でロールバックできるよう支援します。フィーチャートグル、フィーチャーコンテキスト、エラーログがCI/CDプロセスをどのように強化できるかについては、関連ブログ記事をご覧ください。

3. 事実上無限のスケーラビリティと高パフォーマンス

今日のスピード感あふれる開発環境では、スムーズで容易なプロセスのために入念なスケーラビリティ戦略が不可欠です。DevOpsの失敗の多くは、基盤インフラが需要に応じてスケールできず、アプリケーションがクラッシュすることで発生します。これは深刻な問題です。データベースソリューションのスケーリングには、スケールアウト環境で非線形のオーバーヘッドが累積するため、莫大な追加インフラ投資が必要になるからです。

リニアスケーリングとは、2倍のパフォーマンスを得るのに約2倍のインフラ、4倍のパフォーマンスには約4倍のインフラが必要となる、という比例関係のことです。これは、急成長する要件にDevOpsチームが手頃なコストで対応するために極めて重要です。DevOps環境向けに作られたRedis Enterpriseは、動的なアプリを一度に何百万人ものユーザーへ迅速に展開したい企業を支えます。

4. グローバル分散(Active-Active地理分散)

DevOpsチームがデプロイするアプリケーションは、ますますマイクロサービスで構築されるようになっています。これらのアプリは多数の異なるコンポーネントで構成され、それぞれ異なるインフラ手法を採用し、さまざまなロケーションでホストされ、世界中の人々に利用され、多くの異なるプラットフォームで配信されています。

分散アプリケーションに求められる応答性とスケーラビリティを支えるため、DevOpsチームは地理分散データ処理といった革新的なデータベース技術に注目し、高度にインタラクティブでスケーラブルかつ低レイテンシの地理分散アプリを提供しようとしています。多くのチームが、グローバルにデプロイできながら読み書きともにローカルレベルの低レイテンシを実現し、競合解決を簡素化し、データセットの強力な結果整合性を可能にするモダンなデータベースとして、Redis Enterpriseを選択しています。

オンプレミス、ハイブリッドクラウド、マルチクラウド、あるいはその混在環境など、どんな環境であっても、Redis EnterpriseのActive-Active地理分散は高可用性と低レイテンシを促進します。CRDTに基づく組み込みのアクティブアクティブデータベース技術により、Redis Enterpriseは分散データセット全体で高性能を実現するようDevOpsチームを支援します。これにより、ラック、クラウド、リージョンをまたぐ場合でもローカルレベルの低レイテンシを提供するモダンアプリケーション構築にかかる開発工数を大幅に削減できます。

5. マルチテナントアーキテクチャ

DevOpsチームがRedis Enterpriseを選ぶ5つの理由

マルチテナントソフトウェアアーキテクチャでは、1つのソフトウェアアプリケーション(データベースを含む)インスタンスが複数のテナントにサービスを提供します。各テナントのデータは、同じアプリケーションインスタンスを共有する他のテナントから分離されており、全テナントのデータセキュリティとプライバシーが確保されます。マルチテナントアプリケーション向けのデータベースを選択する際、開発者は顧客のデータ分離のニーズと、成長やトラフィック急増に迅速かつ手頃にスケールするソリューションのバランスを取る必要があります。完全な分離を確保するためにテナントごとに個別のデータベースインスタンスを割り当てることも、逆に最大のスケーラビリティを確保するために全テナントに同一のデータベースインスタンスを共有させることも可能ですが、その中間での最適解が求められます。

ほとんどの開発者がRedis Enterpriseを選ぶのは、ソフトウェアによるマルチテナンシーをサポートしているからです。Redis Enterprise Softwareの1つのデプロイメント(通常はノードクラスタとしてデプロイ)が、数百のテナントにサービスを提供します。各テナントは独自のRedisデータベースエンドポイントを持ち、他のRedisデータベースから完全に分離されています。左図のように、JSONデータ格納用のDB1、検索・フィルタリング用のDB2、時系列データの保存・分析用のDB3など、複数のデータベースが存在します。

Redis Enterprise × DevOps

迅速なデプロイは、成功するDevOpsアプローチの鍵となる要素です。Redis Enterpriseは高速なデータベースを提供し、DevOpsチームがより効率的にアプリケーションを構築・運用できるよう支援します。Redisの習得しやすいデータ構造とモジュールは多様なユースケースをカバーする柔軟性を備え、永続メモリストレージやシェアードナッシングクラスタアーキテクチャといったRedis Enterpriseの機能が運用負荷の軽減に貢献します。だからこそ、DevOpsチームは開発者と同じくらいRedisを愛しているのです。

さあ、何を待っているのですか? 今すぐRedis Enterpriseを始めましょう。クラウドで無料で試すことも、ソフトウェアをダウンロードすることもできます。

  1. DynomiteデータベースをRedis Enterprise Active-Activeデータベースに移行すべき理由

    2009年の誕生以来、Redis OSS(オープンソース版)は非常に活発なオープンソースコミュニティを形成してきました。その周辺には数多くのツールやユーティリティが開発されており、非分散型データストア向けのピアツーピア地理分散レイヤーであるDynomiteもその一つです。 DynomiteはNetflixのエンジニアチームによって開発され、オープンソースとして公開されました。特定のニーズに対する優れたソリューションを提供してきましたが、ここ数年は効果的なメンテナンスが行われていません。さらに、DynomiteによるRedis OSSインスタンスの分散モデルのせいで、Redis OSSの一部機

  2. Redis CLIで使える便利なコマンド10選

    Redisのコマンドラインインターフェース(redis-cli)は、非常にシンプルで直感的に設計されています。しかし、そのシンプルさの裏には、意外と知られていない便利な機能が数多く隠れています。この記事では、基本的な接続方法から始めて、redis-cliが持つ主要な機能やオプションを順番に見ていきましょう。Redisサーバーへの接続と認証まずは、Redisサーバーへの基本的な接続方法です。ホスト名・ポート番号・パスワードを指定して接続します。cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword 127.