How the world caught up with Apache Cassandra

The O’Reilly book, Cassandra: The Definitive Guide, features a quote from Ray Kurzweil, the noted inventor and futurist:  “An invention has to make sense in the world in which it is finished, not the world in which it is started.”  This quote ... The post How the world caught up … | Continue reading


@foojay.io | 1 year ago

Best Practices for Managing Java Dependencies

Knowing how to select, update, and remove Java dependencies from our application is essential for security. The post Best Practices for Managing Java Dependencies appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

The Unix Philosophy for Low Latency

How to realize the Unix Philosophy in Enterprise IT using a strongly-typed Enterprise language (Java), a suitable component technology (microservices) and an appropriate mechanism to glue them together (Chronicle Queue & Wire) The post The Unix Philosophy for Low Latency appeared … | Continue reading


@foojay.io | 1 year ago

Baeldung Series Part 2: Build a Dashboard With Cassandra, Astra and CQL – Mapping Event Data

1. Introduction In our previous article, we looked at augmenting our dashboard to store and display individual events from the Avengers using DataStax Astra, a serverless DBaaS powered by Apache Cassandra using Stargate to offer additional APIs for working with it. In this articl … | Continue reading


@foojay.io | 1 year ago

The Story of a Java 17 Native Memory Leak

How a native memory leak in Java 17 got fixed, improving the future operability of the JVM platform for millions! The post The Story of a Java 17 Native Memory Leak appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

A Quick Glance at the Kubernetes Gateway API

The idea behind the Gateway API is to have a clean separation between standard objects and the proprietary implementation. The post A Quick Glance at the Kubernetes Gateway API appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

On Cosmetics vs. Intrinsics in Programming

Instead of arguing about cosmetics, e.g., annotations vs. "functional", we need to spend time on intrinsics more: actors, asynchronous, etc. The post On Cosmetics vs. Intrinsics in Programming appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Serverless is the New Timeshare

Remember mainframes? Serverless is that: we own the machine and you rent out time on our big iron. We went full circle on progress... The post Serverless is the New Timeshare appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Multi-cluster Cassandra deployment with Google Kubernetes Engine (Pt. 2)

This is the second in a series of posts examining patterns for using K8ssandra to create Cassandra clusters with different deployment topologies. The post Multi-cluster Cassandra deployment with Google Kubernetes Engine (Pt. 2) appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Running your Database on OpenShift and CodeReady Containers

An introductory run-through of setting up your database on OpenShift, using your own hardware and RedHat's CodeReady Containers. The post Running your Database on OpenShift and CodeReady Containers appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Learning by Auditing Kubernetes Manifests

Find out about Checkov, which scans cloud infrastructure configurations to find misconfigurations before they're deployed. The post Learning by Auditing Kubernetes Manifests appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Migrating Monoliths to Microservices in Practice

Not another "break down the monolith" article, this article is about making the applicable decisions, measuring, and verifying the results! The post Migrating Monoliths to Microservices in Practice appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Can Java/Jakarta EE do Microservices?

In this myth-busting webinar, Steve Millidge (founder of Payara), demonstrates that Java/Jakarta EE can do microservices. The post Can Java/Jakarta EE do Microservices? appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Java Thread Programming (Part 15)

Learn how to do asynchronous method invocation with Callable and Future with a practical example. The post Java Thread Programming (Part 15) appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Pi4J V2.2.0 Released

Pi4J provides friendly object-oriented I/O API and implementation libraries for Java Programmers to access the full I/O capabilities of the Raspberry Pi platform. The post Pi4J V2.2.0 Released appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

What the Heck Is Project Loom for Java?

Project Loom aims to fix issues in the current concurrency model by introducing two new features: virtual threads and structured concurrency. The post What the Heck Is Project Loom for Java? appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

End-to-End Tracing with OpenTelemetry

Let's focus on tracing by following a request across an API gateway, two apps based on different tech stacks, and their respective databases. The post End-to-End Tracing with OpenTelemetry appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

