2022年のKlaw：Apache Kafkaデータガバナンスの簡素化

<font color="Grey">*[Klaw in 2022: simplifying Apache Kafka data governance](https://aiven.io/blog/klaw-in-2022-simplifying-apache-kafka-data-governance)の翻訳です。*</font>

2023年1月23日

# 2022年のKlaw：Apache Kafkaデータガバナンスの簡素化

2022年秋の最初のリリース以来、Klawの2回のマイナーリリースは新機能をもたらし、ワークフローを簡素化しました。わずか2ヶ月という短期間でKlawがどれだけ成長し、改善されたかをご覧ください。

2022年9月29日のKlawの初期リリースからまだ日が浅いですが、この短い間にもApache Kafkaデータガバナンスの体験の向上に取り組んできました。


初回リリースでは、破壊のリスクを冒す代わりに、新しい環境全体にわたって一貫性と弾力性を維持することを目指しました。私たちの保守的なアプローチが功を奏し、実際に何も壊れることなく、私たちの優先目標である名前の変更と異なるバージョンのApache Kafkaとの統合を達成することができました。


次のアジェンダは、お客様のデータの安全を確保することでした。そのため、次のリリースはすべてセキュリティに関するものでした。私たちは、Apache Kafkaのガバナンスが安全で、どこでも認証されるようにしたいと考えています。Aivenでは、お客様のデータは静止時も移動時も安全であると自負しており、この高い基準をKlawにも適用したいと考えました。


## 主な新機能


KlawにSASL認証プロトコルSCRAM-SHA-256とSCRAM-SHA-512が追加され、Apache Kafkaクラスタに安全に接続できるようになりました。


JWTベースの認証を使ってKlawクラスタAPIに接続できるようになりました。API間のこの認証により、接続がより安全になります。


異なるSSL証明書で複数のクラスタに接続するようKlawを設定できるようになりました。これにより、大規模なApache Kafkaシステム（Apache Kafka、Schema Registry/Karapace、Kafka Connectなど）を1つのKlawインスタンスで管理できます。これにより、Kafkaガバナンスが大幅に簡素化され、コンポーネントごとに複数のKlawインスタンスの必要性がなくなり、開発者とDevOpsのエクスペリエンスがよりスムーズになります。


UIをReactに切り替えてから、トピックのブラウズ画面のルック＆フィールが完全に新しくなりました。これにより、Kafkaトピックを管理するためのインターフェイスがより使いやすく直感的になりました。


Azure ADベースの認証と認可：既存のAzure ADインフラを活用してKlawへのアクセスを管理できます。Azure ADトークンからロールやチーム情報を取得することもできます。  

トピックリクエストでの高度なトピック設定：コンパクト化されたトピック、保持、圧縮の適用など、さまざまなトピックオプションを同じリクエストで設定できます。  

新しいAiven ACLリクエストを使用してサービスアカウントを作成できるようになりました。


## その他の改善点


### 主な改善点


* 改善されたドキュメント（進行中）と<https://klaw-project.io>で言及されているリリース
* Github CI アクション、行動規範、コードスタイリングとフォーマットプラグイン、セキュリティポリシー、コントリビュートガイドライン、PR と Issues のテンプレート、パッケージングとインストール手順
* Aiven for Apache Kafka のような Apache Kafka フレーバーのサポートが導入されました。
* いくつかのサービスクラスに関するユニットテストと統合テストを更新しました。
* コードをより堅牢で読みやすくするためのリファクタリング
* より良い例外処理と機能強化


### マイナーな改善


* ClusterApi git プロジェクトはモジュールとして Klaw コアプロジェクトに移動されました。
* Actuator や Cluster Api 認証などに関連する脆弱性に対処しました。
* Springboot と Apache Kafka のアップグレード
* トピックリクエストにカスタムバリデータを導入し、検証ロジックを分離して簡単に管理できるようにしました。
* ビルドとデプロイを容易にするMakefileの導入
* KlawウェブにおけるURLのディープリンク
* コードスキャン、シークレットスキャン、Dependabot、セキュリティ勧告に関するアラート
* WebSecurityConfigurerAdapter の非推奨を削除した。
* docker のサポート


## 今後3ヶ月に期待すること


私たちはKlawを始めたばかりで、フレームワークへの将来の追加に興奮しています！今後数ヶ月間、私たちの開発努力はフレームワークをアップグレードし、KlawのReact UIを追加し、多くの新機能を導入することを中心に展開します。


ご参考までに、より詳細なリストをご覧ください：


フレームワーク


* Spring bootの3.xへのアップグレード
* JDK17へのアップグレード


特徴


* ある環境から別の環境へのスキーマ・プロモーション
* Kafka クラスタの SSL 接続で PEM フォーマットをサポート
* トピックリクエストにおけるトピック名のRegExパターンの導入
* 新しいリクエストタイプの導入コンシューマーオフセットのリセット
* リアクトUI
* トピックリクエスト
* サブスクリプションリクエスト（プロデューサー/コンシューマー）
* スキーマ・リクエスト
* コネクト・リクエスト


## 感謝の言葉


今回の2つのマイナーリリースは、貢献してくださった方々の助けなしには実現しませんでした。一人一人に感謝したい：


* [Mirjam Aulbach](https://www.linkedin.com/in/mirjam-aulbach/)
* [マチュー・アンダーソン](https://www.linkedin.com/in/mathieuanderson/)
* [サムリ・スオルッティ](https://www.linkedin.com/in/samulisuortti/)
* [ムラリ・バサニ](https://www.linkedin.com/in/muralibasani/)
* アインドリウ・ラヴェル
* [セルゲイ・ヌヤンジン](https://www.linkedin.com/in/sergey-nuyanzin-60aa6356/)
* [ジョゼップ・プラット](http://linkedin.com/in/jlprat/)
* [アーメド・ソベ](https://www.linkedin.com/in/ahmedsobeh)
* [デーブ・ビーチ](https://www.linkedin.com/in/davebeech/)
* ステファン・アレンツ
* セバスチャン・カイザー
* [ハルシニ・ランガスワミ](https://www.linkedin.com/in/harshini-rangaswamy/)


## まとめ


KlawはAivenに買収されてから数ヶ月で大きく成長し、すでに大幅な改良を加えています。次のリリースにご期待ください！


それまでは、以下のリソースをご覧ください：


* [Klawプロジェクト・ページ](https://www.klaw-project.io/)
* [Klawドキュメント](https://www.klaw-project.io/docs)
* [Klaw on GitHub](https://github.com/aiven/klaw)



Aivenと私たちのサービスに関する最新ニュースや、オープンソースに関する様々な情報を入手するには、[月刊ニュースレターを購読](https://aiven.io/newsletter)してください！Aivenに関する日々のニュースは、[LinkedIn](https://www.linkedin.com/company/aiven/)と[Twitter](https://twitter.com/aiven_io)のフィードでご覧いただけます。


サービスのアップデート情報を知りたい方は、[変更履歴](https://aiven.io/changelog)をご覧ください。