Serverless & Streaming: A Survival Guide to AWS Lambda Runtimes and Kafka Pipelines

In the modern cloud, we are constantly balancing two massive shifts: the move to Serverless compute and the demand for Real-Time data. But statistics and “Hello World” tutorials are one thing; production is another. 

Recently, two of our engineers, Stefan Ignatescu and Robert Haisuc, took the stage to break down the reality of building on AWS. One tackled the “Holy War” of Lambda Runtimes (Java vs. Python vs. GraalVM), while the other dove deep into the trenches of Streaming ETL with Kafka and AWS Glue. 

 

Here is the honest breakdown of what works, what costs money, and the specific bugs that kept us up at night. 

Part 1: The Lambda Runtime Showdown

To JVM or not to JVM? That is the expensive question. 

 

AWS Lambda promises a lot: pay-per-use, automatic scaling, and zero server management. But when you are building enterprise apps, choosing the right language runtime isn’t just a preference, it’s a business decision regarding latency and cost. 

 

We compared three contenders: Scripting (Python/Node), Standard JVM (Java/Kotlin), and GraalVM. 

1. The "Cold Start" Reality

We ran benchmarks to see how fast these runtimes wake up. 

2. Performance vs. Complexity

If your function runs for a long time (CPU-intensive tasks), the JVM shines. However, GraalVM introduces a “tax” on the developer: complex build processes, harder debugging, and library compatibility issues. 

 

Our Verdict:

Part 2: Streaming Data (Without Drowning)

Moving from “We’ll see the data tomorrow” to “We see it now.” 

 

While Lambda handles the logic, we need to move the data. We are seeing a massive shift from traditional Batch ETL (extract-transform-load) to Streaming ETL. 

 

In our recent architecture for a client, we moved from processing files periodically to ingesting events in real-time using Apache Kafka and AWS Glue. 

The Stack

Why Kafka + Glue?

We chose Kafka because it decouples producers from consumers and handles massive scale. We paired it with AWS Glue because it’s fully managed—we don’t want to manage Spark clusters manually. 

The "War Story": The Networking Handshake from Hell

It wasn’t all smooth sailing. During development, we hit a wall connecting AWS Glue to our Kafka broker. 

 

Kafka clients perform a “handshake” where they ask the controller for the leader of a partition. Our broker was returning localhost as its address. Since AWS Glue has no idea what “localhost” is in the context of our broker container, the connection failed silently. 

 

The Fix: We had to explicitly configure advertised.listeners on the Kafka broker to return its reachable private IP, not localhost. Pro tip: Always check your networking configurations in distributed systems! 

Part 3: The Architecture in Action

We implemented a Medallion Architecture to keep our data sane: 

 

1.Bronze Layer: Raw data ingested from Kafka into S3 via Glue Streaming. 


2.Silver Layer:
 Cleaned, filtered, and aggregated data. 

3.Gold Layer: Business-ready data for reporting. 

 

By using Glue Crawlers, we automatically discovered the schema of our streaming data, making it instantly queryable in Athena using standard SQL. 

Conclusion: Fail Fast, Scale Later

Whether you are choosing a Lambda runtime or building a streaming pipeline, the lesson is the same: Context is King. 

Ready to modernize your data and compute stack?We don’t just read the documentation; we build, break, and fix these systems in production. 

In this article:
Levi9-Vizual-6-Serverless-&-Streaming-1200x628-modified
Written by:
Rober Haisuc,
Java Software Developer
Levi9 Romania
Levi9-Vizual-5-Serverless-&-Streaming-1200x628-modified
Written by:
Stefan Ignatescu,
Java Software Developer
Levi9 Romania
Published:
3 March 2026

Related posts

Amanda Andriesanu

Delivery Director

Amanda Andriesanu brings over 20 years of experience in software service delivery across diverse industries, including telecom, banking, automotive, and education. With a proven track record of building strong client relationships and leading technology teams in complex business environments, Amanda excels at finding clarity in complexity. She strives to balance just the right amount of ambiguity with predictability, ensuring people and actions align with a meaningful purpose.

Anca Dana Gafiteanu

Delivery Centre Director

Anca Gafiteanu is the Delivery Centre Director at Levi9, overseeing operations in Romania.

With over 15 years of experience in IT and leadership, Anca specializes in managing large-scale delivery teams, driving operational excellence, and fostering collaborative cultures. Anca’s commitment to innovation and her passion for developing talent make her our invaluable leader at Levi9.