External Debugging Tools 3: JMXTerm

Monitor your application in production and locally. Understand what's going on under the hood while debugging & changing settings on the fly. The post External Debugging Tools 3: JMXTerm appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Google Remote Procedure Call (gRPC) Example in Payara Server

Payara has developed a module to support gRPC. It is available in Payara Community GitHub repository. The post Google Remote Procedure Call (gRPC) Example in Payara Server appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Using Git Interactive Rebase

Learn how to clean up your Git commit history with Git interactive rebase, both via IntelliJ IDEA and from the command line. The post Using Git Interactive Rebase appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Cassandra Performance: Throughput, Responsiveness, Capacity, and Cost

Azul’s Platform Prime is by far the highest throughput JVM for powering Cassandra, also exhibiting better response times and latencies. The post Cassandra Performance: Throughput, Responsiveness, Capacity, and Cost appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Exploring CVE-2022-33980: The Apache Commons Configuration RCE Vulnerability

Before we dive into the details of this vulnerability, we want to make it clear that there’s no need for panic! The post Exploring CVE-2022-33980: The Apache Commons Configuration RCE Vulnerability appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Faster Integration Tests with Reusable Testcontainers

Learn how to improve your test performance against container-based resources by magnitudes in a couple of easy steps! The post Faster Integration Tests with Reusable Testcontainers appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Java Bytecode Simplified: Journey to the Wonderland (Part 2)

Let’s appreciate the Java Virtual Machine (JVM) even more. Today we'll discuss Constant Pool in quite some detail. The post Java Bytecode Simplified: Journey to the Wonderland (Part 2) appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Backend-for-Frontend: The Demo

Let's use a very simple e-commerce use-case to demo how to implement the Backend-for-Frontend with and without the help of Apache APISIX. The post Backend-for-Frontend: The Demo appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

When Disaster Strikes: Production Troubleshooting

Production is failing and everything is lost? That used to be the case. Fail whale, hysteria and panic. Developer observability fixes this! The post When Disaster Strikes: Production Troubleshooting appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Building Secure CI/CD Pipelines with GitHub Actions for Your Java Application

Learn how to integrate Snyk into your GitHub CI/CD to automate security scanning as part of your build cycle prior to production. The post Building Secure CI/CD Pipelines with GitHub Actions for Your Java Application appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Deploy a Multi-Datacenter Apache Cassandra Cluster in Kubernetes (Pt. 1)

Today let's examine different Kubernetes deployment patterns and show how to implement them using K8ssandra. The post Deploy a Multi-Datacenter Apache Cassandra Cluster in Kubernetes (Pt. 1) appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Ignore Infrastructure: Concentrate on Code with Jakarta EE and Payara Cloud

What used to take days or weeks of frustration getting the infrastructure set up to run an application in the Cloud is now automated when you use Payara Cloud. The post Ignore Infrastructure: Concentrate on Code with Jakarta EE and Payara Cloud appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Creating a GraphQL API for Neo4j with Quarkus and SmallRye GraphQL

Learn how to write a GraphQL API that uses Neo4j AuraDB as a backend with Quarkus and deploy it as a native image on Heroku. The post Creating a GraphQL API for Neo4j with Quarkus and SmallRye GraphQL appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

External Debugging Tools 1: dtrace and strace

With these tools, track bugs within an application and its external dependencies without the source or deep knowledge of the environment! The post External Debugging Tools 1: dtrace and strace appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Foojay Slack: join.slack.com/t/foojay/signup

Join Foojay.io on Slack, here: join.slack.com/t/foojay/signup The post Foojay Slack: join.slack.com/t/foojay/signup appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

What is a Java Uber-JAR and Why Is It Useful?

Get started with Uber-JAR today and learn the different variants of the Uber-JAR artifact and the advantages and drawbacks it has. The post What is a Java Uber-JAR and Why Is It Useful? appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Getting Started with Deep Learning in Java Using Deep Netts (Part 2)

