ドイツのtelegraがPostgres-BDRを実装して、ミッションクリティカルなPostgreSQLデータベースに高可用性を提供

概要

telegraは、電話網オペレーターおよび通信アプリケーション開発者として20年以上の経験を持つ、次世代通信プロバイダーです。ドイツに本社を置くtelegraのビジネスはヨーロッパ全域で急速に拡大しており、月間3,000万件の通話と9,000万分の通話時間を取り扱っています。telegraの成功製品の1つは、コールセンター向けのWebベースの自動呼出分配(ACD)ソリューションです。このACDは、テレグラのクラウドに通信全体を集中させ、統合されたウェブベースのインターフェースで管理することができます。

課題

インターネットを介したサービスの登場とITのコンシューマライゼーションは、通信市場のダイナミクスを大きく変え、常時接続に対する顧客の期待も変化させました。通信事業者であるtelegraの顧客は、24時間365日、ダウンタイムなくサービスを利用できることを期待しています。パンデミックは、信頼性、可用性、拡張性の重要性をさらに強調しました。telegraのコールセンターのお客様は、様々なロックダウンの間、エージェントを自宅に派遣してリモートで仕事をしなければなりませんでした。在宅勤務が広まった結果、telegraは顧客の採用が大幅に増加し、新しい顧客はリモートワークをサポートするすぐに使えるソリューションを求めるようになりました。

telegraのVoIP-インフラは常にプライマリー・プライマリーのデータセンター・モデルを採用していましたが、Webアプリケーションはバイナリー・プライマリー・フェイルオーバーのデータセンター・モデルを採用しており、変化するお客様の需要に迅速に対応し、同時に24時間365日の稼働率を確保することができませんでした。その結果、2018年、telegraは、より俊敏なサービス開発のためにITインフラの再設計のプロセスを開始しました。この再設計では、ドイツにある2つのデータセンターにおいて、Oracleなどの従来のデータベースから脱却し、オープンソースアプローチを採用することになりました。

ソリューション

telegraは、デュッセルドルフとケルンの両データセンターでEDB Postgres Advanced Server(EPAS)とEDB Postgres Distributedを採用し、プライマリ・フェイルオーバーからプライマリ・プライマリの設定への切り替えを可能にしました。EDB Postgres Distributedは、データ構成、ルーティングプラン、通話明細レコードを同期し、telegraは顧客データの高い可用性と同期を常に維持することができるようになりました。

成果

EPASとEDB Postgres Distributedを導入して以来、telegraのチームは次のような成果を上げています。

  • 大規模なダウンタイムが発生せず、両データセンターが常に同期している。
  • ソフトウェア・アプリケーションの改善に要する時間が増加した
  • データベースの複雑さを軽減し、セキュリティを向上させ、永久ライセンスコストを削減
  • EDB Postgres Distributedを、潜在的な障害や「ネットワークの分裂」シナリオに対するコンティンジェンシープランとして活用
  • 解放されたサポート時間を顧客中心のアプリケーション革新に再投資
  • 進化する顧客需要に対応するためのデータセンターの変革

これまでtelegraは、コールルーティング用にケルンとフランクフルトの2つのデータセンターを運用していました。データベースは、プライマリ・フェイルオーバーのセットアップとして実行されていました。しかし、プライマリデータセンターがクラッシュした場合、レガシーアーキテクチャでは、データセンター間でアプリケーションの自動フェイルオーバーやロードバランシングを行うことは不可能でした。さらに、プライマリスイッチ後にデータベースのレプリケーションを手動で再構築する必要があるため、メンテナンスのためにプライマリデータセンターを停止させるのはコストがかかりすぎました。

2018年からtelegraは、”Gruene Wiese” または “Greenfield” と呼ばれるプログラムを開始しました。デュッセルドルフとケルンに新しいデータセンターを建設し、ソフトウェア・アーキテクチャに新しいアプローチを採用しました。アプリケーションとデータベースの両方をプライマリ・プライマリに設定し、両方のデータセンターですべてのアプリケーションにロードバランシングを適用して、より高い信頼性とスケーラビリティを確保することにしました。

適切なデータベース戦略の選択

テレグラでは、過去にMySQL、Oracle、Postgresなど、さまざまな種類のデータベースを使用していました。特にOracleデータベースは、ライセンス費用がかさみ、管理環境も複雑でした。また、従来のプライマリ・フェイルオーバーのデータセンターでは、フェイルオーバーに移行するためにプライマリデータベースを停止し、その後リビルドする必要がありました。これには多大な手作業が必要で、telegraのプライマリデータセンターは常に1つしかなく、理想的とは言えませんでした。

この課題を解決するために、同社はパブリッククラウドへの移行を検討しました。しかし、telegraにはデータセキュリティが重要視される顧客が多く、データをドイツ国内の現地企業でホスティングすることにこだわりがありました。さらに、telegraはネットワーク上で大量の音声トラフィックを抱えており、クラウド経由の配信は、自社のデータセンターでサービスを運用するのに比べて法外なコストがかかるという問題を抱えていました。

通信事業者であるtelegraは、ドイツテレコムやBTといった従来の通信事業者と連携するためにPoP(Point of Present)を持つことも求められていますが、クラウド経由のサービスには接続できません。telegraは、アーキテクチャ近代化戦略にとって最も有効なソリューションは、データ自体をホストすることだと考え、EPASをメインデータベースとして選択しました。

