Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How AWS MSK and Confluent Schema Registry and Confluent Kafka connect recommended to use together?

We are planning to use AWS MSK service for Managed Kafka and Schema Registry and Kafka Connect services from Confluent together to run our connectors (Elasticsearch Sink Connector). We have planned to run Schema Registry and Connectors in EC2.

As per the Confluent team, They could not officially support Confluent Schema Registry and Kafka Connect if we use MSK for Kafka.

So, Anyone can share their experience? like if Anybuddy has used a combination of MSK and Confluent services together in the production environment?

Is there any risk in using this kind of combination?

Is it recommended or not to use this combination?

How is Confluent community support if we will face any issue with Connectors?

Any other suggestions, comments, or alternatives?

We already have a Confluent Corporate Platform license but We want to have managed Kafka service that's why we have chosen AWS MKS as it's very cost-effective than Confluent Cloud as per our analysis?

Kindly please share your thoughts and Thanks in advance.

Thanks

like image 434
Suresh Sanghani Avatar asked Oct 28 '20 07:10

Suresh Sanghani


People also ask

Does AWS MSK support Kafka connect?

MSK Connect is fully compatible with Kafka Connect, which means you can migrate your existing connectors without code changes. You don't need an MSK cluster to use MSK Connect.

What is the relationship between Confluent and Kafka?

Specifically, Confluent Platform simplifies connecting data sources to Kafka, building streaming applications, as well as securing, monitoring, and managing your Kafka infrastructure.

How does schema registry work in Kafka?

Schema Registry lives outside of and separately from your Kafka brokers. Your producers and consumers still talk to Kafka to publish and read data (messages) to topics. Concurrently, they can also talk to Schema Registry to send and retrieve schemas that describe the data models for the messages.

Which AWS service will be used for managed Kafka and schema registry?

We are planning to use AWS MSK service for Managed Kafka and Schema Registry and Kafka Connect services from Confluent together to run our connectors (Elasticsearch Sink Connector). We have planned to run Schema Registry and Connectors in EC2.

Does confluent schema registry and Kafka Connect work with EC2?

We have planned to run Schema Registry and Connectors in EC2. As per the Confluent team, They could not officially support Confluent Schema Registry and Kafka Connect if we use MSK for Kafka. So, Anyone can share their experience? like if Anybuddy has used a combination of MSK and Confluent services together in the production environment?

How does the GLUE Schema registry work with Kafka?

Through Apache-licensed serializers and deserializers, the Glue Schema Registry integrates with Java applications developed for Apache Kafka, Amazon Managed Streaming for Apache Kafka (Amazon MSK), Kinesis Data Streams, Apache Flink, Amazon Kinesis Data Analytics for Apache Flink, and AWS Lambda.

What is a sink connector in Kafka?

Sink Connectors receive schema information in addition to the data for each message. This allows sink connectors to know the structure of the data to provide additional capabilities like maintaining a database table structure or creating a search index. Each of the converters change schema data into the internal data types used by Kafka Connect.


2 Answers

Objectively answering your question this is something doable but it depends where is your major pain.

From the licensing perspective there is nothing that forces you to have a Confluent subscription just to use Kafka Connect or Schema Registry, as they are based on the Apache License 2.0 and Confluent Community License respectively.

From the technical perspective you can run both Kafka Connect and Schema Registry on EC2 and; as long they are running in the same VPC that the MSK cluster they will work flawlessly.

From the cost perspective you will have to evaluate how much it costs to have Kafka Connect and Schema Registry being managed by you and/or your team. Think not only about the install and setup phase but the manage and evolve phase as well. The software might not have any cost but the effort to operate these components can be translated into cost.

How is Confluent community support if we will face any issue with Connectors?

The Kafka community is usually very helpful whether if you ask for help in the Apache Kafka users group or the community that Confluent owns in Slack. Of course, it is all about best effort and you can't rely on them to get support. It may take several days until some good Samaritan decide to help you. Which also translates to cost: how much costs being down and/or waiting for a resolution?

I am no longer a Confluent employee and therefore I won't even try to convince you to buy from them. But you should evaluate this component of cost and check if using Confluent Cloud wouldn't provide you a more cost effective solution since it includes a managed version of Kafka, Kafka Connect, and Schema Registry. In my experience, the managed Kafka on Confluent Cloud is not that costly and the managed Schema Registry is "free", but using a managed connector can be very costly and it can be worse depending of the number of tasks that you configure in the managed connector. This is the only gotcha that you ought to watch out.

like image 83
Ricardo Ferreira Avatar answered Sep 19 '22 00:09

Ricardo Ferreira


AWS MSK now supports fully managed free schema registry service that easily integrates with Kafka and other AWS services like Kinesis, Glue etc. It's much easier to get started with it.

like image 40
blacktooth Avatar answered Sep 21 '22 00:09

blacktooth