kSQL/kSQLDB Best Practices for Production

I am going through kSQL currently. I have a couple of questions in terms of how can we make it production worthy. And as I read it’s much easier and recommended to develop streams using kSQL as opposed to write Java code using KStreams and KTable.

  1. It is impractical to write kSQL queries in Editor Tab every time (especially when you have multiple queries and streams in your topology). How do people generally release kSQL code to Confluent Platform or Confluent Cloud?
  2. What are the best practices to develop a streaming application using kSQL?
  3. If there are changes in stream definition; what kind of deployment tool/mechanism is used to update that topology? How do people maintain/manage kSQL code where the topology is changing frequently?
  4. Are there any real-world examples of platforms where ksql is widely used? and what are the typical obstacles or pitfalls that people encounter while productizing and what are the best practices around it?
  5. How do you promote your topology from Development cluster to Production cluster ?

Thanks in Advance.