RSSAmplifier

Blog

Nicola Ferraro

Yet another software developer. Ideas are my own. Writing about Apache Camel, Kubernetes, and cloud-native integration.

nicolaferraro.meRSS feed ↗28 posts

Latest posts

Four Years at Redpanda

After four years of silence, a look back at the leap I took to join Redpanda, the serverless team, and why I am writing again.

Camel meets KEDA

Camel K integrations can leverage KEDA to scale based on the number of incoming events.

Low Code Camel

How Kamelets enable a low code integration experience.

From Camel to Kamelets: new connectors for event-driven applications

I've done two similar talks this year at ApacheCon @Home and Asia, both on the ease of use of the new Kamelet paradigm when building event-driven applications. <iframe width="560" height="315" src="https://www.youtube.com/embed/xVL1gJ5AJVg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"…

Camel K 1.4.0 Released

Details of what we have done in the Camel K 1.4.0 release.

Kamelet Catalog

We're starting a new initiative at Apache Camel to create a community-driven catalog of reusable Kamelets

Debugging Camel K

What if your Camel K integration does not work as expected? How do you debug it? Well, there's a \"debug\" command now...

Kamelets

Kamelets are the most important feature released with Apache Camel K 1.2.0. Apart from their cool name, Kamelets represent a significant change in the whole Camel ecosystem, because they introduce new ways of using Apache Camel in the cloud and a novel approach for contributing new connectors. What is a Kamelet? A Kamelet is a " Kamel Route Snipp et ". Before going into the details of what this…

Serverless Integration on Kubernetes with Apache Camel K

I've presented Apache Camel at the last Kubecon EU conference that took place on August 19th, 2020. As for many conferences this year, Kubecon EU was held online, not in the sunny Amsterdam as it was planned. No time to meet in person the developers that are making really good things in the Knative and Kubernetes space, but the talks were pretty awesome, and now everybody can watch them for free…

Event-driven serverless applications with Camel K

One of the talks I've most enjoyed doing in 2020. A DevNation Tech Talk explaining where do we see Camel K in the context of event-driven applications. <iframe width="560" height="315" src="https://www.youtube.com/embed/hlUzLC71nAM" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

Camel K 1.0 is here

Apache Camel K has made a lot of progress since its inception and we're now proud to announce the 1.0 release . We've been working hard in the past months to add more awesome features to Camel K, but also to improve stability and performance. This post contains a list of cool stuff that you'll find in the 1.0 GA release. NOTE: this article has been first published on the Apache Camel's Blog .…

Camel K on Knative: Agile Integration becoming Serverless

Knative is an open source project for adding serverless building blocks on Kubernetes and it's constantly gaining traction among developers. In Apache Camel K, we've been working hard to leverage all the new possibilities that it provides and this article will show the results we've achieved so far. If you're not familiar with Camel K , you can read the introductory blog post . Camel K provides a…

Introducing Camel K

Just few months ago, we were discussing about a new project that we could start as part of Apache Camel. A project with the potential to change the way people deal with integration. That project is now here and it's called "Apache Camel K" . The "K" in the title is an obvious reference to Kubernetes , you may think. But there's also a less-obvious reference to Knative : a community project with…

The Saga Pattern in Apache Camel

A new enterprise integration pattern has been added to Apache Camel (2.21.0): the "Saga" pattern. This article will show you why, when and how to use it in order to build robust and consistent applications in the cloud. What is a Saga? Although the name "Saga" has been widely misused recently, especially in the field of front-end development, in the context of distributed systems the term "Saga"…

Creating Clustered Singleton Services on Kubernetes

Creating a cluster of related containers is really easy with Openshift and Kubernetes. Resources such as Deployment support scaling to multiple instances natively. Services and load balancers are provided for free. But any time you create a cluster of containers, as soon as your application becomes more complex than a "Hello World!", there's a question that often arises: "How can I run a single…

Integrating Applications: The Reactive Way

It has been a pleasure to give a talk at JBCNConf, one of the biggest conferences about Java in Europe. I've presented the work that we've been doing recently on reactive streams in Apache Camel, with a fancy introduction on the reactor pattern and a lot of reasoning on end-to-end backpressure. I've been really happy to see my name in the "top 10" of speakers at the end of the conference. I feel…

