I am having a hard time understanding the differences between GCP Dataflow/Apache Beam and Spring Cloud Dataflow. What I am trying to do is move to a more cloud-native solution for streaming data processing, so our developers can focus more on developing core logic rather than managing infrastructure.
We have an existing streaming solution that consists of spring cloud dataflow 'modules' that we can iterate on and deploy independently, much like microservices, which works great, but we are looking to migrate into an existing platform in GCP provided by our business that requires us to use GCP Dataflow. At a high level, the solution is simply:
Stream 1:
Kafka Source (S0) -> Module A1 (Ingest) -> Module B1 (Map) -> Module C1 (Enrich) -> Module D1 (Split) -> Module E1 (Send output to Sink S1)
Stream 2:
Kafka Source (S1) -> Module A2 (Ingest) -> Module B2 (Persist to DB) -> Module B3 (Send Notifications through various channels)
The solution we would like to move to, from what I am understanding, should be identical, however the modules would become GCP Dataflow modules, and the source/sink would become GCP Pub/Sub rather than kafka.
Most of the documentation I have come across does not compare SCDF and Apache Beam (GCP Dataflow modules) as similar solutions, so I am wondering how/if it would be possible to port our existing logic over to an architecture like that.
Any clarification would be greatly appreciated. Thanks in advance.