Apache Kafka開発・コンサルティングサービス
Apache Kafka開発・コンサルティング:イベント駆動アーキテクチャ、Java・.NET・Python・Goのプロデューサーとコンシューマー、Kafka ConnectとDebeziumによるチェンジデータキャプチャ、Kafka StreamsとApache Flinkによるストリーム処理、Confluent Cloud・Amazon MSK・Azure Event HubsのマネージドKafka、クラスターの運用・移行・アップグレードを提供します。御社チームに加わる専任のKafkaエンジニアとしても、Kafkaプロジェクトを企画から納品まで一貫して請け負う形でも承ります。
Kafkaで開発するもの
Kafkaによるイベント駆動アーキテクチャ
トピック、パーティション、キー、保持期間をビジネスイベントに合わせて設計し、チーム間でイベントスキーマを合意し、トランザクショナルアウトボックスや冪等なコンシューマーといったパターンを適用します。イベントが失われることも、二重に適用されることもありません。
Kafkaのプロデューサーとコンシューマー
Spring for Apache KafkaのJava、Confluent.Kafkaの.NET、Python、Goのサービスに、リトライ、デッドレタートピック、重複が金銭的損失につながる場面でのトランザクションを備えます。処理をキューのようにコンシューマーに分散する場合は、シェアグループ(Queues for Kafka、Kafka 4.2で本番利用可能)を使います。
Kafka ConnectとDebezium
データベースの変更をDebeziumでKafkaにストリーミングし、シンクコネクタでトピックをウェアハウス、検索インデックス、オブジェクトストレージに届け、Confluent TableflowでトピックをIcebergまたはDeltaテーブルとして具体化します。運用はConfluent Cloud、MSK Connect、Strimzi上で行います。
FlinkとKafka Streamsによるストリーム処理
Javaサービス内のKafka Streams、またはConfluent Cloud、Amazon Managed Service for Apache Flink、自社クラスター上のApache FlinkジョブとFlink SQLで、結合、ウィンドウ集計、エンリッチメントを行います。不正チェック、ライブメトリクス、アラートに使います。
Confluent Cloud、MSK、Event Hubs
Confluent Cloud、Expressブローカーを使うAmazon MSKまたはMSK Serverless、Kafkaエンドポイント経由のAzure Event Hubs、Aiven、RedpandaのマネージドKafkaを、スループット、保持期間、リージョン、コストで選び、Terraformでプロビジョニングします。
Kubernetes上のセルフマネージドKafka
ZooKeeperなしでKRaftで動くKafka 4クラスターを、StrimziオペレーターによるKubernetes上、または仮想マシン上で運用します。ラック対応のレプリカ、階層型ストレージ、リバランスのCruise Control、ダウンタイムなしのローリングアップグレードを備えます。
Schema Registryとデータコントラクト
AvroとProtobuf、またはJSON SchemaをConfluent Schema Registry、Apicurio Registry、AWS Glue Schema Registryで管理し、互換性ルールをCIで検証するため、プロデューサーが変更でコンシューマーを壊すことはありません。
Kafkaの移行とアップグレード
Kafka 4へのアップグレード前にZooKeeperクラスターをKRaftへ移行し、RabbitMQ、ActiveMQ、IBM MQからワークロードを移し、セルフマネージドKafka、MSK、Confluent Cloudの間でクラスターを、MirrorMaker 2またはCluster Linkingによりコンシューマーオフセットも含めて移します。
Kafkaのモニタリングとセキュリティ
PrometheusとGrafana、またはConfluent Control Centerでコンシューマーラグ、レプリケーション不足のパーティション、スループットを監視し、すべての接続にTLS、OAuthまたは相互TLSのSASL、サービスごとのACLを設定し、トピック、クォータ、ACLの変更はコードレビューを経て行います。
Kafkaエンジニアを採用する
専任のKafkaエンジニア
御社のチームにフルタイムで参画し、御社のリポジトリ、トラッカー、会議の中で働き、御社のリードに報告するKafkaエンジニアです。面接は御社が行い、ウクライナでの雇用契約、給与支払い、請求書発行、休暇管理は当社が担います。
Kafkaプロジェクトのデリバリー
Kafkaプロジェクトをスコープ策定からリリースまで担うチームです。見積り、開発、テスト、デプロイを行い、当社側のテクニカルリードが計画と品質に責任を持ちます。
Kafkaの保守運用と引き継ぎ
他のチームから既存のKafkaシステムを引き継ぐ、あるいは稼働を維持します。まず読み取り専用のレビューを行ってリスクを書面にまとめ、その後、影響の大きい順に修正と新機能を進めます。
スペシャリストが御社のチームに参画する方法は専任チームのページで、プロジェクトのデリバリー、引き継ぎ、料金の考え方はアウトソーシングのページで説明しています。
御社のKafkaプロジェクトを担当するメンバー
Kafkaエンジニア
クラスター設計、運用、Connect、アップグレード
バックエンドエンジニア
Java、.NET、Python、Goのプロデューサーとコンシューマー
データエンジニア
ストリーム処理とレイクハウスへのシンク
クラウド・DevOpsエンジニア
Terraform、Kubernetes、モニタリング
QAエンジニア
イベントフローのコントラクトテストと負荷テスト
運用できるイベントストリーミング
コードより設計が先です。パーティションキーは業務が必要とする順序に合わせて選び、スキーマには互換性ルールを設け、配信セマンティクスはフローごとに決めます。大半のフローでは、冪等なコンシューマーを伴う少なくとも1回の配信、少数のフローではトランザクションです。トピック、ACL、クォータ、コネクタはコードで宣言し、他の変更と同じようにレビューします。
稼働開始前には、想定ピークに余裕を加えた負荷でクラスターをテストし、コンシューマーラグとレプリケーション不足のパーティションにアラートを設定し、ブローカーの喪失、停滞したコンシューマー、トピックの再生に対するランブックを用意します。アップグレードは、まずステージングでリハーサルします。
その他のデータ・AIサービス
AIと機械学習
AIと機械学習の開発サービス:需要予測、不正検知、レコメンデーションシステム、コンピュータビジョン、NLPと音声認識、MLOpsを、専任の機械学習エンジニアまたはプロジェクト単位でご提供します。
データエンジニアリング
データエンジニアリングサービス:ETLパイプライン、Spark、dbtとストリーミング、Snowflake・Databricks・BigQuery・Redshift・Microsoft Fabric上のデータウェアハウスとレイクハウスを、専任のデータエンジニアまたはプロジェクト単位でご提供します。
データ分析とPower BI
データ分析とPower BIのサービス:Power BI、Tableau、Lookerのダッシュボード、プロダクト分析、A/Bテスト、財務・マーケティングのレポートを、専任のデータアナリストとBI開発者またはプロジェクト単位でご提供します。
データベース開発
データベース開発・運用管理サービス:SQL Server、PostgreSQL、MySQL、Oracle、MongoDBでのスキーマ設計、クエリのチューニング、移行、バックアップを、専任のデータベース開発者とDBA、またはプロジェクト単位でご提供します。
コンピュータビジョン開発
コンピュータビジョン開発サービス:物体検出、外観検査、OCR、動画分析、医用画像、エッジデバイス上のモデルを、専任のコンピュータビジョンエンジニアまたはプロジェクト単位でご提供します。
データアノテーション
AI向けデータアノテーション・ラベリングサービス:画像、動画、テキスト、音声、LiDARのラベリング、RLHFと評価用データを、全バッチの品質管理つきで、専任のデータアノテーターまたはプロジェクト単位でご提供します。
MLOps
MLOpsのサービスとコンサルティング:MLプラットフォーム、モデルのCI/CD、モデルレジストリ、サービングとオートスケーリング、GPUインフラ、ドリフト監視、LLMOpsを、専任のMLOpsエンジニアまたはプロジェクト単位でご提供します。
Databricks開発
Databricksの開発とコンサルティング:レイクハウスの構築、Lakeflowパイプライン、Unity Catalog、移行、AI/BI、機械学習、コスト管理を、専任のDatabricksエンジニアまたはプロジェクト単位でご提供します。
Snowflake開発
Snowflakeの開発とコンサルティング:ウェアハウス設計、SnowpipeとOpenflowによるデータ取り込み、dbt、移行、Cortex AI、セキュリティ、コスト管理を、専任のSnowflake開発者またはプロジェクト単位でご提供します。
ワークフロー自動化
ワークフローとAIの自動化サービス:n8n、Make、Zapier、Power Automateのフロー、ワークフロー内のAIエージェント、CRM・財務・文書の自動化を、専任の自動化開発者またはプロジェクト単位でご提供します。
Kafka開発に関するご質問
Kafkaエンジニアは、どの業界で仕事をしていますか。
決済、取引モニタリング、トレーディングデータのフィンテック、銀行、保険。注文、在庫、クリックストリームのEC・小売。出荷追跡と車両イベントの物流。ネットワークと利用状況のイベントの通信・クラウドインフラ。入札とインプレッションのストリームの広告・マーケティングテクノロジー。センサーとメーターのデータの製造・エネルギー。マイクロサービス間のイベントのエンタープライズSaaSです。
Confluent Cloud、Amazon MSK、自社クラスターのどれがよいですか。
御社の他のシステムがどこで動いているか、運用をどこまで引き受けたいかによります。Confluent Cloudは、マネージドコネクタ、Flink、Schema Registry、Tableflowを1つのサービスで提供します。MSKとEvent Hubsは、御社自身のAWSまたはAzureのアカウントと請求の中に置かれます。StrimziによるセルフマネージドのクラスターはKafkaの運用を引き受ける代わりに、完全な制御を得られます。何かを購入する前に、御社の規模に合わせてトレードオフを整理してお示しします。
まだZooKeeperで動いているクラスターをアップグレードできますか。
はい。Kafka 4はKRaftでのみ動作するため、ZooKeeperクラスターはまず3.xのリリースでKRaftに移行します。クラスターがトラフィックを処理し続けたままコントローラーを追加してメタデータを移し、クライアントが削除されたAPIに対応しているか確認してから、Kafka 4にアップグレードします。
Kafkaエンジニアは、どのくらいで開始できますか。
適任のKafkaエンジニアがすぐに対応可能な場合、開始までの条件は、御社の面接と、NDAおよび知的財産権の譲渡契約の締結のみです。そうでない場合は人材を探索し、通常は2〜3週間以内に候補者のプロフィールをお出しします。御社が承諾するまで、誰も業務を始めません。
BigTree108を通じてKafkaエンジニアを採用するには、どうすればよいですか。
必要な業務内容、シニアリティ、稼働時間をお知らせください。1〜2名の候補者をプロフィールとともにご提案し、御社が自社で採用する場合と同じ形で面接を行います。契約はBIG TREE 108 LLCとの1本、請求書は月1通です。
成果物の権利は、誰に帰属しますか。
御社です。すべてのスペシャリストはBigTree108と署名済みの契約を結び、成果物のすべてを会社に帰属させています。さらに、御社との契約により、その権利は御社に引き継がれます。コード、デザイン、ドキュメントは、当社だけが変更できる場所ではなく、御社のリポジトリとツールに納品します。
Kafkaを構築・運用中ですか。
イベント量、サービスの言語、クラスターを動かす場所をお知らせください。1営業日以内に、計画、アーキテクチャレビュー、または候補者のプロフィールをお届けします。