Aivenを選ぶ理由

<font color="Grey">*[Why you(r boss)[ should choose Aiven](https://aiven.io/blog/why-your-boss-should-choose-aiven)の翻訳です。*</font>

2021年11月22日

# Aivenを選ぶ理由

パヌ・カリオコスキが、なぜAivenが選ばれるのか、その理由をご紹介します。会社の上司の方にもぜひご覧ください！

Aivenで働き始める前、私はすでにAivenのアクティブ・ユーザーでした（それがここで働くことになった理由です）。Aivenは、データベースなどのデータ指向のバックグラウンド・サービスをモダンで自動化された方法で実行するにはどうすればよいか、という疑問に対して非常に優れたソリューションを提供してくれました。しかし、他のみんなに同じように見てもらうのは、必ずしもそう簡単ではなかった。この記事は、私がどのような難題に直面し、それに対してどのような行動をとったかについての話である。


TL;DR：本当に難しいのは、しばしば経営陣に良い解決策を受け入れてもらうことだ。これは特に、イニシアチブが専門家から生まれ、決定が純粋に技術的なものでない場合に当てはまる。しかし、十分な正論を唱えることができれば、なんとかなるものだ。(私が何をしたかわかるだろうか？）


## 物事を成し遂げたい


特に確立された複雑な組織では、物事の進め方について全員の同意を得ることが非常に難しい場合がある。個人的な要因も絡んでくるし、純粋な惰性に対処しなければならないし、時には権力闘争もある。このようなことは、ただ物事を成し遂げたいと願う人々にとって、人生を困難なものにしている。


あるマネージャーは信頼し、実際の責任を委譲する。また、開発者が「遊ぶためのおもちゃ」を欲しがっているだけで、「全体像を把握していない」と密かに疑っている人もいる。


Aivenは少し変わり種だ。クラウド・プロバイダーとは何かという人々の考えには当てはまらない。Aivenは独自のクラウドをホストしているのではなく、複数のクラウド・プロバイダーと連携する管理・互換レイヤーを提供しているのだ。


クラウド・プロバイダーを管理するクラウド管理システムといったほうがいいかもしれません。


マネージャー・レベルの十分な論拠があれば、たいていの場合、あなたがすでに行ったのと同じ結論を全員に出させることは可能だ。時には、「私たちはすでにそれをやっていて、とてもうまくいっている」というのが最良の議論になることもあるが、その場合は、正しい解決策だと皆が満足するように少し工夫する必要がある。


## 事実の背後にある物語


私の前職（[ヘルシンキ市](https://www.hel.fi/helsinki/fi)での仕事の1つは、開発チームがセルフサービスベースでテスト、ステージング、本番用の環境をプロビジョニングするために使用できるCIパイプラインとDevOpsインフラストラクチャを作成することだった。目標は、開発者がGithubリポジトリに適切な設定を置くことで、環境を完全にコントロールできるようにすることだった。


私はプロダクト・オーナーとして、すべての仕組みを定義し、最初に何をすべきかを決めました。おまけに、私はシステムのユーザーでもあったので、使い勝手を直接体験しました。加えて、私は他の開発チームの技術責任者でもあったので、要件収集にも役立ちました。実際の実装作業の大部分は、主に[アンダース・イノベーションズ](https://www.anders.com/fi/)の友人たちによって行われた。


驚くことではないが、技術的な部分は難しいものではなかった。Aivenは安全で効率的なデータストレージレイヤーの役割を非常にうまく果たし、インフラはAivenとソフトウェアレイヤーの両方にTerraformを使って一元管理された。後者はGCP（GKE）とAzure（AKS）のKubernetes上で実行された。


なぜ2つの異なるクラウドプロバイダーなのか？本番環境では、上層部からの唯一の「相互運用性」要件がAzureを使うことだったからだ！そのため私たちは、何が起こっているかを確認できるGCPでテスト環境を実行し、上層部を満足させるためにAzureで本番環境を実行しました。


Aivenは、どのクラウドを使用しているかに関係なく、まったく同じ種類のデータベース・サービスを実行できるようにすることで、この設計にうまく対応してくれました。


大変だったのは、経営陣や他の部署と、これが良いセットアップであると合意することでした。この特別なプロジェクトで起こったことを詳しく説明するつもりはないが、この記事で紹介する問題と解決策は実際の経験に基づいていると言ったら信じてほしい。


よく耳にする反論とそれに対する私の回答をいくつか挙げてみた。どうぞご自由にお使いください。


## その1："でも、クラウド・ソリューションはすでにある！"


大きな組織では、おそらく大手のクラウド・プロバイダー（AWS、GCP、Azure）のいずれかを導入していることがある。どのクラウド・プロバイダーも、ある種のホスティング・データベース・ソリューションを提供しているため、管理の観点から、データベース用に別のクラウド・プロバイダーを持つことに意味がないことは容易に理解できる。


悲しいことに、大手クラウド・プロバイダーのデータベース・ソリューションは、必ずしも徹底しているとは言えない。また、特定の種類のデータに対するパフォーマンスの最適化など、高度に専門化されたニーズに合わせて開発されているわけでもない。特定の顧客層をターゲットにした自社製品でない限り、データ・サービスを適切に行うことは、ほとんどのクラウド・プロバイダーの本業ではない。多くのクラウドデータベースは、バックアップすら提供していない。また、高可用性、スムーズなフェイルオーバー、豊富なヘルスモニタリング、ローリングアップグレードについても触れない。


Aivenはこれらすべてを提供し、さらにあなたが他のことに使用しているクラウド上で実際に動作します。データ・サービスは、それを使用するソフトウェア・サービスと同じデータ・センターに置くことができ、同じプライベート・ネットワークに置くこともできます。


データ・サービスとソフトウェア・サービスの大きな違いは、うまく設計されたソフトウェア・サービスは、接続が2、3回切断されたり、キャッシュ・ミスが発生したりするだけで、使い捨てにされるということだ。データ・サービスは、多くの企業にとって最も貴重な資産である。すべてのデータを失うことは常に壊滅的な打撃を与える。


また、サーバーの故障が原因とは限りません。管理者のミス（WHERE句の欠落がすべてであることもあります）によって多くのデータを失う場合、適切なポイント・イン・タイム・リカバリの機能を持つことは不可欠です。もちろん、Aivenは多くのサービスタイプでそれを提供しています。


データ・サービスは、クラウド上で動作する単なるサービスの一種ではない。データ・サービスは企業にとって最も価値のあるものであり、適切に運用するためには専門的な知識が必要です。あなたの会社にとって、その専門知識を雇うことだけでも意味があるかもしれませんが、最初からそのすべてが正しく機能する製品を使うことも意味があるかもしれません。


## #2."会計を簡単にする必要がある"


多くの組織が、経理を簡単にするためだけに、すべてのサービスを1つの下請け業者に発注している。しかし、それはしばしば運営上の問題を引き起こし、開発者もまた、時にその結果を感じることになる。


もしあなたの選んだベンダーがAWSやGCPであれば、ラッキーだ。Aivenのサービスは、AWSやGCPのマーケットプレイスを通じてプロビジョニングすることもできるので、メインのクラウドプロバイダー費用の一部として請求される。Aivenのサービスは、AWSやGCPのマーケットプレイスを通じてプロビジョニングすることもできる。


それがうまくいかない場合は、弊社の請求担当までご連絡ください。請求書を受け取るためのさまざまなオプションがありますし、普段請求書を扱っている業者と何らかの契約を結べるかもしれません。


[Aivenの料金モデル](https://aiven.io/pricing)は、予測可能性を重視しています。毎月の出費がいくらになるかは常にわかっています。そのため、予算編成の観点からは、予測不可能な唯一の要因は、サービス利用が大幅に増加し、より大規模なプランを使用する必要があるかどうかということです。しかし、そのような事態に対処することは、通常ポジティブな問題である。


## #3."オープンソースのデータベースなんだから、自分たちで運用すればいいじゃないか"


これは実はかなり妥当な指摘だ！これらのオープンソースデータベース（そしてKafkaのような他のデータサービスも）はすべてそうであるように、ユーザーの生活をより簡単にしようと積極的に努力しており、実行するのはとても簡単だ。


一方で、これらのサービスに実際に依存しているのであれば、何か問題が起きたときにどうすればいいかを知っている人材が本当に必要だ。また、災害への備えも必要だ。問題が起きてから解決し始めるのでは役に立たない。Aivenには適切なデフォルトが用意されており、データ・サービスに対してAivenからさまざまなレベルのサポートを受けることができます。


Aivenは、カスタマイズされたバージョンではなく、上流のオープンソースプロジェクトと同じソフトウェアを提供します。そのため、Aivenに移行しても、Aivenから移行しても、すべてがまったく同じように動作することが期待できます。


開発やプロトタイピングのために、まず独自のサービスを実行することも可能だ。サービスが実際に価値あるものになったら、Aivenのような適切に管理されたプラットフォームに切り替えるのはとても簡単です。Aivenによって提供されたサービスは、サービスを中断することなくスケールアップやスケールアウトが可能で、サポートレベルも向上します。


とはいえ、最初からAivenを直接使うのはそれほど高くはない。趣味のプランはテスト版のようなものだが、すでにAivenがホストしている。どちらの方法でサービスのプロトタイピングを進めるかは、あなた次第だ。


## #4."ベンダーロックに陥りたくない"


多くのクラウドプロバイダーとは異なり、Aivenのサービスはベンダーロックとは正反対です。ベンダー固有の機能や拡張機能を使わせるのではなく、良いサービスを提供することで顧客を維持しています。


オープンソースをベースにしているため、Aivenからの移行は非常に簡単で、多くのサービスでサービスを中断することなく移行することができます。また、Aivenでプロビジョニングされたサービスと自社のサービスを並行して稼働させ、データを両方に複製することも可能です。


また、他のクラウドベンダーのロックから抜け出したい場合にも、Aivenは非常に役立ちます。Aivenの特徴は、クラウド間でサービスをシームレスに移行できることだ。クラウド・プロバイダーを変更する場合、データ・サービスの移行は通常、そのプロセスの中で最悪かつ最もミスの起こりやすい部分である。それをシンプルなAPIコールで行えるということは、多くの労力を節約できる。


移行していない場合でも、まったく同じようなサービスを複数のクラウド上で実行できることは、前職で行っていたように、異なる環境で実行する必要がある場合に役立つ。クラウド間の移行を積極的に計画していなくても、このオプションがあれば、クラウドを選択するストレスから解放される。


## #5."ロギング／モニタリング／メトリクス／Infrastructure-as-Codeのための既存のインフラに合わない"


それは事実かもしれないが、単なる誤解かもしれない。Aivenは、多くの既存の観測可能性やアラートサービスと非常にうまく統合し、IaC（infrastructure-as-code）ツールの優れたサポートを提供します。私たちは[Terraformプロバイダ](https://github.com/aiven/terraform-provider-aiven)、[Kubernetesオペレータ](https://aiven.github.io/aiven-operator/)、あらゆる種類のセットアップタスクを自動化するための[クリーンAPI](https://docs.aiven.io/docs/tools/api)を持っています。ですから、これに対する答えはもちろん、あなたが何に統合したいかによりますが、ほとんどの場合、ブロックはすでにそこにあります。


また、Aivenが提供するビルディング・ブロックが現在使用しているものよりも優れていることもあります。私たちは最先端のオープンソースのロギングとメトリクスサービスを提供しており、古いものと並行して実行することができます。経営陣が新しいダッシュボードを見たときに、すぐに切り替えたいと思うかもしれません。


## まとめ


Aivenの必要性を回避することは可能だが、他の選択肢はおそらく、より多くのリスクが発生するか、より高価になるだろう。データ・サービスを適切に運営することが、あなたの主要なビジネスではないが、成功に無関係でもないのであれば、Aivenのようなマネージド・データ・ソリューションを利用した方が、少ない費用でより良いサービスを受けられる可能性が高い。


ヘルシンキ市にとって、この話はハッピーエンドでした。私たちは、提起されたすべての疑問に対して、Aivenを使うという選択を守ることができました。


この記事が、あなたの会社でAivenを採用する論拠を明確にするいくつかの論点を提供することを願っています。もし、ここで述べられていない新しいことに遭遇した場合は、遠慮なく私やソリューション・アーキテクトにご連絡ください。私たちは、あなたのケースに関わる力について議論することに非常に興味があります。


--


まだAivenのサービスをご利用になっていませんか？<https://console.aiven.io/signup>から無料トライアルにお申し込みください！


また、[changelog](https://aiven.io/changelog)や[blog](https://aiven.io/blog)のRSSフィード、または[LinkedIn](https://www.linkedin.com/company/aiven/)や[Twitter](https://twitter.com/aiven_io)のアカウントをフォローし、製品や機能関連の最新情報をご確認ください。