For more complex deep learning challenges, more data, and need better performance, take a look at Deep Netts Professional Edition. The post Getting Started with Deep Learning in Java Using Deep Netts (Part 2) appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

A Flavour of TornadoVM on Apple M1 Pro

This article aims to describe all of the main steps required to install and run TornadoVM on Apple M1 Pro. The post A Flavour of TornadoVM on Apple M1 Pro appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Write Your Own Service Discovery Client for Apache APISIX

Most modern infrastructures are dynamic - servers are cattle, not pets. In this article, I describe how to implement a dynamic node registry based on a YAML file. The post Write Your Own Service Discovery Client for Apache APISIX appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Understand the Root Cause of Regressions with Git Bisect

The hardest part in debugging is knowing the general area of the bug... and bisect literally shines a light on the specific commit that caused it. The post Understand the Root Cause of Regressions with Git Bisect appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Five Data Models for IoT: Managing the Latest IoT Events Based on a State in Apache Cassandra

Apache Cassandra is a rock-solid choice for managing IoT and time series data at scale. The most popular use case of storing, querying and analyzing time series generated by IoT devices in Cassandra is well-understood and documented. In general, a ... The post Five Data Models fo … | Continue reading


@foojay.io | 2 years ago

NoSQL Use Cases: When to Use a Non-Relational Database

There are many things to consider before making the move to NoSQL. In this article, we’ll explore when NoSQL use cases make sense. The post NoSQL Use Cases: When to Use a Non-Relational Database appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Stateless, Secretless Multi-cluster Monitoring in Azure Kubernetes Service with Thanos, Prometheus and Azure Managed Grafana

This article aims at cloud native engineers that face the challenge of observing multiple Azure Kubernetes Clusters (AKS) and need a flexible, stateless solution. The post Stateless, Secretless Multi-cluster Monitoring in Azure Kubernetes Service with Thanos, Prometheus and Azure … | Continue reading


@foojay.io | 2 years ago

How to Deploy a Vaadin Application to Google Cloud App Engine

Deploying to Google App Engine is straight-forward using the Maven plugin, but you must analyze the log files and probably configure the Java version, the instance size, and session affinity. The post How to Deploy a Vaadin Application to Google Cloud App Engine appeared first on … | Continue reading


@foojay.io | 2 years ago

Discussing Backend For Front-end

The idea behind BFF is to move logic from each microservice to a dedicated deployable endpoint. The post Discussing Backend For Front-end appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

The Cost of Production Blindness

The Cloud rose to fame on the banner of cutting costs but with its tremendous growth, spend is rocketing. Learn how you can cut down overspend! The post The Cost of Production Blindness appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Kubernetes and the Data Centre: Is Full Scale Migration Possible?

Using Kubernetes as a standard layer will help everyone to control how and where applications run and data gets created. The post Kubernetes and the Data Centre: Is Full Scale Migration Possible? appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

General Build Distribution: A Game-Changer or a Gimmick?

Understand the performance potential of remote and distributed builds and explore how to improve build feedback times. The post General Build Distribution: A Game-Changer or a Gimmick? appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Why a Cloud-Native Database Must Run on K8s

We’ve been talking about migrating workloads to the cloud for a long time, but a look at the application portfolios of many IT organizations demonstrates that there’s still a lot of work to be done. In many cases, challenges with ... The post Why a Cloud-Native Database Must Run … | Continue reading


@foojay.io | 2 years ago

Remote and Distributed Build Patterns

Let's review build patterns leveraging remote machines, clarify the definition of remote and distributed builds, and discuss their variations. The post Remote and Distributed Build Patterns appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

How to Secure Your Web Apps With An API Gateway

When header values depend on the underlying web app, we need to reload the configuration without downtime and Continuous Deployment pipeline integration. The post How to Secure Your Web Apps With An API Gateway appeared first on foojay. | Continue reading


@foojay.io | 2 years ago