「オープンソースソフトウェア戦略は、透明性、信頼性、安全性が格段に高いと判断し、採用することにしました」とtelegra社のIT部門長であるChristian Blaesing氏は語ります。「いつでもソフトウェアを見直すことができるので、機能性や設定に大きな自信を持つことができます。Postgresは、どのクローズドソースデータベースよりもセキュリティが高く、ベンダーを変更する柔軟性も高く、高価な従来の永久ライセンスを避けることができます」と述べています。

テレグラは、ダウンタイムが許されない通信業界などの厳しい業界で使用されるPostgresデータベースの真の高可用性を実現するために、プライマリ・プライマリ・データセンターの重要な要素としてEDB Postgres Distributedの導入を決定しました。EDB Postgres Distributedは、プライマリ-プライマリレプリケーションを提供し、メッシュトポロジーでマルチプライマリクラスタを構築し、任意のサーバに書き込み、同じ双方向レプリケーション(BDR)グループに属する他のすべてのサーバに行単位で変更を送信することが可能です。

可用性の向上に加え、さまざまなセットアップシナリオを評価するという点で、プライマリ-プライマリの複雑さがないため、実装がよりすっきりします。シーケンスなどの少数の要件にのみ変更が必要なため、レガシーアプリの統合が容易になります。また、優れたドキュメントが用意されているため、開発者は2~3時間でデータベースを操作できるようになります。

EDB Postgres Distributedを導入した結果、telegraは現在2つのデータセンターでロードバランシングを行っており、スプリットブレイン(サーバーが相互に通信・同期していないことに基づく障害状態)の不測の事態に対処することができます。例えば、データセンター間の回線がダウンしても、両方のデータセンターですべての通話に対応できるため、スプリットブレインのシナリオでも運用を継続することができます。従来であれば、テレグラは片方のデータセンターを閉鎖することで対応していましたが、それでは顧客にサービスの中断を与えてしまうことになります。EDB Postgres Distributedを使用することで、telegraは、急速に増加する顧客数をサポートするためにBDRノードをもう1つ追加するだけでソリューションを拡張することができるようになりました。

「Postgresは使いやすいのですが、特に現在私たちのメインデータベースとなっているため、潜在的な課題を解決する専門知識を持つ人が背後にいることは常に心強いです」とBlaesingは述べています。「EDBは、問題が発生した場合、常に非常に迅速に対応してくれます。telegraは、もはや社内でサポートできる範囲をカバーできないため、ビジネスをサポートできるという自信と安心感を得ることができました。」

以前、telegraは社内でPostgresを管理していましたが、EDBとの協業により、セットアップが正確でクリーンであることに自信を持ちました。EDB BDRのスペシャリストは、TPAexecツールを使ってtelegraと協力し、2~3日でデータベースをセットアップしました。このツールは、Ansibleを使用してTrusted Postgres Architecture(TPA)に従ったPostgresクラスタを構築するもので、EDBがtelegraがデータベースで行っていることをコピーして問題を再現し、何が間違っていたかを確認できるため、継続的なサポート問題にも有効です。

2年前にEPASとEDB Postgres Distributedを採用したtelegraは、大きなダウンタイムを経験することなく、レプリケーション機能もスムーズに動作しており、telegraのサービスの高可用性には欠かせないものとなっています。

ダイナミックな環境に安定性を提供する

telegraの競争優位性の重要な要素は、平均300~600人のコールエージェントを抱えるコールセンターなどの顧客に提供する次世代ソフトウェア機能です。アプリケーションには、AIをベースにした音声対応のインテリジェントルーティングがあり、発信者の音声指示に応じてより効率的に電話をルーティングします。また、Webリアルタイム通信クライアントである自動通話配信など、ネットワークの上に置かれるアプリケーションもあります。テレグラは、スーパーバイザーや管理ツール、リアルタイムの統計・分析機能も提供しています。

しかし、このような革新的な技術は、ネットワークが安定している場合にのみ、顧客にとって価値があるのです。パンデミックは、信頼性と可用性の重要性をさらに強調しました。telegraのコールセンターの顧客は、さまざまなロックダウンの間、エージェントを家に帰してリモートで仕事をしなければならなかったからです。プライマリ・プライマリ・データセンター戦略を含むtelegraのITインフラの近代化により、これらの顧客に適切なサポートを提供することができるようになったのです。

EPASとEDB Postgres Distributedを採用したことで、telegraは自社のコアアプリケーションの信頼性、堅牢性、拡張性に確信を持つことができました。このように変化の激しい世界では、このような安心感は非常に重要です。また、telegraのチームは、データベースを修正し、その複雑さを理解することで精一杯になることもなくなりました。現在では、新しい機能やより優れた製品の構築に専念できるようになり、顧客の進化とダイナミックな要求にさらに応えることができるようになりました。

今後、同社はヨーロッパ全域で事業を拡大することを目標としており、チームが過去にPostgresを使用した経験を持つことから、Postgresは事業全体のイノベーションを推進する上で不可欠な役割を果たすとテレグラは考えています。そのため、同社は成長計画をサポートするために、すべてのワークロードをPostgresに移行することを決定し、将来的にPostgresデータベースは約1TBから2TBのデータに成長すると予測しています。

オリジナルブログを英語原文で読む >>