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 | 2 years 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

Debugging Java Collections Framework Issues in Production

Outside of the language itself, collections are the most basic building block for Java applications. How do we expose them for debugging? The post Debugging Java Collections Framework Issues in Production appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Deserialization Exploits in Java: Why Should I care?

Deserialization vulnerabilities work natively in Java and how attack chains are created. This problem is also not restricted to Java's custom serialization framework. When deserializing JSON, XML, or YAML, similar issues can occur as well. This talk shows some pointers on how to … | Continue reading


@foojay.io | 2 years ago

Journeys in Java, Level 6: Build a Neo4j Microservice

Create a Neo4j database, get data loaded, then build a new service that interacts with the database and provides an API for client services. The post Journeys in Java, Level 6: Build a Neo4j Microservice appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Jakarta Concurrency: Present and Future

Java Concurrency is a small fundamental spec under the Jakarta EE umbrella. As project lead, here's what it is, its future, and how to be involved! The post Jakarta Concurrency: Present and Future appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

The End of the Beginning for Apache Cassandra

Editor’s note: This story originally ran on July 27, 2021, the day that Apache Cassandra 4.0 was released. Today is a big day for those of us in the Apache Cassandra community. After a long uphill climb, Apache Cassandra 4.0 has finally shipped. ... The post The End of the Beginn … | Continue reading


@foojay.io | 2 years ago

JDK 7: An Extended Hello and Farewell

Azul continues to provide updates (scheduled quarterly ones and any out-of-bounds) to the Zulu builds of OpenJDK 7 until at least December 2027. The post JDK 7: An Extended Hello and Farewell appeared first on foojay. | Continue reading


@foojay.io | 2 years ago

Taking VSCodium for a Spin

The VSCode ecosystem has matured, and lots of plugins are available. I decided to give it a shot. Let's see how and why to get started! The post Taking VSCodium for a Spin appeared first on foojay. | Continue reading


@foojay.io | 2 years ago