DevOpsチームがRedisEnterpriseを愛する5つの理由
多くの企業では、DevOpsチームがデジタルトランスフォーメーションの推進を主導しています。この旅は、多くの場合、デジタルエコノミーの可能性を解き放ち、クリックするだけで競争に立ち向かうように設計されたアプリケーションとインフラストラクチャの近代化の取り組みから始まります。わずか数秒のアプリケーションパフォーマンスの遅れは、顧客体験、そして最終的にはビジネスの成功に多大なダウンストリームの影響を与える可能性があります。たとえば、Gapアプリがすぐに読み込まれない場合や、数秒以内に在庫の更新が行われない場合、多くの買い物客は他の場所でカーキを購入することを躊躇しません。簡単に言えば、アプリケーションのデータ処理は、リアルタイムパフォーマンスに対する消費者の要求に対応するのに十分な速度である必要があります。
Allied Market Researchのレポートによると、世界のNoSQLデータベース市場は2026年までに220億8000万ドルに達すると推定されています。非構造化データの増加、リアルタイムデータ分析の需要、世界中のアプリケーション開発活動の急増が推進要因です。従来のリレーショナルデータベースは、多くの場合、速度が遅すぎて、今日のWebスケールの要求に対応できません。これらは、垂直方向に単一ノードでスケーリングすることを目的として設計されました。最新の分散型非リレーショナルNoSQLデータベースは、最初からマルチノードで水平方向に拡張できるように設計されており、企業の俊敏性を高めています。
DevOpsデータベースの要件
NoSQLデータベースは、開発者や運用チームの柔軟なデータストレージと操作のニーズに完全に適しています。 DevOpsは、従来はサイロ化されていた開発、運用、品質保証の各部門を統合するエンタープライズテクノロジーのビジョンを取り入れています。さまざまなコンポーネント間のコミュニケーションと協力を重視し、DevOpsチームは、開発、品質テスト、アプリケーションとサービスの生産を自動化および統合する方法に重点を置いています。市場投入までの時間を短縮します。
DevOpsチームは、アプリケーションコードと同じように、データベースのデプロイと管理に努めています。データベースへの変更は、アプリケーションコードに適用されるのと同じ種類のシームレスで堅牢で信頼性の高い方法論を使用して、管理、テスト、自動化、および改善される単なる別のコード展開として認識されます。データベースは現在、継続的インテグレーション/継続的展開(CI / CD)パイプラインの一部です。 DevOpsパイプラインにデータベースが含まれていない場合、それは新機能の提供を遅らせるボトルネックになります。実際、DevOpsチームは、データベースを開発パイプラインだけでなく、リリースパイプライン全体にも統合します。
データレイヤーを含むアプリケーションを設計する先進的なDevOpsチームは、いくつかの重要な要件を満たすことを目指しています。
- 運用の柔軟性(クラウド、オンプレミス、およびハイブリッド展開で実行)
- 操作の簡素化
- 真の高可用性と復元力
- 無制限のスケーラビリティと高性能
- プラットフォームにとらわれない
- 書き込みと読み取りのローカルレイテンシを使用したグローバル分散
- 総所有コスト(TCO)の削減
Redisは、実装が簡単で、パフォーマンスが非常に高いなどの利点があるため、人気のあるデータベースの選択肢になっています。ほとんどのリアルタイムデータは、レイテンシが非常に短い(1ミリ秒未満)ため、最終的にRedisに到達します。最高のパフォーマンスを発揮するNoSQLデータベースであるRedisは、他のNoSQLデータベースの最大8倍のスループットと、最大80%低いレイテンシーを実現します。また、Redisは、単一の控えめなクラウドインスタンスで実行しているときに、ミリ秒未満のレイテンシで150万オペレーション/秒でベンチマークされています。 Datadogの2020コンテナレポートでは、RedisはKubernetesStatefulSetsで最も人気のあるコンテナイメージでした。
Redisは、デプロイが簡単で、コアおよび補足のRedisテクノロジーの厳密なユニットと機能のテストが可能であり、Docker、Ansible、Puppetなどのツールによる自動化が容易なため、DevOpsモデルに非常によく適合します。 Redis Enterpriseは、エンタープライズグレードの分散型インメモリNoSQLデータベースサーバーであり、オープンソースのRedisと完全に互換性があります。 Redis Enterpriseは、オープンソースのRedisを拡張し、安定した高性能、ダウンタイムゼロの線形スケーリング、および高可用性を提供します。これは、DevOpsチームがより少ない管理労力とより少ないオーバーヘッドで目標を達成できるように、独自の位置にあります。
DevOpsチームがRedisEnterpriseを選択する理由
では、正確には、DevOpsチームはRedis Enterpriseで何を求めているのでしょうか?最も重要な5つの機能は次のとおりです。
- ファイブナイン(99.999%)の稼働時間
- 柔軟な導入オプション
- 事実上無制限の線形スケーラビリティと高性能
- グローバルディストリビューション(アクティブ-アクティブジオディストリビューションを使用)
- マルチテナントアーキテクチャ
- ファイブナイン(99.999%)の稼働時間
ほとんどのDevOpsチームにとって、高可用性は聖杯であり、アプリケーションの実行を維持するために膨大な時間とお金を費やすことがよくあります。ただし、データベースの障害からタイムリーに回復できないと、データが失われ、何百万もの操作が発生する可能性があります。 Redis Enterpriseは、中断のない高可用性を提供し、DevOpsチームに対して完全に透過的であり、ディスクレスレプリケーション、即時の障害検出、およびラック、ゾーン、および地域間での1桁秒のフェイルオーバーを備えています。クラスターへの新しいノードの追加、ソフトウェアのアップグレード、リバランス、データの再シャーディングなどのクラスター変更操作中でも、高スループットと低レイテンシーを実現します。
高可用性テクノロジーのこの独自の組み合わせにより、グローバルに分散されたデータベースのアクティブ-アクティブ展開で、フォーナイン(99.99%)のアップタイムとファイブナイン(99.999%)のアップタイムが保証されます。アクティブ-アクティブな地理的分布により、複数の地理的位置にまたがる同じデータセットでの読み取りと書き込みの同時操作が可能になります。学術的に証明された競合のないレプリケートされたデータ型(CRDT)テクノロジを使用して、Redis Enterpriseは、アプリケーションがRedisを使用する方法を変更することなく、競合する書き込みを自動的に解決します。これにより、地理的に分散したアプリケーションの耐災害アーキテクチャを実現すると同時に、ローカルレイテンシを実現します。
- 柔軟な導入オプション
現在のテクノロジー環境では、プラットフォームに関して利用できる選択肢の数は驚くべきものです。すべてのオプションを調査するのに時間をかけることは事実上不可能であるため、企業は、快適なプラットフォームに固執することがよくあります。必ずしもタスクに最適なツールです。 DevOpsの実装を成功させるには、組織の環境の固有のコンテキストとプロセスの性質に最適なプラットフォームを選択する必要があります。そのため、RedisEnterpriseはDevOpsに対してプラットフォームに依存しないスタンスを取っています。
Redis Enterpriseソフトウェアは、AmazonのAWSマーケットプレイス、Google Cloudマーケットプレイス、およびMicrosoft Azureマーケットプレイスで利用でき、シングルクリックで簡単に導入できます。 Linux / RHEL/CentOSオペレーティングシステムをサポートする任意の仮想マシン/ベアメタル構成にデプロイできます。専用のRedisEnterpriseOperatorと組み合わせたRedisEnterpriseソフトウェアは、Infrastructure-as-Code(IaC)を活用して、クラスターやデータベースの宣言型デプロイメントなどのエンタープライズグレードの機能を数分で提供するように設計されています。アップグレードとリカバリを含む、自動化されたクラスターライフサイクル管理。シームレスなフェイルオーバーによる高可用性。アクティブ-Kubernetesクラスター全体でのアクティブなデプロイとデータの永続性。 Redis Enterprise Kubernetes Operatorは、RedHat OpenShift、Google Kubernetes Engine(GKE)、VMware Tanzu Kubernetes Grid(以前のEnterprise PKS)、アップストリームKubernetesなどの複数のKubernetesプラットフォームにデプロイできます。 (KubernetesにRedis Enterpriseをデプロイするために使用する原則の詳細については、Kubernetesの理由のページをご覧ください。)
Redis Enterpriseは、VMwareTanzuアプリケーションサービスと緊密に統合されたソリューションを提供します。アプリケーション開発者は、VMwareTanzu用のRedisEnterprise Service Brokerをネイティブに使用して、データベース/キャッシュシステムのライフサイクルを起動および管理できます。また、オペレーターは、強化された監視機能、障害回復、シームレスな移行を備えたRedisデプロイメントを管理するためのさまざまな自動化ツールを使用できます。計画間、およびシームレスなソフトウェアアップグレード。 (PivotalのRedis Enterprise for VMware Tanzuドキュメントで、Tanzu環境でのRedis Enterpriseの利点の詳細をご覧ください)
Redis Enterpriseは、CI/CDプロセスにより多くのパワーと柔軟性をもたらす優れた方法でもあります。 Redisは、分散開発チームが新機能を安全にリリースし、必要に応じて最小限の影響でロールバックするのに役立ちます。機能の切り替え、機能コンテキスト、エラーログがCI / CDプロセスをどのように強化できるかについては、このブログ投稿をご覧ください。)
3.事実上無制限のスケーラビリティと高性能
今日のペースの速い開発環境では、プロセスをスムーズかつ簡単にするために、スケーラビリティのためのよく考えられた準備戦略が必要です。多くのDevOps障害は、基盤となるインフラストラクチャが需要を満たすように拡張できず、アプリケーションがクラッシュするために発生します。データベースソリューションのスケーリングには、スケールアウトされた環境で非線形のオーバーヘッドが発生するため、大規模な追加のインフラストラクチャ投資が必要になるため、これは実際の問題です。
線形スケーリング。つまり、2倍のパフォーマンスを得るにはインフラストラクチャの約2倍、4倍のパフォーマンスには約4倍のインフラストラクチャが必要など、DevOpsチームが急成長する要件に手頃な価格で対応できるようにするために重要です。 DevOps環境向けに作成されたRedisEnterpriseは、動的アプリを一度に数百万人のユーザーに迅速にデプロイしたい企業に燃料を供給します。 (Redis Enterpriseの線形スケーラビリティについて詳しくは、こちらをご覧ください。)
4. グローバル分布(アクティブ-アクティブ地理分布を使用)
DevOpsチームは、マイクロサービスを使用してますます構築されるアプリケーションをデプロイします。これらのアプリは、インフラストラクチャへのさまざまなアプローチで、さまざまなコンポーネントパーツを活用し、さまざまな場所でホストされ、世界中の人々によって消費され、さまざまなプラットフォームに分散されます。
分散アプリケーションに必要な応答性とスケーラビリティをサポートするために、DevOpsチームは、高度にインタラクティブでスケーラブルな低遅延の地理分散アプリを提供する地理分散データ処理などの革新的なデータベーステクノロジーにますます注目しています。多くの人が、グローバルに展開できるが、書き込みと読み取りにローカルレイテンシを提供すると同時に、競合の解決を簡素化し、データセットの結果整合性を強化できる最新のデータベースとしてRedisEnterpriseを選択しています。
オンプレミス、ハイブリッドクラウド、複数のクラウド、または3つすべての組み合わせで実行されるアプリケーションが環境に含まれるかどうかにかかわらず、Redis Enterpriseのアクティブ-アクティブ地理的分散は、高可用性と低遅延を促進します。 Redis Enterpriseは、CRDTに基づく組み込みのアクティブ-アクティブデータベーステクノロジーを使用して、DevOpsチームが分散データセット全体で高いパフォーマンスを実現できるように支援します。これにより、ラック、クラウド、またはリージョンにまたがる必要がある場合でも、ローカルレイテンシを提供する最新のアプリケーションの構築に伴う開発作業が大幅に削減されます。
5.マルチテナントアーキテクチャ
マルチテナントソフトウェアアーキテクチャでは、ソフトウェアアプリケーション(データベースを含む)の単一のインスタンスが複数のテナントにサービスを提供します。各テナントのデータは、アプリケーションインスタンスを共有する他のテナントから分離されています。これにより、すべてのテナントのデータセキュリティとプライバシーが確保されます。マルチテナントアプリケーション用のデータベースを選択する場合、開発者は、データ分離に対する顧客のニーズまたは要望と、アプリケーショントラフィックの増加または急増に応じて迅速かつ手頃な価格で拡張できるソリューションとの間でバランスを取る必要があります。したがって、完全な分離を確実にするために、開発者はテナントごとに個別のデータベースインスタンスを割り当てることができます。もう一方の極端な例では、最大のスケーラビリティを確保するために、開発者はすべてのテナントに同じデータベースインスタンスを共有させることができます。
ほとんどの開発者は、ソフトウェアのマルチテナンシーサポートを提供するRedisEnterpriseを使用することを選択します。 Redis Enterprise Softwareの単一のデプロイメント(多くの場合、ノードのクラスターとしてデプロイされます)は、数百のテナントにサービスを提供します。各テナントには、他のRedisデータベースから完全に分離された独自のRedisデータベースエンドポイントがあります。左の図に示すように、JSONデータを格納するためのDB1、検索とフィルタリングのためのDB2、時系列を格納および分析するためのDB3などの複数のデータベースがあります。
Redis Enterprise + DevOps
迅速な展開は、DevOpsアプローチを成功させるための重要な要素です。 Redis Enterpriseは、DevOpsチームがアプリケーションをより効率的に構築および運用するのに役立つ高速データベースを提供します。 Redisの習得しやすいデータ構造とモジュールは、さまざまなユースケースをカバーするのに十分な柔軟性を備えています。また、永続メモリストレージやシェアードナッシングクラスターアーキテクチャなどのRedis Enterpriseの機能は、運用上の負担を軽減するのに役立ちます。そのため、DevOpsチームは開発者と同じようにRedisを愛しています。
何を待っていますか?今すぐRedisEnterpriseを使い始めましょう。クラウドで無料にするか、今すぐソフトウェアをダウンロードしてください。
-
DynomiteデータベースをRedisEnterpriseActive-Activeデータベースに移行する理由
2009年の創設以来、RedisOSSには非常に活気のあるオープンソースコミュニティがあります。多くのツールとユーティリティがその周りで開発されており、非分散データストアのピアツーピア地理的分散レイヤーであるDynomiteはその1つです。 Dynomiteは、Netflixのエンジニアのチームによって開発され、オープンソースとしてリリースされました。特定のニーズに対応する優れたソリューションを提供してきましたが、ここ数年は効果的に維持されていません。さらに、Redis OSSの機能、コマンド、データタイプの一部(Pub / SubやStreamsなど)は、DynomiteのRedisOSS
-
トップ10のRedisCLIコマンド
Redisは非常に単純なコマンドラインインターフェイスを使用します。比較的シンプルですが、予想外の興味深い機能をいくつか提供します。基本のいくつかを確認し、クライアントのほとんどの機能を回避してみましょう。 まず、簡単な接続があります: cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword 127.0.0.1:6379> PING PONG 大丈夫!独自のRedisサーバーに接続し、スーパーシークレットパスワードを使用して認証しました。 または、-aオプションを省略して、接続後に認証すること