Apache Camel is an open source integration platform.
N/A
Google Cloud Functions
Score 8.6 out of 10
N/A
Google Cloud Functions enables users to run code in the cloud with no servers or containers to manage. Cloud Functions is a scalable, pay-as-you-go functions as a service (FaaS) product to help build and connect event driven services with simple, single purpose code.
Message brokering across different systems, with transactionality and the ability to have fine tuned control over what happens using Java (or other languages), instead of a heavy, proprietary languages. One situation that it doesn't fit very well (as far as I have experienced) is when your workflow requires significant data mapping. While possible when using Java tooling, some other visual data mapping tools in other integration frameworks are easier to work with.
Google Cloud Platform Cloud functions are an excellent way to start a serverless journey in GCP, however, using Cloud Run may be the better solution. For users not acquainted with Docker & Linux, I would definitely recommend Google Cloud Functions, however, for more experienced users, Cloud Run may be better suited.
Camel has an easy learning curve. It is fairly well documented and there are about 5-6 books on Camel.
There is a large user group and blogs devoted to all things Camel and the developers of Camel provide quick answers and have also been very quick to patch Camel, when bugs are reported.
Camel integrates well with well known frameworks like Spring, and other middleware products like Apache Karaf and Servicemix.
There are over 150 components for the Camel framework that help integrate with diverse software platforms.
Overall Google Cloud Functions is losing a lot of benefits to other GCP services, making it less attractive to users. A simple example would be the need to zip application files and push them to Google Storage which makes it a bit complicated to automate via a CI/CD pipeline. Another "similar" solution would be using Cloud Run although the need for a docker image is there, with the recent evolutions to Cloud Run (ability to downscale to 0) it makes a lot more interesting.
Documentation is provided and clear for this service. Although GCP support is included in the current contract we didn't get to use it since the process is pretty straightforward.
If you are looking for a Java-based open source low cost equivalent to webMethods or Azure Logic Apps, Apache Camel is an excellent choice as it is mature and widely deployed, and included in many vendored Java application servers too such as Redhat JBoss EAP. Apache Camel is lacking on the GUI tooling side compared to commercial products such as webMethods or Azure Logic Apps.
Very fast time to market in that so many components are available to use immediately.
Error handling mechanisms and patterns of practice are robust and easy to use which in turn has made our application more robust from the start, so fewer bugs.
However, testing and debugging routes is more challenging than working is standard Java so that takes more time (less time than writing the components from scratch).
Most people don't know Camel coming in and many junior developers find it overwhelming and are not enthusiastic to learn it. So finding people that want to develop/maintain it is a challenge.