Cloud Native Applications on Kubernetes: a DevOps Approach

I've talked at Voxxed Days Ticino 2017 about building Cloud Native applications on Kubernetes and Openshift. The slides are available here: <iframe src="//www.slideshare.net/slideshow/embed_code/key/kJYs2wzJRRAQZp" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;"…

Extending DevOps to Big Data Applications with Kubernetes

I've talked at Voxxed Days Buchares 2017 about how to apply some DevOps practices to Big Data applications by leveraging the power of Kubernetes and Openshift. DevOps, continuous delivery and modern architectural trends can incredibly speed up the software development process. Big Data applications cannot be an exception and need to keep the same pace. In this talk, Nicola Ferraro (Red Hat) will…

Hot Reconfiguration of Microservices on Kubernetes

Spring Cloud Kubernetes is a fantastic project from the Fabric8 team that contains a lot of useful tools for building spring-boot based microservices. Version 0.1.3 includes a new feature that allows changing the configuration of a microservice at runtime using Kubernetes config maps. Spring-boot applications are much appreciated for their simple configuration mechanism, based on properties or…

Apache Camel meets Spring-Boot

Next version of Apache Camel (2.18.0) is about to come with a long list of new features and components. Even if previous release of Camel was 2.17.3 , the new version is actually a major release, containing a lot of improvements over previous version. Now Camel compiles against Java 8 and most part of the code has been allowed to use constructs like lambdas, but also the API interfaces have been…

Creating a Telegram Bot in 5 minutes with Apache Camel

Recently, I started contributing to open source software of the Apache Software Foundation and I developed camel-telegram , a component that allows camel based applications to exchange data using the Telegram messaging network. It has been released as of Apache Camel 2.18.0. The component is targeted to enterprise applications, to let them route chat messages within their ESB and communicate with…

Spash - Organizing your Big Data with SSH and Bash

Spash is a command line tool for Big Data platforms that simulates a real Unix environment, providing most of the commands of a typical Bash shell on top of YARN, HDFS and Apache Spark. Spash uses the HDFS APIs to execute simple file operations and Apache Spark to perform parallel computations on big datasets. With Spash, managing a Big Data cluster becomes as natural as writing bash commands .…

Logging to a NoSQL DB from Spark

Logging effectively is often a hard task in standard applications. But when the application runs in a distributed environment, for instance, a Spark job in a big YARN cluster, it becomes ten times harder. Jobs are split into thousands of tasks that run inside multiple worker machines, so the classic console logging is not a good option , because the logs get written to the standard output of…

A Brief History of Big Data

Why everybody talks about Big Data? Where does Hadoop come from? Which steps led to the diffusion of Spark? What’s next? This presentation will drive you through all the steps that brought to this “big” change. <iframe src="//www.slideshare.net/slideshow/embed_code/key/rT6NWvtd5jYAyV" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid…

Spark-HBase-Connector 1.0.2 is out

The Spark-HBase-Connector project started as a 3-days programming marathon I made last year. At home, with the flu. Now it is becoming one of the most popular drivers to read/write data to Apache HBase from Spark. The project is hosted on github: https://github.com/nerdammer/spark-hbase-connector . The library is also available on Maven. You can find more information on the github page. Probably,…

Using Non-Serializable Objects in Apache Spark

Anyone who starts writing applications for Apache Spark encounters immediately an infamous exception... org.apache.spark.SparkException: Task not serializable at org.apache.spark.util.ClosureCleaner$.ensureSerializable(ClosureCleaner.scala:304) at org.apache.spark.util.ClosureCleaner$.org$apache$spark$util$ClosureCleaner$$clean(ClosureCleaner.scala:294) at…

Exception Handling in Apache Spark

Apache Spark is a fantastic framework for writing highly scalable applications. Data and execution code are spread from the driver to tons of worker machines for parallel processing. But debugging this kind of applications is often a really hard task. Exceptions need to be treated carefully, because a simple runtime exception caused by dirty source data can easily lead to the termination of the…

println("Hello World!")

Welcome to my new blog. Cool things are coming up...