AmazonはAWS re:Invent 2018で、顧客がApache Kafkaを用いてストリーミングデータ処理を行うアプリケーションを簡単に構築および実行できるようにする新しいフルマネージドサービスを発表した。この新しいサービスはAmazon Managed Streaming for Kafka、略してAmazon MSKと呼ばれ、現在パブリックベータとして提供されている。
Apache Kafkaはオープンソースの非常にスケーラブルな分散型ストリーミングプラットフォームで、複数のプロデューサーとコンシューマーをサポートし、企業間でデータストリームを接続できる。Apache Kafkaのインフラストラクチャ管理経験を必要としないAWSのマネージドサービスとして、現在、AmazonはKafka version 1.1.1を提供している。AWSはZookeeperノードにおけるブローカーのライフサイクルを完全に自動化する。ノードの1つに障害があっても、サービスはうまく対処してくれる。Amazon Data StreamingのPrincipal Product ManagerであるDamien Wylie氏は、プレゼンテーションで次のように説明する。
私たちは障害を自動的に検出して、新しいノードを再導入します。したがって、IPはそのままで、最終的に、クラスター実行中に必要なパッチは自動で適用されます。
AmazonはUS East (Virginia) リージョンでMSKを提供しており、クラスターにはプライベート接続のためにAmazon VPC (Virtual Private Cloud) が必要になる。MSKはプレビューで以下をサポートする。
- 保管時の暗号化のためのAWS KMS (Key Management Service)
- コントロールプレーンAPI認証用のAWS IAM (Identity and Access Management)(ブローカーのプロビジョニングとティアダウン)
- Apache Kafkaブローカー、トピック、ZooKeeperメトリクスのためのAmazon CloudWatch
- ブローカーのインスタンスとしてAmazon EC2 (Elastic Compute Cloud) M5
- Amazon EBS GP2 ブローカーストレージ
Amazon MSKはAWS管理コンソールやCLI、SDKを使って簡単にデプロイできる。ユーザーはAmazon MSKクラスターがプライベートに接続するのに必要なサブネットを入力し、ブローカーの数とブローカーあたりに必要なストレージを指定して、Apache Kafkaクラスターを作成する。次にクラスターを設定して、プロデューサーからトピックへ、アプリケーションにデータをストリームさせる。このデータはコンシューマーによってリアルタイムに読み出される。
画像のソース: https://aws.amazon.com/msk/
MSKとKinesesにより、AmazonはAWSで2つのストリーミングサービスを提供する事になる。どちらも同じようなコンセプトで、ストリーミングデータのインジェストにフォーカスしており、顧客にはマネージドKafkaサービスか通常のAWSに移行する選択肢がある。
ソース (スクリーンショット): https://www.youtube.com/watch?v=zhsVfsykBHc
現在、プラットフォームにKafkaの選択肢があるのはAmazonだけではない。Microsoftは最近、彼らのEvent Hubsストリーミングサービスの前にKafkaエンドポイントを提供することで、Kafkaをサポートした。AzureにマネージドKafkaサービスを持ってくる代わりに、Event HubをマネージドKafkaのように使えるようにした。また、Event HubsはKinesisと同様、Kafka自体とコンセプトが似ている。
Amazon MSKでは、前払いのコストは発生せず、顧客はブローカーインスタンスとストレージに対して「使用した分だけ支払う」ことになる。プレビューでは、ブローカーは時間あたり$0.21のM5インスタンスとして動き、ブローカーストレージはGB月あたり$0.10だ。MSKに関するHacker Newsのディスカッションでは、ある人が料金についてこう述べた。
ちょっとした注意ですが、時間あたり$.21のブローカーはm5.large(2 CPU、8 GBメモリ)上のもので、これは時間あたり$.096で動かせます。私たちはちょうど今、m5.xlargeインスタンスで3つのノードを動かしています。マネージドKafkaだと時間あたり$.42、セルフホストしたKafkaだと時間あたり$.192になります。今のところ、私たちはセルフホストし続けると思います。
これに反論するコメントがTwitterに投稿された。Jared Short氏は、セルフホスティングの総所有コスト(TCO)は大きい可能性がある(そのことはやや隠されている)ことを明らかにした。
「...3つのノードを動かしています。マネージドKafkaだと時間あたり$.42、セルフホストしたKafkaだと時間あたり$.192になります。今のところ、私たちはセルフホストし続けると思います」HNの数学は大好きだよ。実世界の数学だと、1年で約$2000の差、エンジニアリング時間は約20時間になる。メンテナンスは無料ではありません。真のコストを曖昧にしています。
最後に、Wylie氏は、GAリリースにおいて、MSKのSLA提供、バージョンのアップグレード、クラスターのスケールアウトおよびアップのオプション提供、ユーザーによるカスタムのクラスター構成定義、ストレージの自動スケール、タグ付け、AWS CloudTrailおよびAWS CloudFormationsのサポート追加を可能にすると述べた。MSKもワールドワイドで提供されるだろう。
Rate this Article
- Editor Review
- Chief Editor Action