Camel K in a Nutshell

DZone 's Guide to

Camel K in a Nutshell

In this article, learn more about Camel K and take a look at a video that explains how it works.

· Integration Zone ·
Free Resource

Camel K, a project under the famous Apache Camel project, is a project that totally changes the way developers work with Kubernetes/OpenShift cloud platforms by automating the nasty configuration and loads of prep work from developers. If you are an old-time developer like me, you did your best to slowly try to adapt to the latest and greatest cloud native “ecology.” It’s not difficult, but with small things and traps here and there. I’ll tell you it's not a smooth ride. It’s understandable for emerging technologies. But with the large adoption of cloud, I see it’s reaching a level of maturity, where now we are thinking of how to make things go faster, as well as making it more accessible to the larger audience. 

Check out some reasons why you might love Camel K.

Real-Time Coding on the Platform

When a developer wants to publish their application onto a Kubernetes/OpenShift Platform, they need to first build the app. And containerized the app to have a working image. Then pushing the image to the platform to run.  If the developer is trying to debug or develop the app with some changes, sorry, go back to square one and build it again. The worst nightmare for developers is the wait. It’s time consuming and breaks the chain of thoughts. Camel K eliminates the painstaking process and lets developers quickly update apps they are building on the platform immediately. By layering the image build on the cloud and streaming the code efficiently with the Camel K operator.

Natively on Cloud

Camel K is smart to discover the surrounding platform resources required to run on the platform. For instance, if a developer exposes an HTTP endpoint in the app, Camel K will know to create a related service and route in the platform. Another example is the cron jobs, where Camel K configures it for developers when it sees the behavior in the code. Configurations are also taken care of for developers with Camel K convert the properties files into Kubernetes resources too. Reversing it is also simple. Simply remove the app, and Camel K will delete the related resource. 

No More Dependency Hell

Dependency is troublesome, annoying things to a developer. It’s not a big deal in the monolithic world, it probably imported everything in the world already from prior projects. (Let’s not talk about the redundancy, wasted resource, and version conflicts). When writing a 20 lines small microservice or function, it doesn’t make sense for a developer to write a 50 line dependency definition. Camel K will smartly pick up the dependencies needed to run the app, it will automatically locate the libraries when building. But also give developers the choice to load any specific libraries they need as well.  

Freedom to Choose the Language and Runtime

Camel K supports a range of languages for developers, no matter if it’s Java or scripting languages like Groovy or Javascript to markup languages like XML or YAML. Camel K no longer needs a big fat framework like Springboot to run. Depending on the types of applications, developers can choose to run simple plain small Java Main in their microservice or go with the latest and greatest Quarkus with fast boot-up time for serverless apps. Running the runtime requires literally just ONE configuration. “-t quarkus.enabled=true”

Simple and Small, but Powerful

If we look closely at the Camel K app, the core is from Apache Camel. This means developers will have well-established patterns to reuse. Pre-built transformation for data and 300+ components available for quick connectivity. No more reinventing the wheel. So the code is cleaner, easier to maintain, but it also maintains highly customizable freedom for users. 

Serverless Made Easy

Reduce the operation, development, and scaling cost. KNative is the most popular serverless framework on Kubernetes. It introduces the idea of scaling to zero, scaling up for load. And also serving the new specification for future Cloud Events. Applying these serverless capabilities to an app on the cloud requires a set of configuration. But with Camel K, it will automatically do it and make it seamless for a developer trying to access the channel to get the cloud events. 

Check out this video I made a couple of months ago on Camel K. A 1000 feet high overview of what Camel K is. And also the getting started series I made for Camel K.

camelk, integration, knative, kubernetes, serverless

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}