<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cloud on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/category/cloud/</link><description>Recent content in Cloud on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 21 Jul 2026 11:52:14 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/category/cloud/index.xml" rel="self" type="application/rss+xml"/><item><title>BoxLang AWS, Azure, and Google Secrets Manager Module Released</title><link>https://foojayio.github.io/website/today/boxlang-aws-azure-and-google-secrets-manager-module-released/</link><pubDate>Tue, 21 Jul 2026 11:38:18 +0000</pubDate><guid>https://foojayio.github.io/website/today/boxlang-aws-azure-and-google-secrets-manager-module-released/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/boxlang-aws-azure-and-google-secrets-manager-module-released/boxlang-secrets-700x467.jpg" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;Every production application carries secrets: database passwords, API tokens, encryption keys. The question is never whether to manage them &amp;ndash; it&amp;rsquo;s how badly the current approach is going to hurt you.&lt;/p&gt;
&lt;p&gt;Hardcoded credentials in config files get committed to repos. Environment variables sprawl across deployment pipelines with no audit trail. Custom integration code for each cloud provider means three different patterns to maintain, test, and rotate. And when a key needs to rotate at 2am? Someone is waking up.&lt;/p&gt;</description></item><item><title>Warm Up Fast, Run Lean: Vertical Scaling for Java on Kubernetes with Azul Prime and Kedify</title><link>https://foojayio.github.io/website/today/warm-up-fast-run-lean-vertical-scaling-for-java-on-kubernetes-with-azul-prime-and-kedify/</link><pubDate>Fri, 17 Jul 2026 08:02:07 +0000</pubDate><guid>https://foojayio.github.io/website/today/warm-up-fast-run-lean-vertical-scaling-for-java-on-kubernetes-with-azul-prime-and-kedify/</guid><description>&lt;p&gt;Autoscaling on Kubernetes has evolved significantly, but many production systems still rely on reactive scaling based on CPU and memory utilization. The issue is that resource metrics often lag behind real demand. By the time the CPU rises, users may already be experiencing unacceptable latency.&lt;/p&gt;
&lt;p&gt;For most real services, horizontal scaling should be driven by proactive workload signals such as request rate, concurrency, or queue depth, rather than raw CPU alone. To learn more about this, see &lt;a href="https://kedify.io/resources/blog/autoscaling-delay-resource-based-hpa-vs-proactive-metrics" target="_blank" rel="noopener noreferrer"&gt;this post&lt;/a&gt;
 on autoscaling delay and proactive metrics.&lt;/p&gt;</description></item><item><title>BoxLang 1.15.0 Released: Blazing Fast Strings, Runtime Portability, and much more</title><link>https://foojayio.github.io/website/today/boxlang-1-15-0-released-blazing-fast-strings-runtime-portability-and-much-more/</link><pubDate>Tue, 14 Jul 2026 17:57:10 +0000</pubDate><guid>https://foojayio.github.io/website/today/boxlang-1-15-0-released-blazing-fast-strings-runtime-portability-and-much-more/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/boxlang-1-15-0-released-blazing-fast-strings-runtime-portability-and-much-more/boxlang-v1.15.0-700x467.png" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;BoxLang 1.15.0&lt;/strong&gt; is a high-impact release with two big headlines and a long tail of hardening. The first headline is a &lt;strong&gt;massive performance upgrade to string handling&lt;/strong&gt; : a new first-class &lt;code&gt;BoxStringBuilder&lt;/code&gt; type, compile-time literal folding, smarter &lt;code&gt;&amp;amp;=&lt;/code&gt; semantics, and a runtime concat strategy that automatically switches to builder-backed accumulation once your expression gets big enough. Your existing string-heavy code just got faster. No rewrites required.&lt;/p&gt;
&lt;p&gt;The second headline is architectural. Every class loader in the BoxLang runtime and module system has been fully abstracted behind a pluggable &lt;code&gt;IClassLoaderFactory&lt;/code&gt; interface. That single seam is what unlocks the &lt;strong&gt;Android runtime&lt;/strong&gt; and &lt;strong&gt;Ahead-of-Time (AOT) compiled runtimes&lt;/strong&gt; such as GraalVM Native Image that we have on the roadmap. The default behavior is unchanged, but the ceiling just got a lot higher.&lt;/p&gt;</description></item><item><title>Why We Moved Our Timefold Java Worker Pods from AMD to ARM64</title><link>https://foojayio.github.io/website/today/why-we-moved-our-timefold-java-worker-pods-from-amd-to-arm64/</link><pubDate>Wed, 08 Jul 2026 15:25:58 +0000</pubDate><guid>https://foojayio.github.io/website/today/why-we-moved-our-timefold-java-worker-pods-from-amd-to-arm64/</guid><description>&lt;p&gt;When we investigated unexpected performance variance in our Timefold Solver worker pods on our platform, we traced it to hyperthreading on AMD (x86-64) cloud instances. Switching to ARM (ARM64), where each vCPU maps to a physical core, eliminated the problem and roughly doubled effective throughput per dollar for concurrent solver workloads.&lt;/p&gt;
&lt;p&gt;Originally written by Timefold engineers Lars Beckmann, Jenne De Bleser and Lukáš Petrovický&lt;/p&gt;
&lt;p&gt;Adapted for foojay by Tom Cools&lt;/p&gt;</description></item><item><title>Quarkus Unpacked: Insights from the Foojay Podcast</title><link>https://foojayio.github.io/website/today/quarkus-unpacked-insights-from-the-foojay-podcast/</link><pubDate>Tue, 23 Jun 2026 12:36:54 +0000</pubDate><guid>https://foojayio.github.io/website/today/quarkus-unpacked-insights-from-the-foojay-podcast/</guid><description>&lt;figure class="alignleft is-resized"&gt;
 &lt;img decoding="async" src="3-Quarkus-Unpacked-2-2.jpeg" alt="Quarkus: A Runtime and Framework for Cloud-Native Java" style="width:300px"&gt;
&lt;/figure&gt;
&lt;p&gt;I recently had the pleasure of joining the &lt;a href="https://www.youtube.com/watch?v=_nJCTTrnZkE" target="_blank" rel="noopener noreferrer"&gt;Foojay podcast&lt;/a&gt;
 to talk about Quarkus in depth. The conversation covered a lot of ground, from what makes Quarkus different to the practical trade-offs between JVM and native mode. This post captures the key questions and answers from that discussion, lightly edited for readability.{#_quarkus_unpacked_insights_from_the_foojay_podcast}&lt;/p&gt;
&lt;p&gt;If you have been following this blog series, note that the third installment on building your own stack with Quarkus is coming next. Consider this a bonus entry that distills the podcast conversation into a format you can read, reference, and share.&lt;/p&gt;</description></item><item><title>Building Java Containers Without a Dockerfile: Azul Zulu and Paketo Buildpacks</title><link>https://foojayio.github.io/website/today/building-java-containers-without-a-dockerfile-azul-zulu-and-paketo-buildpacks/</link><pubDate>Thu, 18 Jun 2026 08:15:45 +0000</pubDate><guid>https://foojayio.github.io/website/today/building-java-containers-without-a-dockerfile-azul-zulu-and-paketo-buildpacks/</guid><description>&lt;p&gt;&lt;em&gt;This is the 5th post in the Azul Zulu Docker Official Images series:&lt;/em&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="https://www.azul.com/blog/trusted-java-containers-azul-zulu-openjdk-joins-dockers-official-images/" target="_blank" rel="noopener noreferrer"&gt;Trusted Java Containers: Azul Zulu OpenJDK Joins Docker&amp;rsquo;s Official Images&lt;/a&gt;
&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="https://www.azul.com/blog/the-road-to-docker-official-images-for-java-the-azul-zulu-story/" target="_blank" rel="noopener noreferrer"&gt;The Road to Docker Official Images for Java: The Azul Zulu Story&lt;/a&gt;
&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="https://www.azul.com/blog/using-the-azul-zulu-docker-official-images-from-simple-pull-to-lean-container/" target="_blank" rel="noopener noreferrer"&gt;Using the Azul Zulu Docker Official Images: From Simple Pull to Lean Container&lt;/a&gt;
&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="https://www.azul.com/blog/all-azul-zulu-container-images-explained-ca-sa-and-chainguard/" target="_blank" rel="noopener noreferrer"&gt;All Azul Zulu Container Images Explained: CA, SA, and Chainguard&lt;/a&gt;
&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Every post in this series so far has shown you a Dockerfile. You pick a base image, copy a JAR, set an entrypoint, and ship. That works well. But Spring Boot developers often skip the Dockerfile entirely and still get a production-ready container with Azul Zulu as the JVM thanks to Paketo Buildpacks. Here is how that works, and how to configure it.&lt;/p&gt;</description></item><item><title>Foojay Podcast #96: Local AWS Development Without LocalStack: Meet Floci, the GraalVM-Powered Alternative</title><link>https://foojayio.github.io/website/today/foojay-podcast-96/</link><pubDate>Mon, 25 May 2026 06:36:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-96/</guid><description>&lt;p&gt;What if you could run 35 AWS services locally in under 25 milliseconds, using just 13 megabytes of memory, with a single Docker command and no cloud bill? That&amp;rsquo;s exactly what Floci does.&lt;/p&gt;
&lt;p&gt;In this episode, Frank Delporte talks with Hector Ventura, the creator of Floci, a free and open-source cloud emulator built with Quarkus and GraalVM native compilation. Hector walks us through why he built it when LocalStack dropped its open-source community edition, how AI tooling helped him accelerate development of new service integrations, the challenges of keeping GraalVM happy with third-party libraries, and the road ahead for Azure and GCP support.&lt;/p&gt;</description></item><item><title>All Azul Zulu Container Images Explained: CA, SA, and Chainguard</title><link>https://foojayio.github.io/website/today/all-azul-zulu-container-images-explained-ca-sa-and-chainguard/</link><pubDate>Wed, 20 May 2026 09:56:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/all-azul-zulu-container-images-explained-ca-sa-and-chainguard/</guid><description>&lt;p&gt;&lt;em&gt;Previously in this series:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="https://www.azul.com/blog/trusted-java-containers-azul-zulu-openjdk-joins-dockers-official-images/" target="_blank" rel="noopener noreferrer"&gt;Trusted Java Containers: Azul Zulu OpenJDK Joins Docker&amp;rsquo;s Official Images&lt;/a&gt;
&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="https://www.azul.com/blog/the-road-to-docker-official-images-for-java-the-azul-zulu-story/" target="_blank" rel="noopener noreferrer"&gt;The Road to Docker Official Images for Java: The Azul Zulu Story&lt;/a&gt;
&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="https://www.azul.com/blog/using-the-azul-zulu-docker-official-images-from-simple-pull-to-lean-container/" target="_blank" rel="noopener noreferrer"&gt;Using the Azul Zulu Docker Official Images: From Simple Pull to Lean Container&lt;/a&gt;
&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The launch of &lt;a href="https://hub.docker.com/_/azul-zulu" target="_blank" rel="noopener noreferrer"&gt;Azul Zulu as Docker Official Images&lt;/a&gt;
 was a milestone, but it&amp;rsquo;s just one of several ways to get Azul Zulu Builds of OpenJDK in a container. Depending on whether you&amp;rsquo;re evaluating Azul Zulu, running it in production under a support contract, or operating in a high-security environment, the right image source will vary. In this post, I&amp;rsquo;ll show you all the possibilities.
&lt;img src="https://foojayio.github.io/website/today/all-azul-zulu-container-images-explained-ca-sa-and-chainguard/azul-zulu-ca-sa-chainguard-1024x576.avif" alt="" loading="lazy"&gt;
&lt;/p&gt;</description></item><item><title>Using the Azul Zulu Docker Official Images: From Simple Pull to Lean Container</title><link>https://foojayio.github.io/website/today/using-the-azul-zulu-docker-official-images-from-simple-pull-to-lean-container/</link><pubDate>Fri, 08 May 2026 09:05:22 +0000</pubDate><guid>https://foojayio.github.io/website/today/using-the-azul-zulu-docker-official-images-from-simple-pull-to-lean-container/</guid><description>&lt;p&gt;&lt;em&gt;Previously in this series:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="https://www.azul.com/blog/trusted-java-containers-azul-zulu-openjdk-joins-dockers-official-images/" target="_blank" rel="noopener noreferrer"&gt;Trusted Java Containers: Azul Zulu OpenJDK Joins Docker&amp;rsquo;s Official Images&lt;/a&gt;
&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="https://www.azul.com/blog/the-road-to-docker-official-images-for-java-the-azul-zulu-story/" target="_blank" rel="noopener noreferrer"&gt;The Road to Docker Official Images for Java: The Azul Zulu Story&lt;/a&gt;
&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://hub.docker.com/_/azul-zulu" target="_blank" rel="noopener noreferrer"&gt;Azul Zulu is now a Docker Official Image&lt;/a&gt;
, so getting a trusted, secure Java base image is now just a &lt;code&gt;FROM azul-zulu&lt;/code&gt; line in your Dockerfile. But pulling the right image is just the beginning. This post shows you how to use these images in practice, and how a few extra steps can seriously cut the size of what you ship.
&lt;img src="https://foojayio.github.io/website/today/using-the-azul-zulu-docker-official-images-from-simple-pull-to-lean-container/azul-docker-official-1024x576.avif" alt="" loading="lazy"&gt;
&lt;/p&gt;</description></item><item><title>The Road to Docker Official Images for Java: The Azul Zulu Story</title><link>https://foojayio.github.io/website/today/the-road-to-docker-official-images-for-java-the-azul-zulu-story/</link><pubDate>Fri, 24 Apr 2026 08:57:12 +0000</pubDate><guid>https://foojayio.github.io/website/today/the-road-to-docker-official-images-for-java-the-azul-zulu-story/</guid><description>&lt;p&gt;&lt;em&gt;Previously in this series:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="https://www.azul.com/blog/trusted-java-containers-azul-zulu-openjdk-joins-dockers-official-images/" target="_blank" rel="noopener noreferrer"&gt;Trusted Java Containers: Azul Zulu OpenJDK Joins Docker&amp;rsquo;s Official Images&lt;/a&gt;
&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;After more than two years of collaboration, reviews, and back-and-forth with the Docker team, Azul Zulu Builds of OpenJDK have officially joined &lt;a href="https://hub.docker.com/_/azul-zulu" target="_blank" rel="noopener noreferrer"&gt;Docker&amp;rsquo;s Official Images&lt;/a&gt;
 program. This is not just a badge of honor. It changes how Java developers can pull and trust their container base images.&lt;/p&gt;
&lt;p&gt;The formal announcement is on the &lt;a href="https://www.azul.com/blog/trusted-java-containers-azul-zulu-openjdk-joins-dockers-official-images/" target="_blank" rel="noopener noreferrer"&gt;Azul blog&lt;/a&gt;
. In this post, I&amp;rsquo;ll walk you through what happened, why it matters, and how to start using these images today.&lt;/p&gt;</description></item><item><title>AWS Nitro and CPU Graviton Meets Unikernels</title><link>https://foojayio.github.io/website/today/aws-nitro-and-cpu-graviton-meets-unikernels/</link><pubDate>Fri, 10 Apr 2026 16:26:25 +0000</pubDate><guid>https://foojayio.github.io/website/today/aws-nitro-and-cpu-graviton-meets-unikernels/</guid><description>&lt;h2 id="h2-0-aws-nitro-and-cpu-graviton-meets-unikernels-java-and-quarkus-on-arm64-aws-graviton-with-nanos-unikernel"&gt;AWS Nitro and CPU Graviton Meets Unikernels: Java and Quarkus on ARM64 AWS Graviton with Nanos Unikernel&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://github.com/user-attachments/assets/2c957ea8-2c6b-4caa-86f8-5adeb9e8bedc" alt="image" loading="lazy"&gt;
&lt;/p&gt;
&lt;h2 id="h2-1-java-and-jakarta-ee-truly-meet-unikernels"&gt;Java and Jakarta EE Truly Meet Unikernels&lt;/h2&gt;
&lt;p&gt;The key message of this article is simple and strong:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;any Java or Jakarta EE application is already ready&lt;/strong&gt; to benefit from the advantages of unikernels.&lt;/p&gt;
&lt;p&gt;Java and Jakarta EE, including modern frameworks such as Quarkus, can immediately take advantage of the unikernel model &lt;strong&gt;without waiting for new languages, new runtimes, or radical rewrites&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>From Zero to Full Observability with Dash0</title><link>https://foojayio.github.io/website/today/from-zero-to-full-observability-with-dash0/</link><pubDate>Sat, 04 Apr 2026 06:35:47 +0000</pubDate><guid>https://foojayio.github.io/website/today/from-zero-to-full-observability-with-dash0/</guid><description>&lt;p&gt;This guide walks through the complete process of deploying a minimal Spring Boot service to Kubernetes and adding full observability using the &lt;a href="https://www.dash0.com/docs/dash0/monitoring/kubernetes/about-kubernetes" target="_blank" rel="noopener noreferrer"&gt;Dash0 Kubernetes Operator&lt;/a&gt;
 &amp;mdash; without making any changes to the application code.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.dash0.com/docs/dash0" target="_blank" rel="noopener noreferrer"&gt;Dash0&lt;/a&gt;
 is an OpenTelemetry-native observability platform that collects and correlates traces, metrics, and logs, and provides infrastructure monitoring across Kubernetes resources &amp;mdash; pods, nodes, namespaces, deployments, daemonsets, statefulsets, jobs, and cronjobs &amp;mdash; as well as cloud infrastructure such as AWS. Its Kubernetes operator can automatically instrument workloads at the pod level, with no changes required to application code or container images.
&lt;img src="https://foojayio.github.io/website/today/from-zero-to-full-observability-with-dash0/kubernetes-dash0-1024x581.png" alt="" loading="lazy"&gt;
&lt;/p&gt;</description></item><item><title>Introducing Floci: A High-Performance, GraalVM-Powered AWS Emulator</title><link>https://foojayio.github.io/website/today/introducing-floci-a-high-performance-graalvm-powered-aws-emulator/</link><pubDate>Fri, 03 Apr 2026 19:00:53 +0000</pubDate><guid>https://foojayio.github.io/website/today/introducing-floci-a-high-performance-graalvm-powered-aws-emulator/</guid><description>&lt;h2 id="h2-0-the-motivation-why-another-aws-emulator"&gt;The Motivation: Why Another AWS Emulator?&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/introducing-floci-a-high-performance-graalvm-powered-aws-emulator/perf-chart-light-700x394.png" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;As Java developers, we are used to local-first development. Tools that emulate the cloud environment have become essential for keeping feedback loops tight and costs at zero. However, the ecosystem has shifted. Many of us have felt the friction of:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mandatory Authentication: Needing to log in or use tokens just to run local tests.&lt;/li&gt;
&lt;li&gt;Heavy Resource Footprint: Docker containers that consume a lot of resources.&lt;/li&gt;
&lt;li&gt;Slow Startup: Waiting several seconds for the environment to be &lt;strong&gt;ready.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I created Floci (from the floccus cloud formation) to solve these specific pain points. It is a 100% open-source, MIT-licensed alternative designed for speed, privacy, and simplicity.&lt;/p&gt;</description></item><item><title>Does Language Still Matter in the Age of AI? Yes — But the Tradeoff Has Changed</title><link>https://foojayio.github.io/website/today/does-language-still-matter-in-the-age-of-ai-yes-but-the-tradeoff-has-changed/</link><pubDate>Wed, 25 Mar 2026 16:37:20 +0000</pubDate><guid>https://foojayio.github.io/website/today/does-language-still-matter-in-the-age-of-ai-yes-but-the-tradeoff-has-changed/</guid><description>&lt;h2 id="h2-0-"&gt;&lt;img src="https://foojayio.github.io/website/today/does-language-still-matter-in-the-age-of-ai-yes-but-the-tradeoff-has-changed/dominance-700x467.png" alt="" loading="lazy"&gt;
&lt;/h2&gt;
&lt;p&gt;I keep hearing the same question in architecture reviews, slack threads, and conference Hallways:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&amp;ldquo;If AI is writing the code, does language even matter anymore?&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It does. More than ever, actually &amp;mdash; just not for the reasons we&amp;rsquo;ve been arguing about for the last decade.&lt;/p&gt;
&lt;h2 id="h2-1-the-bottleneck-has-moved"&gt;The Bottleneck Has Moved&lt;/h2&gt;
&lt;p&gt;For decades, we optimized for developer productivity. How fast can someone write code? How expressive is the language? How quickly can we ship features?&lt;/p&gt;</description></item><item><title>Introducing the BoxLang Spring Boot Starter: Dynamic JVM Templating for Spring</title><link>https://foojayio.github.io/website/today/introducing-the-boxlang-spring-boot-starter-dynamic-jvm-templating-for-spring/</link><pubDate>Thu, 19 Mar 2026 14:20:02 +0000</pubDate><guid>https://foojayio.github.io/website/today/introducing-the-boxlang-spring-boot-starter-dynamic-jvm-templating-for-spring/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/introducing-the-boxlang-spring-boot-starter-dynamic-jvm-templating-for-spring/boxlang-spring-boot-release-700x467.jpg" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;Spring Boot developers know the pain of evaluating view technologies. Thymeleaf is great &amp;mdash; until you need more expressiveness. FreeMarker is powerful &amp;mdash; until the syntax fights you. What if you could write templates in a dynamic JVM language that gives you the full power of the platform, feels natural, and requires zero setup to integrate?&lt;/p&gt;
&lt;p&gt;Meet the &lt;strong&gt;BoxLang Spring Boot Starter.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; Drop one dependency into your Spring Boot 3 app and start writing dynamic &lt;code&gt;.bxm&lt;/code&gt; templates powered by BoxLang &amp;mdash; a modern, expressive JVM language. Zero configuration. Full web scopes. 100% Java interoperable. Not only that, you get full access to BoxLang&amp;rsquo;s framework capabilities so you can integrate tons of features into your Spring Boot applications:&lt;/p&gt;</description></item><item><title>BoxLang 1.11.0 Release</title><link>https://foojayio.github.io/website/today/boxlang-1-11-0-release/</link><pubDate>Tue, 17 Mar 2026 09:40:04 +0000</pubDate><guid>https://foojayio.github.io/website/today/boxlang-1-11-0-release/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/boxlang-1-11-0-release/boxlang-v1.11.0-700x467.jpg" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;re proud to announce &lt;strong&gt;BoxLang 1.11.0&lt;/strong&gt;, a highly focused performance and stability release that delivers measurable speed improvements across every BoxLang application, with zero code changes required. The team invested deeply in bytecode generation, class loading, lock management, and type casting to produce one of the most impactful runtime optimization releases to date. Alongside the performance wave, this release resolves critical concurrency bugs, hardens DateTime handling, and ships powerful new developer tooling.&lt;/p&gt;</description></item><item><title>JC-AI Newsletter #14</title><link>https://foojayio.github.io/website/today/jc-ai-newsletter-14/</link><pubDate>Tue, 03 Mar 2026 15:11:53 +0000</pubDate><guid>https://foojayio.github.io/website/today/jc-ai-newsletter-14/</guid><description>&lt;p&gt;&lt;strong&gt;Two&lt;/strong&gt; weeks have passed and a lot have been happening on the field of artificial-intelligence.&lt;/p&gt;
&lt;p&gt;Two weeks have passed and a lot has been silently yet visibly happening in the field of artificial intelligence. This newsletter brings interesting developments, including Dario Amodei&amp;rsquo;s (Anthropic) view on the progress achieved in the LLM field and his response to the utilization of these models for specific kinds of military purposes, as well as OpenAI&amp;rsquo;s response to it. Aside from the fact that development may follow more sigmoids instead of exponential progress, it is important to have awareness of utilization across branches. Does prompting and clarifying the goal influence agent responses, and if so, how? How far are we from reliable robotics applications? How much bias is introduced when clinical data is being analyzed?&lt;/p&gt;</description></item><item><title>Announcing Cloud-Native BoxLang for $5/Month</title><link>https://foojayio.github.io/website/today/announcing-cloud-native-boxlang-for-5-month/</link><pubDate>Mon, 23 Feb 2026 16:39:44 +0000</pubDate><guid>https://foojayio.github.io/website/today/announcing-cloud-native-boxlang-for-5-month/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/announcing-cloud-native-boxlang-for-5-month/boxlang-digitalocean-wave-700x467.jpg" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; We just released a production-ready starter template that deploys a modern BoxLang application to DigitalOcean App Platform in under 5 minutes&amp;mdash;starting at just &lt;strong&gt;$5/month.&lt;/strong&gt; One-click deployment, auto-scaling, automatic redeployments, and zero downtime included.&lt;/p&gt;
&lt;h2 id="h2-0-cloud-native-boxlang-has-never-been-easier"&gt;Cloud-Native BoxLang Has Never Been Easier&lt;/h2&gt;
&lt;p&gt;Today, we&amp;rsquo;re excited to announce the BoxLang DigitalOcean Starter Template&amp;mdash;a complete, production-ready solution that takes you from zero to deployed BoxLang application in minutes, not hours.&lt;/p&gt;
&lt;p&gt;For many developers evaluating modern JVM languages, the question isn&amp;rsquo;t &amp;ldquo;Can it run?&amp;rdquo; but rather &amp;ldquo;How easily can I get this into production?&amp;rdquo; With this starter, the answer is now: ridiculously easy.&lt;/p&gt;</description></item><item><title>Unikernel: Profiling and Troubleshooting JVM on Nanos Unikernel</title><link>https://foojayio.github.io/website/today/unikernel-profiling-and-troubleshooting-jvm-on-nanos-unikernel/</link><pubDate>Wed, 11 Feb 2026 13:50:41 +0000</pubDate><guid>https://foojayio.github.io/website/today/unikernel-profiling-and-troubleshooting-jvm-on-nanos-unikernel/</guid><description>&lt;h3 id="h3-0-profiling-a-java-application-running-inside-an-unikernel-with-jprofiler"&gt;Profiling a Java Application Running Inside an Unikernel with JProfiler&lt;/h3&gt;
&lt;p&gt;Unikernels are often associated with minimalism and tight resource control.&lt;/p&gt;
&lt;p&gt;But can we profile a Java application running inside a unikernel using a standard JVM profiler?&lt;/p&gt;
&lt;p&gt;The answer is yes.&lt;/p&gt;
&lt;p&gt;In this guide, we will walk step by step through profiling a Quarkus&lt;/p&gt;
&lt;p&gt;application running inside a Nanos unikernel using &lt;strong&gt;JProfiler&lt;/strong&gt; and&lt;br&gt;
&lt;strong&gt;IBM Semeru JRE 25 (OpenJ9)&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;No special hacks. Just standard JVM tooling.&lt;/p&gt;</description></item><item><title>DocBox v5 - Reborn: Modern API Docs for BoxLang &amp; CFML</title><link>https://foojayio.github.io/website/today/docbox-v5-reborn-modern-api-docs-for-boxlang-cfml/</link><pubDate>Tue, 27 Jan 2026 12:15:45 +0000</pubDate><guid>https://foojayio.github.io/website/today/docbox-v5-reborn-modern-api-docs-for-boxlang-cfml/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/docbox-v5-reborn-modern-api-docs-for-boxlang-cfml/bx-docbox-700x467.jpg" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;Welcome to DocBox v5! We didn&amp;rsquo;t just update DocBox. We rebuilt it from the ground up.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;DocBox v5.0.0&lt;/strong&gt; represents a complete architectural rewrite&amp;mdash;modern syntax, blazing performance, and a stunning new look that finally brings API documentation into 2025. Gone are the clunky HTML pages of yesteryear. Say hello to a gorgeous, theme-driven single-page application that makes browsing your API docs feel like using a premium developer tool. We have also released a dedicated module for BoxLang: &lt;strong&gt;BX-DOCBOX&lt;/strong&gt;. A fully interactive CLI tool for generating your docs from the command line using pure BoxLang.&lt;/p&gt;</description></item><item><title>BoxLang AI v2: Enterprise AI Development Without the Complexity</title><link>https://foojayio.github.io/website/today/boxlang-ai-v2-enterprise-ai-development-without-the-complexity/</link><pubDate>Thu, 22 Jan 2026 15:09:25 +0000</pubDate><guid>https://foojayio.github.io/website/today/boxlang-ai-v2-enterprise-ai-development-without-the-complexity/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/boxlang-ai-v2-enterprise-ai-development-without-the-complexity/boxlang-ai-v2-700x467.jpg" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;One Year. 100+ Features. Unlimited Possibilities.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Just one year ago, in March 2024, we launched BoxLang AI 1.0. Today, we&amp;rsquo;re thrilled to announce &lt;strong&gt;BoxLang AI v2&lt;/strong&gt;&amp;mdash;a massive leap forward that positions BoxLang as one of the most powerful and versatile AI framework on the JVM. This release is 9-months in the making, with over 100 new features! This would have not been possible without all the new features that the BoxLang JVM language exposes to developers like: Server Side Events, HTTP Streaming, HTTP pooling, Caching, and so much more.&lt;/p&gt;</description></item><item><title>Not a Lucid Web3 Dream Anymore: x402, ERC-8004, A2A, and The Next Wave of AI Commerce</title><link>https://foojayio.github.io/website/today/not-a-lucid-web3-dream-anymore-x402-erc-8004-a2a-and-the-next-wave-of-ai-commerce/</link><pubDate>Fri, 09 Jan 2026 16:05:58 +0000</pubDate><guid>https://foojayio.github.io/website/today/not-a-lucid-web3-dream-anymore-x402-erc-8004-a2a-and-the-next-wave-of-ai-commerce/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/not-a-lucid-web3-dream-anymore-x402-erc-8004-a2a-and-the-next-wave-of-ai-commerce/daydreams-scaled.jpg" alt="DayDreams" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This article is for technically savvy readers, especially developers, protocol designers, and product teams working with AI agents, APIs, or crypto rails, who want a clear view of how these areas connect.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;It explains how x402, ERC-8004, and agent discovery layers turn APIs and agents into small usage-based businesses, and what that means for real systems over the next 1&amp;ndash;3 years.&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;h3 id="h3-0-vocabulary-for-this-article"&gt;Vocabulary for this article&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;In this article, I use the term &lt;em&gt;micro business&lt;/em&gt; for a very small overall business, and &lt;em&gt;nano business&lt;/em&gt; for a single x402-priced endpoint or agent that earns on its own from per-call payments in stablecoins.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AP2 (Agent Payment Protocol):&lt;/strong&gt; AP2 defines how agents pay each other. It standardizes how a service quotes a price, how payment is confirmed, and how both sides record what was bought, so payments fit directly into automated agent workflows. In practice, it is a protocol that lets one machine pay another machine for work, without a human in the loop.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A2A (Agent-to-Agent communication):&lt;/strong&gt; A2A covers how agents talk, pass context, and coordinate work. It lets agents call each other, exchange structured messages, and chain tasks instead of acting as isolated scripts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;x402:&lt;/strong&gt; x402 is an HTTP-based payment protocol for APIs. A server responds with status &lt;code&gt;402 Payment Required&lt;/code&gt;, the price, and a payment route, and the client pays by using stablecoins on-chain and then retries the request to get the result.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ERC-8004 (8004):&lt;/strong&gt; ERC-8004 standard is an on-chain registry for agents. It gives each agent an identity and a place to store reputation data, so other agents and tools can decide whom to trust and which services to call.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;h2 id="h2-1-foreword"&gt;Foreword&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;x402&lt;/strong&gt; and &lt;strong&gt;ERC-8004&lt;/strong&gt; .&lt;/p&gt;</description></item><item><title>Optimizing Java for the Cloud-Native Era with Quarkus</title><link>https://foojayio.github.io/website/today/optimizing-java-for-the-cloud-native-era-with-quarkus/</link><pubDate>Tue, 06 Jan 2026 21:09:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/optimizing-java-for-the-cloud-native-era-with-quarkus/</guid><description>&lt;p&gt;This article explores how Quarkus can help organizations reduce costs, streamline development, and modernize their Java applications for today&amp;rsquo;s cloud-native environments. It outlines the real-world benefits of adopting Quarkus and highlights how its core features address the performance and scalability challenges commonly associated with traditional Java frameworks.&lt;/p&gt;
&lt;p&gt;Quarkus is already being adopted across industries. One example is Orange, a global telecom provider that selected Quarkus to support its 5G API initiative, and benefited from fast startup times, a lightweight footprint, and seamless integration with Kubernetes.&lt;/p&gt;</description></item><item><title>Java and Jakarta EE and the Evolution of the Cloud with Nanos Unikernel</title><link>https://foojayio.github.io/website/today/java-jakarta-ee-and-the-evolution-of-the-cloud-with-nanos-unikernel/</link><pubDate>Tue, 06 Jan 2026 20:51:09 +0000</pubDate><guid>https://foojayio.github.io/website/today/java-jakarta-ee-and-the-evolution-of-the-cloud-with-nanos-unikernel/</guid><description>&lt;p&gt;The evolution of the Java and Jakarta Enterprise ecosystem is converging toward an increasingly simple, efficient, and scalable architecture that improves security, delivers higher performance, and reduces hardware and infrastructure costs.&lt;/p&gt;
&lt;p&gt;For years, Kubernetes has been considered the de‑facto standard for modernizing Java applications in a cloud‑native direction. However, Kubernetes is not the only way to achieve scalability, continuous upgrades, and isolation. An alternative approach &amp;mdash; often underestimated &amp;mdash; is to leverage the &lt;strong&gt;hypervisors already included and fully managed by major cloud providers&lt;/strong&gt; , using &lt;strong&gt;Unikernel&lt;/strong&gt; images based on &lt;a href="https://nanovms.com" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Nanos&lt;/strong&gt;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Quarkus: A Runtime and Framework for Cloud-Native Java</title><link>https://foojayio.github.io/website/today/quarkus-a-runtime-and-framework-for-cloud-native-java/</link><pubDate>Tue, 06 Jan 2026 13:46:50 +0000</pubDate><guid>https://foojayio.github.io/website/today/quarkus-a-runtime-and-framework-for-cloud-native-java/</guid><description>&lt;p&gt;Public clouds such as AWS, Microsoft Azure, and Google Cloud, and platforms like Red Hat OpenShift, favor services that start fast and stay lean. Quarkus is engineered for exactly that.&lt;/p&gt;
&lt;p&gt;Build time processing reduces runtime overhead and results in rapid startup, a small memory footprint, and frictionless deployment across Kubernetes, OpenShift, serverless, and managed container services in any cloud. If your Java services need to start in milliseconds, run dense on shared nodes, and still feel great to build, Quarkus was made for that job.&lt;/p&gt;</description></item><item><title>Make Java Fleets Warm Up Faster on AWS With Azul Optimizer Hub</title><link>https://foojayio.github.io/website/today/make-java-fleets-warm-up-faster-on-aws-with-azul-optimizer-hub/</link><pubDate>Thu, 18 Dec 2025 08:35:52 +0000</pubDate><guid>https://foojayio.github.io/website/today/make-java-fleets-warm-up-faster-on-aws-with-azul-optimizer-hub/</guid><description>&lt;p&gt;&lt;em&gt;Traditional Java executes code in slower interpreted mode, known as Java warmup, until it can build an optimized profile. This means it can only start optimizing once the application takes traffic and touches the critical code paths. Just when you are scaling out for a large bump in traffic, your machines are running at their slowest and are splitting their available CPU power between handling requests and performing expensive JIT optimizations&lt;/em&gt;&lt;/p&gt;</description></item><item><title>JC-AI Newsletter #3</title><link>https://foojayio.github.io/website/today/jc-ai-newsletter-3/</link><pubDate>Tue, 19 Aug 2025 08:06:34 +0000</pubDate><guid>https://foojayio.github.io/website/today/jc-ai-newsletter-3/</guid><description>&lt;p&gt;&lt;strong&gt;The &lt;a href="https://foojayio.github.io/website/today/ai-newsletter-1/" title="first"&gt;first&lt;/a&gt;
 and &lt;a href="https://foojayio.github.io/website/today/jc-ai-newsletter-2/" title="second"&gt;second&lt;/a&gt;
 newsletters introduced a 14-day cadence, and even though it is the holiday season for many of us, we are sticking to the promised period.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The current newsletter vol.3, brings a collection of valuable articles focusing on challenges that are commonly reported through reported breakthroughs in the field of artificial intelligence. Although some articles may remain open or contain suggestions for future research due to the intensive development and utilization efforts of agentic AI systems, these articles can be considered valuable to the community, increasing awareness and understanding of ongoing challenges.&lt;/p&gt;</description></item><item><title>Monolith vs Microservices in 2025</title><link>https://foojayio.github.io/website/today/monolith-vs-microservices-2025/</link><pubDate>Mon, 04 Aug 2025 13:45:09 +0000</pubDate><guid>https://foojayio.github.io/website/today/monolith-vs-microservices-2025/</guid><description>&lt;p&gt;In recent years, the tech world has been buzzing with debates about architecture choices. However, 2025 offers a more balanced perspective.&lt;/p&gt;
&lt;p&gt;Simplicity, developer experience, and maintainability are reshaping how teams design software.&lt;/p&gt;
&lt;p&gt;From Infrastructure as Code (IaC) to &amp;ldquo;vibecoding&amp;rdquo; culture, and from startups to enterprises, many rethink their position on the monolith vs microservices 2025 spectrum.&lt;/p&gt;
&lt;p&gt;So, what has actually changed?&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;🔵⚪⚪⚪⚪⚪&lt;/p&gt;
&lt;h2 id="h2-0-terraform-and-iac-changing-architecture-with-confidence"&gt;🔁 Terraform and IaC: Changing Architecture with Confidence&lt;/h2&gt;
&lt;h3 id="h3-1-how-infrastructure-as-code-helps-teams-adapt-architecture-efficiently"&gt;How Infrastructure as Code helps teams adapt architecture efficiently&lt;/h3&gt;
&lt;p&gt;Infrastructure as Code tools like Terraform make architecture changes easier. Nevertheless, the process is not effortless.&lt;/p&gt;</description></item><item><title>Sustainability Starts with Your Runtime: Meet a Green JVM</title><link>https://foojayio.github.io/website/today/sustainability-starts-with-your-runtime-meet-a-green-jvm/</link><pubDate>Tue, 15 Jul 2025 14:20:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/sustainability-starts-with-your-runtime-meet-a-green-jvm/</guid><description>&lt;p&gt;&lt;strong&gt;Reducing spend in the cloud is a top priority for many organizations, and a high-performance Java platform can help cloud cost reduction efforts. These same optimizations can help organizations achieve sustainability goals, including achieving carbon net-zero. And pursuing sustainability goals can also lead to financial advantages.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Cloud costs are under the microscope, and reducing spend in the cloud is a top priority for many organizations. We&amp;rsquo;ve been helping customers on that journey with Azul Platform Prime, a &lt;a href="https://www.azul.com/blog/5-ways-to-reduce-cloud-waste/" target="_blank" rel="noopener noreferrer"&gt;high-performance Java platform that runs code faster, uses fewer compute resources, and helps cut your cloud bill&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Jakarta EE 11 Web Profile Released, Enabled by Eclipse GlassFish</title><link>https://foojayio.github.io/website/today/jakarta-ee-11-web-profile-released-enabled-by-eclipse-glassfish/</link><pubDate>Tue, 22 Apr 2025 11:06:19 +0000</pubDate><guid>https://foojayio.github.io/website/today/jakarta-ee-11-web-profile-released-enabled-by-eclipse-glassfish/</guid><description>&lt;p&gt;The &lt;strong&gt;Jakarta EE 11 Web Profile&lt;/strong&gt; has &lt;a href="https://www.agilejava.eu/2025/04/06/hashtag-jakarta-ee-275/" target="_blank" rel="noopener noreferrer"&gt;officially been released&lt;/a&gt;
 on March 30, 2025 &amp;mdash; bringing a cleaner, more modern baseline to the Jakarta EE platform, with strong alignment to recent Java versions, improved modularity, and the removal of legacy specifications.&lt;/p&gt;
&lt;p&gt;Although it comes later than planned, due to unexpected challenges in refactoring the Jakarta EE TCK (compatibility kit), this release marks a key shift toward a more cloud-native, developer-focused platform &amp;mdash; and we&amp;rsquo;re proud to say that &lt;strong&gt;Eclipse GlassFish&lt;/strong&gt; was the &lt;strong&gt;first implementation to pass the Jakarta EE 11 Web Profile TCK&lt;/strong&gt; and enable the specification&amp;rsquo;s final approval.&lt;/p&gt;</description></item><item><title>Optimizing the Garbage Collector when Migrating Cloud Workloads</title><link>https://foojayio.github.io/website/today/optimizing-the-garbage-collector-when-migrating-cloud-workloads/</link><pubDate>Wed, 16 Apr 2025 10:27:49 +0000</pubDate><guid>https://foojayio.github.io/website/today/optimizing-the-garbage-collector-when-migrating-cloud-workloads/</guid><description>&lt;p&gt;&lt;strong&gt;You might associate Arm primarily with smartphones and the Java-based Android runtime. However, OpenJDK has supported AArch64 on Linux since 2014&amp;mdash; before Arm-based cloud instances were widely available.&lt;/strong&gt; &lt;strong&gt;Fast forward a decade and major cloud providers have their own Arm-based instances like AWS Graviton, Microsoft Azure Cobalt, and others, prompting many organizations to migrate Java workloads from x86 to multi-architecture environments.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A multi-architecture deployment shift allows an organization to be adaptable and choose the architecture with the ideal price to performance ratio. Large independent software vendors, such as Uber, are &lt;a href="https://www.uber.com/en-GB/blog/adopting-arm-at-scale-bootstrapping-infrastructure/" target="_blank" rel="noopener noreferrer"&gt;already making this transition&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Spring Cloud Stream: Demystifying Event-Driven Architecture</title><link>https://foojayio.github.io/website/today/spring-cloud-stream-demystifying-event-driven-architecture/</link><pubDate>Fri, 28 Feb 2025 08:34:32 +0000</pubDate><guid>https://foojayio.github.io/website/today/spring-cloud-stream-demystifying-event-driven-architecture/</guid><description>&lt;p&gt;&lt;em&gt;Consider a bustling restaurant environment. The kitchen receives a flood of orders, waitstaff dart between tables, and patrons anxiously glance at their watches. Each time a waiter takes an order, he or she must verify it with the kitchen and wait for the kitchen to prepare the meal before attending to another table. This cumbersome method hampers efficiency, leaving the restaurant unable to meet customer demand.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Now envision an alternative situation. Instead of enduring delays, waitstaff enter orders into a centralized system, prompting the kitchen to begin meal preparation immediately upon receipt. As soon as the kitchen prepares the food, waiters receive instant notifications, enabling them to serve customers promptly without any delays. This exemplifies event-driven architecture: a fluid, real-time system where they exchange information asynchronously, promoting scalability and quick responsiveness.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>A solution to the problem of cluster-wide CRDs</title><link>https://foojayio.github.io/website/today/a-solution-to-the-problem-of-cluster-wide-crds/</link><pubDate>Thu, 30 Jan 2025 11:55:14 +0000</pubDate><guid>https://foojayio.github.io/website/today/a-solution-to-the-problem-of-cluster-wide-crds/</guid><description>&lt;p&gt;&lt;strong&gt;I&amp;rsquo;m an average Reddit user, scrolling much more than reading or interacting. Sometimes, however, a post rings a giant red bell. When I stumbled upon &lt;a href="https://www.reddit.com/r/kubernetes/comments/1ga0deo/comment/lta8itb/?context=3&amp;amp;amp;share_id=ZS15DmQexSXUjhXuqQ81z" target="_blank" rel="noopener noreferrer"&gt;If you could add one feature to K8s, what would it be?&lt;/a&gt;
, I knew the content would be worth it.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The most voted answer is:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Namespace scoped CRDs&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="h2-0-a-short-intro-to-crds"&gt;A short intro to CRDs&lt;/h2&gt;
&lt;p&gt;Kubernetes comes packed with existing objects, such as &lt;code&gt;Pod&lt;/code&gt;, &lt;code&gt;Service&lt;/code&gt;, &lt;code&gt;DaemonSet&lt;/code&gt;, etc., but you can create your own: the latter are called Custom Resource Definitions. Most of the time, s are paired with a custom controller called an &lt;em&gt;operator&lt;/em&gt;. An operator subscribes to the lifecycle events of CRD(s). When you act upon a CRD by creating, updating, or deleting it, Kubernetes changes its status, and the operator gets notified. What it does depends on the nature of the CRD.&lt;/p&gt;</description></item><item><title>Foojay Podcast #64: Interviews at JFall about opensource, OpenJDK evolutions, Project Loom, JVM,...</title><link>https://foojayio.github.io/website/today/foojay-podcast-64/</link><pubDate>Mon, 23 Dec 2024 10:51:20 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-64/</guid><description>&lt;p&gt;Let&amp;rsquo;s wrap up this year with more interviews from the JFall conference.&lt;/p&gt;
&lt;p&gt;In this episode you&amp;rsquo;ll learn more about Foojay, JVM internals and writing your own programming language, Project Loom and structured concurrency, learning at conferences, code reviews, creating desktop applications with Java, infrastructure as code, JUG Noord, and much more!&lt;/p&gt;
&lt;h2 id="h2-0-video"&gt;Video&lt;/h2&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/kx6DfVE-I0o?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;h2 id="h2-1-podcast-apps"&gt;Podcast Apps&lt;/h2&gt;
&lt;p&gt;You can listen and subscribe to the Foojay Podcast on:&lt;/p&gt;</description></item><item><title>Run a Java Lambda Function From a Docker image</title><link>https://foojayio.github.io/website/today/run-a-java-lambda-function-from-a-docker-image/</link><pubDate>Wed, 11 Dec 2024 16:16:36 +0000</pubDate><guid>https://foojayio.github.io/website/today/run-a-java-lambda-function-from-a-docker-image/</guid><description>&lt;p&gt;&lt;strong&gt;Have you ever wanted to deploy a Java Serverless function, but package it with a Docker Image? That is possible now with AWS new Container support. This guide will show you how to try it yourself, step by step!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Hello Lambda Function project contains an AWS Lambda maven application with &lt;a href="https://github.com/aws/aws-sdk-java-v2" target="_blank" rel="noopener noreferrer"&gt;AWS Java SDK 2.x&lt;/a&gt;
 dependencies.&lt;/p&gt;
&lt;p&gt;Here follows instructions from AWS Document on building &lt;a href="https://docs.aws.amazon.com/lambda/latest/dg/java-image.html#java-image-instructions" target="_blank" rel="noopener noreferrer"&gt;Lambda for Java&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;The sample code seen below can be found in my GitHub repository: &lt;a href="https://github.com/charlfasching/hello-lambda" target="_blank" rel="noopener noreferrer"&gt;hello-lambda&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Speed up your Spring Batch with Native Image and GraalVM</title><link>https://foojayio.github.io/website/today/speed-up-your-spring-batch-with-native-image-and-graalvm/</link><pubDate>Tue, 10 Dec 2024 15:47:53 +0000</pubDate><guid>https://foojayio.github.io/website/today/speed-up-your-spring-batch-with-native-image-and-graalvm/</guid><description>&lt;p&gt;&lt;strong&gt;Spring Batch is often used for&lt;/strong&gt; data processing &lt;strong&gt;jobs that don&amp;rsquo;t run continuously.&lt;/strong&gt; Instead, they start, process, and stop,&lt;strong&gt;which makes them a perfect candidate for GraalVM Native Image.&lt;/strong&gt; Unlike traditional Java applications that require a long JVM startup time, Native Images execute almost instantly, giving a significant performance boost.&lt;/p&gt;
&lt;p&gt;In this article, you&amp;rsquo;ll learn how to build a Spring Batch application that reads a CSV file, logs its content, and writes it to a PostgreSQL database.&lt;strong&gt;We&amp;rsquo;ll see how to compile it into a Native Image using GraalVM&lt;/strong&gt; , and most importantly**, we&amp;rsquo;ll benchmark the difference between** running it as &lt;strong&gt;a traditional JAR and&lt;/strong&gt; as &lt;strong&gt;a native binary&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>GlassFish is rolling forward. What’s New?</title><link>https://foojayio.github.io/website/today/glassfish-is-rolling-forward-whats-new/</link><pubDate>Tue, 26 Nov 2024 15:11:17 +0000</pubDate><guid>https://foojayio.github.io/website/today/glassfish-is-rolling-forward-whats-new/</guid><description>&lt;p&gt;&lt;strong&gt;The Evolution Continues. GlassFish, which used to be a popular application server, free to use and reliable, is evolving again. If you&amp;rsquo;ve been holding onto your old GlassFish instances, there&amp;rsquo;s good news&amp;mdash;things have gotten a lot more exciting recently.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Since we created the OmniFish company and started improving GlassFish in 2022 (read about that story in &lt;a href="https://omnifish.ee/2022/06/28/oh-what-did-you-do-to-glassfish/" target="_blank" rel="noopener noreferrer"&gt;Oh, What Did You Do to GlassFish?!&lt;/a&gt;
), a lot has happened around GlassFish. We joined the Eclipse GlassFish project and &lt;a href="https://blogs.eclipse.org/post/tanja-obradovic/welcome-omnifish-jakarta-ee-working-group" target="_blank" rel="noopener noreferrer"&gt;joined the Jakarta EE Working Group&lt;/a&gt;
 as well.&lt;/p&gt;</description></item><item><title>Changes Included in Release 24.08 of Azul Zing Builds of OpenJDK</title><link>https://foojayio.github.io/website/today/changes-included-in-release-24-08-of-azul-zing-builds-of-openjdk/</link><pubDate>Fri, 18 Oct 2024 13:53:56 +0000</pubDate><guid>https://foojayio.github.io/website/today/changes-included-in-release-24-08-of-azul-zing-builds-of-openjdk/</guid><description>&lt;p&gt;Azul Zing Builds of OpenJDK, the optimized Java runtime within &lt;a href="https://www.azul.com/products/prime" target="_blank" rel="noopener noreferrer"&gt;Azul Platform Prime&lt;/a&gt;
, has reached the release of the 24.08 Stable Release line. Zing builds are available in two versions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Stream Builds&lt;/strong&gt; : Fast-moving monthly releases (end of the month) that include the latest features and changes in PSU releases. These are &lt;strong&gt;free for development and evaluation&lt;/strong&gt;. Using Stream Builds in production requires an active subscription. Their version number is based on year and month. For instance, &amp;ldquo;24.07.0.0&amp;rdquo; is the July Stream Build of 2024.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stable Builds&lt;/strong&gt; : Builds that incorporate only CPUs, PSUs, and Azul Zing critical fixes and do not uptake new features and non-critical enhancements from Stream Builds. Stable Builds are our primary vehicle for delivering time-sensitive bug fixes to customers and are &lt;strong&gt;only available to Azul customers&lt;/strong&gt;. Their version number is based on the Stream Build they originated from. For instance, &amp;ldquo;23.08.500.0&amp;rdquo; was derived from the August Stream Build of 2023 but already had multiple updates, as the 500 number indicates.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As stream builds happen in a fixed schedule, all changes are included in the &lt;a href="https://docs.azul.com/prime/release-notes" target="_blank" rel="noopener noreferrer"&gt;release notes&lt;/a&gt;
. Twice a year (in February and August), a Stream build becomes the new Stable build, providing a new version with many more improvements. In this post, we want to give you an overview of all the combined improvements in the 24.08 Stable Line.
&lt;img src="https://foojayio.github.io/website/today/changes-included-in-release-24-08-of-azul-zing-builds-of-openjdk/Azul-Prime-Stable-2308-1024x400.jpg" alt="" loading="lazy"&gt;
&lt;/p&gt;</description></item><item><title>Easily containerize Java applications with cloud native buildpacks</title><link>https://foojayio.github.io/website/today/easily-containerize-java-applications-with-cloud-native-buildpacks/</link><pubDate>Mon, 07 Oct 2024 09:15:53 +0000</pubDate><guid>https://foojayio.github.io/website/today/easily-containerize-java-applications-with-cloud-native-buildpacks/</guid><description>&lt;p&gt;&lt;strong&gt;The concept of containers has helped to bring Java developers closer than ever to the cloud-native idiom of &amp;lsquo;write once, run anywhere.&amp;rsquo;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Effectively and efficiently containerizing your Java application can be much more of a challenge than you might originally expect, especially when you might not be a container expert. Having to write and maintain a dockerfile, run a Docker daemon as root, wait for all the builds to complete, and then finally push the image to a remote registry can be complex, time-consuming, and frustrating!&lt;/p&gt;</description></item><item><title>Azul Brings Java from Edge to Cloud</title><link>https://foojayio.github.io/website/today/azul-brings-java-from-edge-to-cloud/</link><pubDate>Fri, 27 Sep 2024 11:30:22 +0000</pubDate><guid>https://foojayio.github.io/website/today/azul-brings-java-from-edge-to-cloud/</guid><description>&lt;p&gt;In Part 1 of this series, &amp;ldquo;&lt;a href="https://foojayio.github.io/website/today/a-fresh-look-at-embedded-java/"&gt;A Fresh Look at Embedded Java&lt;/a&gt;
,&amp;rdquo; we explored the use of Java for embedded use cases.&lt;/p&gt;
&lt;p&gt;Azul and its Zulu Build of OpenJDK (Zulu) are the ideal partners in this part of the software world.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s expand and look at the cloud part of a typical end-to-end solution with sensors, edge devices, client applications, and cloud services.
&lt;img src="https://foojayio.github.io/website/today/azul-brings-java-from-edge-to-cloud/edge-diagram.png" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;h2 id="Azul-Platform-Core-for-Edge-Devices-and-Client-Applications"&gt;Azul Platform Core for edge devices and client applications&lt;/h2&gt;
&lt;p&gt;Because Java delivers fast development speed thanks to its amazing methods and tools and its impressive performance in handling massive amounts of data, it&amp;rsquo;s the ideal programming language for building applications for edge devices that collect data from various sensors.&lt;/p&gt;</description></item><item><title>Run true-to-production tests on your Java applications</title><link>https://foojayio.github.io/website/today/true-to-production-testing-java-apps/</link><pubDate>Tue, 24 Sep 2024 11:48:46 +0000</pubDate><guid>https://foojayio.github.io/website/today/true-to-production-testing-java-apps/</guid><description>&lt;p&gt;As supported by the &lt;a href="https://foojayio.github.io/website/today/creating-cloud-native-java-applications-with-the-12-factor-app-methodology/" title="12 factor"&gt;12 factor&lt;/a&gt;
 and &lt;a href="https://developer.ibm.com/articles/creating-a-12-factor-application-with-open-liberty/" title="15 factor app" target="_blank" rel="noopener noreferrer"&gt;15 factor app&lt;/a&gt;
 methodologies, in application development, we&amp;rsquo;ve come to realize just how important it is to test our applications in a true-to-production environment before releasing them to consumers. This helps us to mitigate potential failures and spot bugs that could appear in production but be missed in testing due to environmental differences and ensure we have high confidence in our applications being deployed to production environments. But, traditionally, developers have struggled with replicating an application&amp;rsquo;s production environment locally.&lt;/p&gt;</description></item><item><title>Help update the Twelve-Factor app methodology</title><link>https://foojayio.github.io/website/today/updating-the-twelve-factor-app-methodology-a-call-for-participation/</link><pubDate>Thu, 05 Sep 2024 07:44:26 +0000</pubDate><guid>https://foojayio.github.io/website/today/updating-the-twelve-factor-app-methodology-a-call-for-participation/</guid><description>&lt;p&gt;&lt;strong&gt;The 12 factor application methodology is being updated and we need your help with it! Be a part of this project helping to update and modernize the original methodology to enable it to be even more effective for modern cloud-native applications.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/updating-the-twelve-factor-app-methodology-a-call-for-participation/Screenshot-2024-08-29-at-13.07.44-700x441.png" alt="We Need Your Help image" loading="lazy"&gt;
&lt;/p&gt;
&lt;h2 id="h2-0-what-is-the-12-factor-app-methdology"&gt;What is the 12 factor app methdology?&lt;/h2&gt;
&lt;p&gt;Originally created back in 2012, the &lt;a href="https://12factor.net/" title="12-factor app methodology" target="_blank" rel="noopener noreferrer"&gt;12-factor app methodology&lt;/a&gt;
 was designed to provide a set of guidelines for helping developers and organizations to design and build cloud-native applications. This methodology was defined by the developers at Heroku, but has been adopted and even in some cases extended by the community since then.&lt;/p&gt;</description></item><item><title>Get recognized for your cloud-native Java development skills</title><link>https://foojayio.github.io/website/today/get-recognized-for-your-cloud-native-java-development-skills-with-this-new-badge/</link><pubDate>Thu, 29 Aug 2024 16:08:34 +0000</pubDate><guid>https://foojayio.github.io/website/today/get-recognized-for-your-cloud-native-java-development-skills-with-this-new-badge/</guid><description>&lt;p&gt;&lt;strong&gt;In a world where in-demand skills are critical for job success, security, and progression, it&amp;rsquo;s vital that we, as developers, ensure we are showcasing our skills to the wider world. This can include qualifications, courses, and badges, all of which help us to advertise our skills and highlight our professional experiences and expertise.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;So, to help make this easier (and free!) for Java developers, the Open Liberty team created the first-ever Liberty badge: &lt;a href="https://ibm.biz/FooJayLibertyDeveloperEssentialsBadge" title="Liberty Developer Essentials" target="_blank" rel="noopener noreferrer"&gt;Liberty Developer Essentials&lt;/a&gt;
!&lt;/p&gt;</description></item><item><title>Creating 12-factor cloud-native Java apps with open source</title><link>https://foojayio.github.io/website/today/creating-cloud-native-java-applications-with-the-12-factor-app-methodology/</link><pubDate>Fri, 23 Aug 2024 05:30:51 +0000</pubDate><guid>https://foojayio.github.io/website/today/creating-cloud-native-java-applications-with-the-12-factor-app-methodology/</guid><description>&lt;p&gt;&lt;strong&gt;Learn how you could create cloud-native Java apps that are portable, scalable, and reliable with the 12 factor app methodology and open source Java frameworks.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Created in 2012, the 12-factor app methodology was designed to provide a set of guidelines for helping developers and organizations to design and build cloud-native applications. We&amp;rsquo;ll explore how you can take advantage of each of these 12 factors to create applications, utilizing open source technologies, that thrive in the cloud.&lt;/p&gt;</description></item><item><title>Run AI-enabled JakartaEE/MicroProfile apps with LangChain4j</title><link>https://foojayio.github.io/website/today/run-ai-enabled-jakarta-ee-and-microprofile-applications-with-langchain4j-and-open-liberty/</link><pubDate>Mon, 12 Aug 2024 22:14:36 +0000</pubDate><guid>https://foojayio.github.io/website/today/run-ai-enabled-jakarta-ee-and-microprofile-applications-with-langchain4j-and-open-liberty/</guid><description>&lt;p&gt;&lt;strong&gt;Artificial Intelligence (AI) is an exciting and disruptive field that is already transforming businesses, and even entire industries, by enabling automation, improving decision-making and unlocking new insights from data.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;With the rise in large language models (LLMs) such as ChatGPT, there is a significant shift in the performance of AI and its potential to drive enterprise value. So, how will this impact on software development and the creation of cloud-native Java applications for enterprises?&lt;/p&gt;</description></item><item><title>Foojay Podcast #55: Embedded Java, Part 2</title><link>https://foojayio.github.io/website/today/foojay-podcast-55/</link><pubDate>Mon, 01 Jul 2024 08:21:42 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-55/</guid><description>&lt;p&gt;As a backend developer, you may not realize that Java was initially born on embedded devices like set-top boxes and gateways. We discussed this topic for the first time almost three years ago in &lt;a href="https://foojayio.github.io/website/today/foojay-podcast-2/"&gt;Foojay Podcast #2 with James Gosling, Johan Vos, Erik Costlow, and Frank Delporte&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;In this episode #55, we look into the history of the Java Micro Edition and how things evolved. Nowadays, with processors becoming increasingly powerful, we can run the exact same Java runtime on any Linux system, from the biggest cloud servers to the smallest Raspberry Pi Zero.&lt;/p&gt;</description></item><item><title>Foojay Podcast #53: JCON Report, Part 5 – CQRS, JOOQ, GraphQL, API, Vaadin, OpenRewrite, ErrorProne, Gateways, Proxies,...</title><link>https://foojayio.github.io/website/today/foojay-podcast-53/</link><pubDate>Mon, 17 Jun 2024 09:24:52 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-53/</guid><description>&lt;p&gt;This is the final part of the JCON interviews. Did I save the best for last? It&amp;rsquo;s up to you to decide&amp;hellip;&lt;/p&gt;
&lt;p&gt;In this episode you&amp;rsquo;ll hear Simon Martinelli, Nicolas Fränkel, Marcus Hellberg, Rick Ossendrijver, and Abdel Sghiouar.&lt;/p&gt;
&lt;p&gt;We talked about a bunch of topics like evolving your APIs, GraphQL, Java versus Kotlin versus Rust, Vaadin, AI and ChatGPT, OpenRewrite, ErrorProne, Infrastructure, and a lot more.&lt;/p&gt;
&lt;h2 id="h2-0-video"&gt;Video&lt;/h2&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/6ops5sU_UiY?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;h2 id="h2-1-podcast-apps"&gt;Podcast Apps&lt;/h2&gt;
&lt;p&gt;You can listen and subscribe to the Foojay Podcast on:&lt;/p&gt;</description></item><item><title>Foojay Podcast #51: Persistence, Evolving your Career, Jakarta EE, GlassFish, Messaging via Telegram</title><link>https://foojayio.github.io/website/today/foojay-podcast-51/</link><pubDate>Mon, 03 Jun 2024 08:03:53 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-51/</guid><description>&lt;p&gt;This is part 3 of the JCON interviews.&lt;/p&gt;
&lt;p&gt;Frank meets Otavio Santana, who recently wrote the book &amp;ldquo;Mastering the Java Virtual Machine.&amp;rdquo; At JCON, he talked about the persistence layer and how you can evolve your career.&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll also learn more about Jakarta EE, GlassFish, and a PET project with messaging via Telegram.&lt;/p&gt;
&lt;h2 id="h2-0-video"&gt;Video&lt;/h2&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/7-lhQld4KVc?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;h2 id="h2-1-podcast-apps"&gt;Podcast Apps&lt;/h2&gt;
&lt;p&gt;You can listen and subscribe to the Foojay Podcast on:&lt;/p&gt;</description></item><item><title>Exploring Cost-Effective Solutions for Stateful Rest Services</title><link>https://foojayio.github.io/website/today/exploring-cost-effective-solutions-for-stateful-rest-services/</link><pubDate>Mon, 27 May 2024 13:13:02 +0000</pubDate><guid>https://foojayio.github.io/website/today/exploring-cost-effective-solutions-for-stateful-rest-services/</guid><description>&lt;h2 id="h2-0-a-case-study-with-ibm-cloud-code-engine-eclipsestore-and-ibm-cloud-object-storage"&gt;A Case Study with IBM Cloud Code Engine, EclipseStore, and IBM Cloud Object Storage&lt;/h2&gt;
&lt;p&gt;In the dynamic realm of cloud computing, finding cost-effective solutions for stateful rest services that don&amp;rsquo;t necessarily require scaling can be a nuanced challenge.&lt;/p&gt;
&lt;p&gt;In this article, we&amp;rsquo;ll take a pragmatic look at a use case leveraging &lt;a href="https://www.ibm.com/products/code-engine" title="IBM Cloud Code Engine" target="_blank" rel="noopener noreferrer"&gt;IBM Cloud Code Engine&lt;/a&gt;
, &lt;a href="https://eclipsestore.io/" title="EclipseStore" target="_blank" rel="noopener noreferrer"&gt;EclipseStore&lt;/a&gt;
, and &lt;a href="https://www.ibm.com/products/cloud-object-storage" title="IBM Cloud Object Storage (COS)" target="_blank" rel="noopener noreferrer"&gt;IBM Cloud Object Storage (COS)&lt;/a&gt;
. The goal is to shed light on how this can be a practical and economical alternative, particularly when scalability is not a primary concern.&lt;/p&gt;</description></item><item><title>Is your Java application ready for the next generation of server CPUs?</title><link>https://foojayio.github.io/website/today/is-your-java-application-ready-for-the-next-generation-of-server-cpus/</link><pubDate>Wed, 08 May 2024 08:03:53 +0000</pubDate><guid>https://foojayio.github.io/website/today/is-your-java-application-ready-for-the-next-generation-of-server-cpus/</guid><description>&lt;p&gt;&lt;strong&gt;If you only know about Arm CPU architecture from working on smartphones or Raspberry Pi devices, it might come as a surprise to you that there are also high-performance, cloud-scale Arm CPUs already on the Java market.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The share of cloud and server workloads running on Arm is increasing every year. Back in 2011, Arm released the AArch64 instruction set, the first 64-bit support on Arm CPUs. Since then, Arm&amp;rsquo;s silicon partners have been producing a range of systems-on-chip (SoCs) that adopt Arm&amp;rsquo;s high performance CPUs. These power a broad range of diverse devices and technologies, including &lt;a href="https://newsroom.arm.com/news/tcs23-mediatek-vivo" title="flagship smartphones" target="_blank" rel="noopener noreferrer"&gt;flagship smartphones&lt;/a&gt;
, &lt;a href="https://newsroom.arm.com/blog/windows-on-arm-laptop-momentum" title="laptops" target="_blank" rel="noopener noreferrer"&gt;laptops&lt;/a&gt;
, &lt;a href="https://newsroom.arm.com/blog/high-end-aiot-markets" target="_blank" rel="noopener noreferrer"&gt;industrial IoT&lt;/a&gt;
, servers, and even &lt;a href="https://newsroom.arm.com/news/arm-powered-fugaku-supercomputer-claims-1-spot-on-top500-third-time-in-a-row" target="_blank" rel="noopener noreferrer"&gt;powerful super computers&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>IntelliJ IDEA and Open Liberty - Effective Java app development</title><link>https://foojayio.github.io/website/today/effective-cloud-native-java-app-development-with-open-liberty-in-intellij-idea/</link><pubDate>Fri, 12 Apr 2024 13:36:25 +0000</pubDate><guid>https://foojayio.github.io/website/today/effective-cloud-native-java-app-development-with-open-liberty-in-intellij-idea/</guid><description>&lt;p&gt;&lt;strong&gt;See how you can use Liberty Tools for IntelliJ IDEA to enable rapid, easy, and efficient development of cloud-native Java applications with Open Liberty and WebSphere Liberty&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When it comes to integrated development environments, within the Java community, IntelliJ IDEA is the most popular IDE amongst professional developers. It is the preferred IDE of choice by two-fifths of developers, making up the biggest majority of IDE users in this community, according to JRebel&amp;rsquo;s &lt;a href="https://www.jrebel.com/resources/java-developer-productivity-report-2023" target="_blank" rel="noopener noreferrer"&gt;2023 Java Developer Productivity Report&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Minimize costs utilizing the cloud with Spring-Data-Eclipse-Store</title><link>https://foojayio.github.io/website/today/minimize-costs-by-utilizing-cloud-storage-with-spring-data-eclipse-store/</link><pubDate>Tue, 13 Feb 2024 15:26:37 +0000</pubDate><guid>https://foojayio.github.io/website/today/minimize-costs-by-utilizing-cloud-storage-with-spring-data-eclipse-store/</guid><description>&lt;p&gt;Sooner or later any Spring application needs to store data. And of course, the first and easiest move is to utilize &lt;a href="https://spring.io/projects/spring-data-jpa" target="_blank" rel="noopener noreferrer"&gt;Spring Data JPA&lt;/a&gt;
. You can set up your data storage without knowing which relational database you will use in production and simply start coding without worrying about that.&lt;/p&gt;
&lt;p&gt;It is the easiest and most convenient way to store data (in a relational database like PostgreSQL), yet in the cloud environment it is also an expensive way. Pricing at AWS RDS starts at 30$/month with tiny-Instances and always have &lt;strong&gt;fixed monthly costs regardless of its usage&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Foojay Podcast #38: Java in the Cloud</title><link>https://foojayio.github.io/website/today/foojay-podcast-38/</link><pubDate>Mon, 25 Dec 2023 12:02:46 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-38/</guid><description>&lt;p&gt;Java was born in 1995, when the internet as we know it today didn&amp;rsquo;t exist yet.&lt;/p&gt;
&lt;p&gt;Cloud servers, Docker, Kubernetes, distributed systems, scaling up and down&amp;hellip; these things are now part of our daily job, but Java wasn&amp;rsquo;t originally designed for it.&lt;/p&gt;
&lt;p&gt;In this episode, we want to learn if the recent evolutions in OpenJDK, and ongoing related projects, will make Java a full Cloud member.&lt;/p&gt;
&lt;h2 id="h2-0-video"&gt;Video&lt;/h2&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/xU4rKnzkSpo?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;h2 id="h2-1-podcast-apps"&gt;Podcast Apps&lt;/h2&gt;
&lt;p&gt;You can listen and subscribe to the Foojay Podcast on:&lt;/p&gt;</description></item><item><title>Strategies for Managing State in Chronicle Services</title><link>https://foojayio.github.io/website/today/strategies-for-managing-state-in-chronicle-services/</link><pubDate>Fri, 01 Dec 2023 08:41:44 +0000</pubDate><guid>https://foojayio.github.io/website/today/strategies-for-managing-state-in-chronicle-services/</guid><description>&lt;h2 id="h2-0-introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;In distributed, microservice-based applications, the management of state is one of the most important, yet difficult aspects of design.&lt;/p&gt;
&lt;p&gt;Ensuring the accuracy and consistency of state without introducing excessive complexity that affects performance or flexibility to support evolving requirements requires careful thought.&lt;/p&gt;
&lt;p&gt;This article discusses issues around state management and shows how the &lt;a href="https://chronicle.software/services/" title="Chronicle Services" target="_blank" rel="noopener noreferrer"&gt;Chronicle Services&lt;/a&gt;
 framework provides support to deal with these in ways that maintain a resilient and high performing microservices architecture.&lt;/p&gt;</description></item><item><title>How we developed the Eclipse OpenJ9 CRIU Support for fast Java start-up</title><link>https://foojayio.github.io/website/today/how-we-developed-the-eclipse-openj9-criu-support-for-fast-java-startup/</link><pubDate>Wed, 19 Jul 2023 15:33:39 +0000</pubDate><guid>https://foojayio.github.io/website/today/how-we-developed-the-eclipse-openj9-criu-support-for-fast-java-startup/</guid><description>&lt;p&gt;&lt;strong&gt;Checkpointing and restoring the JVM makes applications run faster because all the startup work is done before deployment. This means that in serverless cloud applications, the end-user of the application perceives no delay when the application starts. You can try it out now with your own apps on Open Liberty with Eclipse OpenJ9. But if you want to know more, here&amp;rsquo;s how we tackled the technical challenges of developing the Eclipse OpenJ9 CRIU Support.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Vaadin 24.1: Bringing You More Than Minor Improvements!</title><link>https://foojayio.github.io/website/today/vaadin-24-1-bringing-you-more-than-minor-improvements/</link><pubDate>Thu, 15 Jun 2023 14:58:13 +0000</pubDate><guid>https://foojayio.github.io/website/today/vaadin-24-1-bringing-you-more-than-minor-improvements/</guid><description>&lt;p&gt;I am pleased to share with you the newest release of Vaadin 24.1.&lt;/p&gt;
&lt;p&gt;While &lt;a href="http://https://foojay.io/today/vaadin-24-java-17-jakarta-ee-10-servlet-6-spring-boot-3/" title="Vaadin 24.0" target="_blank" rel="noopener noreferrer"&gt;Vaadin 24.0&lt;/a&gt;
 was about upgrading the technology baseline and compatibility, this version brings you some new features.&lt;/p&gt;
&lt;p&gt;Here are the best of them!&lt;/p&gt;
&lt;h2 id="h2-0-visual-view-builder"&gt;Visual View Builder&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://vaadin.com/docs/latest/tools/view-builder" title="Vaadin View Builder" target="_blank" rel="noopener noreferrer"&gt;&lt;img src="https://vaadin.com/docs/latest/static/37d22f0783d625059a3b94ed276b7d7a/cfb07/view-builder-start.webp" alt="Vaadin View Builder" title="Vaadin View Builder" loading="lazy"&gt;
&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Built into start.vaadin.com, Visual View Builder helps you to create application prototypes using Vaadin UI components, generate Java code and share your prototypes to gather feedback.&lt;/p&gt;</description></item><item><title>Your First Vaadin Spring Application in 2023</title><link>https://foojayio.github.io/website/today/your-first-vaadin-spring-application-in-2023/</link><pubDate>Thu, 25 May 2023 12:08:30 +0000</pubDate><guid>https://foojayio.github.io/website/today/your-first-vaadin-spring-application-in-2023/</guid><description>&lt;p&gt;Spring pun intended, but I wanted to update the guide for beginners interested in combining these two technologies.&lt;/p&gt;
&lt;p&gt;By following these steps, you&amp;rsquo;ll have a basic Vaadin-Spring Boot application up and running in no time.&lt;/p&gt;
&lt;p&gt;Recently I noticed that it is 8 years since Vaadin was first released in &lt;a href="https://start.spring.io/" title="start.spring.io" target="_blank" rel="noopener noreferrer"&gt;start.spring.io&lt;/a&gt;
. Since then, there have been many additions to both Spring boot and Vaadin.&lt;/p&gt;
&lt;p&gt;Recent upgrade to&lt;a href="https://spring.io/blog/2021/09/02/a-java-17-and-jakarta-ee-9-baseline-for-spring-framework-6" title=" Java 17 and Jakarta EE 9" target="_blank" rel="noopener noreferrer"&gt;Java 17 and Jakarta EE 9&lt;/a&gt;
 baseline. Vaadin 24 added a new &lt;a href="https://vaadin.com/docs/latest/configuration/development-mode#pre-compiled-front-end-bundle-for-faster-start-up" title="pre-compiled frontend mod" target="_blank" rel="noopener noreferrer"&gt;pre-compiled frontend mod&lt;/a&gt;
e making the initial startup matter of seconds (native compilation using GraalVM would make that even faster). And many many more. Time to grow a new project.&lt;br&gt;
&lt;img src="https://foojayio.github.io/website/today/your-first-vaadin-spring-application-in-2023/plant-lines2-691x510.png" alt="" loading="lazy"&gt;
&lt;/p&gt;</description></item><item><title>Managing Data Residency: Concepts &amp; Theory</title><link>https://foojayio.github.io/website/today/managing-data-residency-concepts-theory/</link><pubDate>Tue, 16 May 2023 09:18:20 +0000</pubDate><guid>https://foojayio.github.io/website/today/managing-data-residency-concepts-theory/</guid><description>&lt;p&gt;Cloud computing has opened a Pandora&amp;rsquo;s Box of many original issues compared to sound old on-premise systems. I believe that chief among them is &lt;strong&gt;Data Residency&lt;/strong&gt;, or Data Location.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Data localization or data residency law requires data about a nation&amp;rsquo;s citizens or residents to be collected, processed, and/or stored inside the country, often before being transferred internationally. Such data is usually transferred only after meeting local privacy or data protection laws, such as giving the user notice of how the information will be used and obtaining their consent.&lt;/p&gt;</description></item><item><title>Developer vs. ChatGPT Part I: Writing a Spring Boot Microservice</title><link>https://foojayio.github.io/website/today/java-developer-vs-chatgpt-part-i-writing-a-spring-boot-microservice/</link><pubDate>Thu, 27 Apr 2023 15:25:12 +0000</pubDate><guid>https://foojayio.github.io/website/today/java-developer-vs-chatgpt-part-i-writing-a-spring-boot-microservice/</guid><description>&lt;h3 id="h3-0-we-pit-a-seasoned-java-developer-against-the-all-knowing-generative-ai-to-find-out-once-and-for-all-can-an-ai-generate-a-java-microservice-end-to-end"&gt;We pit a seasoned Java developer against the all-knowing generative AI to find out once and for all: Can an AI generate a Java microservice end-to-end?&lt;/h3&gt;
&lt;p&gt;There&amp;rsquo;s a lot of buzz around Generative AI tools for code generation. It&amp;rsquo;s no secret that the future of developer productivity goes alongside tools such as &lt;a href="https://github.com/features/copilot" target="_blank" rel="noopener noreferrer"&gt;GitHub Copilot&lt;/a&gt;
 and &lt;a href="https://openai.com/blog/chatgpt" target="_blank" rel="noopener noreferrer"&gt;OpenAI&amp;rsquo;s ChatGPT&lt;/a&gt;
 to enable us, developers, to produce code better and faster. These tools can learn from our existing code and suggest new code based on the desired functionality, most importantly, they can even write documentation and tests!&lt;/p&gt;</description></item><item><title>How to Automatically Create Microservices Architecture Diagrams</title><link>https://foojayio.github.io/website/today/automatically-creating-microservices-architecture-diagrams/</link><pubDate>Thu, 20 Apr 2023 08:01:21 +0000</pubDate><guid>https://foojayio.github.io/website/today/automatically-creating-microservices-architecture-diagrams/</guid><description>&lt;p&gt;In application development, microservices is an architectural style where larger applications are structured as a collection of smaller, independent, yet interconnected services.&lt;/p&gt;
&lt;p&gt;While this allows for highly maintainable and testable applications (as each service can be maintained independent of the larger application), the problem with this method is the inherent complexity of interactions between microservices.&lt;/p&gt;
&lt;p&gt;It can be difficult for developers and team members to visualise how these microservices are connected to each other. We have been looking for ways to produce architectural diagrams that illustrate these interactions.&lt;/p&gt;</description></item><item><title>My Evaluation of the Scaleway Cloud Provider</title><link>https://foojayio.github.io/website/today/my-evaluation-of-the-scaleway-cloud-provider/</link><pubDate>Fri, 31 Mar 2023 09:54:20 +0000</pubDate><guid>https://foojayio.github.io/website/today/my-evaluation-of-the-scaleway-cloud-provider/</guid><description>&lt;p&gt;A couple of years ago, I developed an app that helped me manage my conference submission workflow.&lt;/p&gt;
&lt;p&gt;Since then, I have been a happy user of the free Heroku plan.&lt;/p&gt;
&lt;p&gt;Last summer, Heroku&amp;rsquo;s owner, Salesforce, announced that it would stop the free plan in November 2022.&lt;/p&gt;
&lt;p&gt;I searched for a new hosting provider and found &lt;a href="https://www.scaleway.com/" target="_blank" rel="noopener noreferrer"&gt;Scaleway&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;In this article, I&amp;rsquo;d like to explain my requirement, why I chose them, and my experience using them.&lt;/p&gt;</description></item><item><title>How to Build and Deploy a Real-time Cloud-based Logging System</title><link>https://foojayio.github.io/website/today/how-to-build-and-deploy-a-real-time-cloud-based-logging-system/</link><pubDate>Fri, 24 Mar 2023 15:04:51 +0000</pubDate><guid>https://foojayio.github.io/website/today/how-to-build-and-deploy-a-real-time-cloud-based-logging-system/</guid><description>&lt;p&gt;Logs and traces generated by applications are valuable sources of information that can help detect issues and improve performance.&lt;/p&gt;
&lt;p&gt;However, they are often treated separately from other data, even though they are no different from the data an application works with.&lt;/p&gt;
&lt;p&gt;In this tutorial, we will explore a different approach: treating logs and traces as part of a scalable cloud storage repository that can be analysed with the same techniques used for big data.&lt;/p&gt;</description></item><item><title>Failover Client with the Hazelcast Viridian Serverless</title><link>https://foojayio.github.io/website/today/how-to-create-a-failover-client-using-the-hazelcast-viridian-serverless/</link><pubDate>Fri, 24 Mar 2023 14:55:42 +0000</pubDate><guid>https://foojayio.github.io/website/today/how-to-create-a-failover-client-using-the-hazelcast-viridian-serverless/</guid><description>&lt;p&gt;Failover is an important feature of systems that rely on near-constant availability.&lt;/p&gt;
&lt;p&gt;In Hazelcast, a failover client automatically redirects its traffic to a secondary cluster when the client cannot connect to the primary cluster.&lt;/p&gt;
&lt;p&gt;Consider using a failover client with WAN replication as part of your disaster recovery strategy.&lt;/p&gt;
&lt;p&gt;In this tutorial, you&amp;rsquo;ll update the code in a Java client to automatically connect to a secondary, failover cluster if it cannot connect to its original, primary cluster.&lt;/p&gt;</description></item><item><title>Vaadin 24: Java 17, Jakarta EE 10, Servlet 6, Spring Boot 3</title><link>https://foojayio.github.io/website/today/vaadin-24-java-17-jakarta-ee-10-servlet-6-spring-boot-3/</link><pubDate>Wed, 22 Mar 2023 09:22:27 +0000</pubDate><guid>https://foojayio.github.io/website/today/vaadin-24-java-17-jakarta-ee-10-servlet-6-spring-boot-3/</guid><description>&lt;p&gt;Vaadin 24 delivers a significant step forward with a new technology baseline that includes Java 17, Jakarta EE 10, Servlet 6.0, Spring 6.0, and Spring Boot 3.&lt;/p&gt;
&lt;p&gt;This ensures you can continue building Vaadin Flow apps with the latest Java technologies.&lt;/p&gt;
&lt;p&gt;It also provides several exciting improvements that help you build Java applications even faster. Let me introduce some of them.&lt;/p&gt;
&lt;h2 id="h2-0-faster-build-times"&gt;Faster build times&lt;/h2&gt;
&lt;p&gt;You can now experience significantly improved build and start-up times during development.&lt;/p&gt;</description></item><item><title>Authenticate with OpenID Connect and Apache APISIX</title><link>https://foojayio.github.io/website/today/authenticate-with-openid-connect-and-apache-apisix/</link><pubDate>Thu, 09 Mar 2023 07:51:47 +0000</pubDate><guid>https://foojayio.github.io/website/today/authenticate-with-openid-connect-and-apache-apisix/</guid><description>&lt;p&gt;Lots of companies are eager to provide their identity provider: Twitter, Facebook, Google, etc. For smaller businesses, not having to manage identities is a benefit. However, we want to avoid being locked into one provider.&lt;/p&gt;
&lt;p&gt;In this article, I want to demo how to use OpenID Connect using Google underneath and then switch to Azure.&lt;/p&gt;
&lt;h2 id="h2-0-openid-connect"&gt;OpenID Connect&lt;/h2&gt;
&lt;p&gt;The idea of an &lt;em&gt;authorization&lt;/em&gt; open standard started with &lt;a href="https://en.wikipedia.org/wiki/OAuth" target="_blank" rel="noopener noreferrer"&gt;OAuth&lt;/a&gt;
 around 2006. Because of a security issue, OAuth 2.0 superseded the initial version. OAuth 2.0 became an in 2012:&lt;/p&gt;</description></item><item><title>Web App Startup in 3ms with RIFE2 and GraalVM</title><link>https://foojayio.github.io/website/today/web-app-startup-in-3ms-with-rife2-and-graalvm/</link><pubDate>Tue, 21 Feb 2023 09:12:55 +0000</pubDate><guid>https://foojayio.github.io/website/today/web-app-startup-in-3ms-with-rife2-and-graalvm/</guid><description>&lt;p&gt;&lt;a href="https://rife2.com" target="_blank" rel="noopener noreferrer"&gt;RIFE2&lt;/a&gt;
 applications already launch quickly with a regular JVM thanks merely calling Java methods, lambdas and doing object instantiations at startup. There are no annotations to scan for, nor any declarations or config files to parse and resolve.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://github.com/gbevin/rife2/releases/tag/1.3.0" target="_blank" rel="noopener noreferrer"&gt;RIFE2 v1.3.0 release&lt;/a&gt;
 introduced experimental support for GraalVM Ahead-Of-Time compilation with native-image, reducing the startup time of the bootstrap project from 177ms to an incredible 3ms.&lt;/p&gt;
&lt;h2 id="h2-0-try-it-out-yourself"&gt;Try it out yourself&lt;/h2&gt;
&lt;p&gt;In order to try this out, you can download the latest &lt;a href="https://www.graalvm.org/downloads/" target="_blank" rel="noopener noreferrer"&gt;GraalVM&lt;/a&gt;
 JDK 19 distribution, and follow the steps to install &lt;a href="https://www.graalvm.org/dev/reference-manual/native-image/" target="_blank" rel="noopener noreferrer"&gt;native-image&lt;/a&gt;
 on your machine.&lt;/p&gt;</description></item><item><title>Getting Started with RIFE2 Java Web Framework v1.0.0</title><link>https://foojayio.github.io/website/today/getting-started-with-rife2-java-web-framework-v1-0-0/</link><pubDate>Tue, 07 Feb 2023 07:44:45 +0000</pubDate><guid>https://foojayio.github.io/website/today/getting-started-with-rife2-java-web-framework-v1-0-0/</guid><description>&lt;p&gt;RIFE2 is a very recently released and completely re-imagined version of my RIFE framework from 10 years ago.&lt;/p&gt;
&lt;p&gt;You can find all the details on the &lt;a href="https://rife2.com" title="project website" target="_blank" rel="noopener noreferrer"&gt;project website&lt;/a&gt;
 and on &lt;a href="https://github.com/gbevin/rife2" title="GitHub" target="_blank" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-what-is-rife2"&gt;What is RIFE2?&lt;/h2&gt;
&lt;p&gt;RIFE2 provides an opinionated full stack web framework, without external dependencies, in a 2MB jar. It is designed as a whole to make the creation of dynamic web applications and REST web services very fast while preserving maintainability and leveraging the strengths of the Java platform. You can still pull in other Java libraries and frameworks, of course, however, the layers of RIFE2&amp;rsquo;s full stack have knowledge about each-other, which provides many convenient features and shortcuts.&lt;/p&gt;</description></item><item><title>How to Run a Java Application with CRaC in a Docker Container</title><link>https://foojayio.github.io/website/today/how-to-run-a-java-application-with-crac-in-a-docker-container/</link><pubDate>Wed, 01 Feb 2023 09:41:11 +0000</pubDate><guid>https://foojayio.github.io/website/today/how-to-run-a-java-application-with-crac-in-a-docker-container/</guid><description>&lt;p&gt;CRaC (Coordinated Restore at Checkpoint) is &lt;a href="https://openjdk.org/projects/crac/" target="_blank" rel="noopener noreferrer"&gt;an OpenJDK project&lt;/a&gt;
 that was &lt;a href="https://www.azul.com/blog/aws-snapstart-builds-momentum-for-the-crac-api/" target="_blank" rel="noopener noreferrer"&gt;developed by Azul&lt;/a&gt;
 to solve the problem of &amp;ldquo;slow&amp;rdquo; startup times of the Java Virtual Machine in a microservice environment.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The most up-to-date guidelines can be found on &amp;ldquo;&lt;a href="https://docs.azul.com/core/crac/crac-guidelines.html#running-crac-in-a-virtualized-environment-docker" target="_blank" rel="noopener noreferrer"&gt;Coordinated Restore at Checkpoint Usage Guidelines&lt;/a&gt;
&amp;rdquo; in the Azul Docs.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;When the JVM runs your application code, it does things like interpreting, compiling and optimizing code to make your application run as fast as possible under the given workload. This is great but can take some time and especially when you run short lived microservices you don&amp;rsquo;t want to wait until the JVM has produced the most optimized code.&lt;/p&gt;</description></item><item><title>Modular Monolithic in Practice</title><link>https://foojayio.github.io/website/today/modular-monolithic-in-practice/</link><pubDate>Wed, 25 Jan 2023 08:01:08 +0000</pubDate><guid>https://foojayio.github.io/website/today/modular-monolithic-in-practice/</guid><description>&lt;p&gt;With the usage of microservices in application modernization, we have seen both the advantages and disadvantages of maintaining such software development styles.&lt;/p&gt;
&lt;p&gt;When we create applications mostly in enterprise organizations, the first thing that comes to our mind now is how to decouple our applications.&lt;/p&gt;
&lt;p&gt;But there will be times when creating too many microservices is not the best way and may cost you time and money.&lt;/p&gt;
&lt;p&gt;Because of that, one alternative is to leverage the use of modules.&lt;/p&gt;</description></item><item><title>How to Reduce Cloud Cost by 99% for EDA Kafka Applications</title><link>https://foojayio.github.io/website/today/how-to-reduce-cloud-cost-by-99-for-eda-kafka-applications/</link><pubDate>Wed, 11 Jan 2023 13:35:41 +0000</pubDate><guid>https://foojayio.github.io/website/today/how-to-reduce-cloud-cost-by-99-for-eda-kafka-applications/</guid><description>&lt;p&gt;While the Cloud offers great convenience and flexibility, the operational cost for applications deployed in it can sometimes be significant.&lt;/p&gt;
&lt;p&gt;In this article, we show a way to substantially reduce operating costs in latency-sensitive Event-Driven Architecture (EDA) Java applications by migrating from Kafka to Chronicle Queue open-source, which is a more resource-efficient and&lt;a href="https://dzone.com/articles/kafka-vs-chronicle-for-microservices" title=" lower-latency" target="_blank" rel="noopener noreferrer"&gt;lower-latency&lt;/a&gt;
 queue implementation.&lt;/p&gt;
&lt;h3 id="h3-0-what-is-eda"&gt;What is EDA?&lt;/h3&gt;
&lt;p&gt;An EDA (Event-Driven Architecture) application is a distributed application where events (in the form of messages or DTOs) are produced, detected, consumed, and reacted to.&lt;/p&gt;</description></item><item><title>What’s New in Jakarta REST 3.1 in Jakarta EE 10?</title><link>https://foojayio.github.io/website/today/whats-new-in-jakarta-rest-3-1-in-jakarta-ee-10/</link><pubDate>Thu, 05 Jan 2023 11:30:17 +0000</pubDate><guid>https://foojayio.github.io/website/today/whats-new-in-jakarta-rest-3-1-in-jakarta-ee-10/</guid><description>&lt;p&gt;The Representational State Transfer or RESTful architecture is a stateless, HTTP based communication standard for modern applications. It was originally proposed by Dr. Roy Fielding in his PhD thesis.&lt;/p&gt;
&lt;p&gt;It has, over the years, become the default programming language-agnostic means of enabling machine-to-machine communication.&lt;/p&gt;
&lt;p&gt;An application written in the Django framework in Python can have REST resources that are consumed by another application written in Java with Jakarta EE. Similarly, a Jakarta EE application can create resources that can be consumed by a C# application.&lt;/p&gt;</description></item><item><title>Hilla 1.3: Build React + Spring Boot Apps Faster</title><link>https://foojayio.github.io/website/today/hilla-1-3-faster-react-spring-boot-development/</link><pubDate>Thu, 15 Dec 2022 00:01:50 +0000</pubDate><guid>https://foojayio.github.io/website/today/hilla-1-3-faster-react-spring-boot-development/</guid><description>&lt;p&gt;Hilla is a full-stack web framework for Spring Boot.&lt;/p&gt;
&lt;p&gt;With its type-safe server communication, building apps is faster (autocomplete everywhere) and refactoring them is safer (compile time errors vs production).&lt;/p&gt;
&lt;p&gt;Hilla includes 45+ UI components and integrated build tooling so you can get a full-stack project running in a minute.&lt;/p&gt;
&lt;p&gt;Hilla 1.3 adds support for using React to build the frontend.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Release highlights&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;New: &lt;a href="https://hilla.dev/docs/react" target="_blank" rel="noopener noreferrer"&gt;React support&lt;/a&gt;
 (including React wrappers for all Vaadin components)&lt;/li&gt;
&lt;li&gt;New: &lt;a href="https://www.npmjs.com/package/@hilla/cli" target="_blank" rel="noopener noreferrer"&gt;Hilla CLI&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://hilla.dev/blog/hilla-1-3-adds-react-support/" target="_blank" rel="noopener noreferrer"&gt;Release blog post&lt;/a&gt;
 | &lt;a href="https://github.com/vaadin/hilla/releases/tag/1.3.0" target="_blank" rel="noopener noreferrer"&gt;Release notes&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>Vaadin 23.3 Improves Kubernetes, Three New Components</title><link>https://foojayio.github.io/website/today/vaadin-23-3-improves-kubernetes-support/</link><pubDate>Wed, 14 Dec 2022 23:59:15 +0000</pubDate><guid>https://foojayio.github.io/website/today/vaadin-23-3-improves-kubernetes-support/</guid><description>&lt;p&gt;The Vaadin 23.3 release includes three new UI components and improvements to the Vaadin Acceleration Kits for easier deployments in clustered environments (support for rolling updates, horizontal scaling, high availability, and session replication).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Release highlights&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;New: &lt;a href="https://vaadin.com/docs/latest/components/tabs#tab-sheet" target="_blank" rel="noopener noreferrer"&gt;TabSheet component&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;New: &lt;a href="https://vaadin.com/docs/latest/components/tooltip" target="_blank" rel="noopener noreferrer"&gt;Tooltip component&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;New: &lt;a href="https://vaadin.com/docs/latest/components/spreadsheet" target="_blank" rel="noopener noreferrer"&gt;Spreadsheet component&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;New: &lt;a href="https://vaadin.com/docs/latest/tools/kubernetes" target="_blank" rel="noopener noreferrer"&gt;Kubernetes Kit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;New: &lt;a href="https://vaadin.com/docs/latest/tools/azure-cloud" target="_blank" rel="noopener noreferrer"&gt;Azure Cloud Kit&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://vaadin.com/blog/vaadin-23.3-kubernetes-cloud-new-ui-components" target="_blank" rel="noopener noreferrer"&gt;Release blog post&lt;/a&gt;
 | &lt;a href="https://github.com/vaadin/flow/releases/tag/23.3.0" target="_blank" rel="noopener noreferrer"&gt;Release notes&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>SpringOne TLV World Tour Trip Report</title><link>https://foojayio.github.io/website/today/springone-tlv-world-tour-trip-report/</link><pubDate>Fri, 09 Dec 2022 22:00:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/springone-tlv-world-tour-trip-report/</guid><description>&lt;p&gt;My talk was accepted by SpringOne in San Francisco. I never went to that conference and was really looking forward to it. This year would probably be amazing with the Spring 6.0 and Spring Boot 3.0 releases. So many groundbreaking changes. Unfortunately, my travel budget at Lightrun was cut, and I eventually left. This meant I had to cancel the trip, I would have paid for travel, but San Francisco is both far and prohibitively expensive. I&amp;rsquo;ll have to take a raincheck.&lt;/p&gt;</description></item><item><title>What is An Application Server? In 3 Minutes!</title><link>https://foojayio.github.io/website/today/what-is-an-application-server-in-3-minutes/</link><pubDate>Thu, 01 Dec 2022 17:01:44 +0000</pubDate><guid>https://foojayio.github.io/website/today/what-is-an-application-server-in-3-minutes/</guid><description>&lt;p&gt;Low on time and want to know what an &amp;lsquo;application server&amp;rsquo; really is?&lt;/p&gt;
&lt;p&gt;Here we offer our explanation. This video covers the difference between application servers and web servers, what an application server can do to make your life as a developer easier, and more, all in less time than your average pop song!&lt;/p&gt;
&lt;p&gt;This is a high-level view that might be helpful to pass on to managers and procurement teams who aren&amp;rsquo;t sure what an application server is.&lt;/p&gt;</description></item><item><title>Payara Launches Payara Cloud – Serverless for Jakarta EE</title><link>https://foojayio.github.io/website/today/payara-launches-payara-cloud-serverless-approach-for-jakarta-ee/</link><pubDate>Tue, 15 Nov 2022 16:31:30 +0000</pubDate><guid>https://foojayio.github.io/website/today/payara-launches-payara-cloud-serverless-approach-for-jakarta-ee/</guid><description>&lt;h2 id="h2-0-the-cloud-native-application-runtime-automates-tasks-like-kubernetes-deployment-ingress-and-yaml"&gt;The cloud native application runtime automates tasks like Kubernetes deployment, ingress and YAML.&lt;/h2&gt;
&lt;p&gt;Payara has launched a new product &lt;a href="https://www.globenewswire.com/Tracker?data=vWpu_qnRrkJcVsDvJOwJah09cL0__ihD70JQn1PC6vbdZhbW7zbNxo2ghVnHWkXX3jO6POtRb8Gjgiaa-vrN66gNjzvUPyiITCnoWqKAaYV4D440OmdOMwAVS0lLCo76" target="_blank" rel="noopener noreferrer"&gt;++Payara Cloud++&lt;/a&gt;
, designed to run Jakarta EE apps easily and quickly on the cloud.&lt;/p&gt;
&lt;p&gt;Developers simply upload any web application following the Jakarta Web Profile specification and run it in a containerized Payara Micro instance.&lt;/p&gt;
&lt;p&gt;Payara Cloud deals with infrastructure, allowing them to build the code and concentrate on business logic.&lt;/p&gt;</description></item><item><title>EJB support in Piranha via CDI</title><link>https://foojayio.github.io/website/today/ejb-support-in-piranha-via-cdi/</link><pubDate>Tue, 15 Nov 2022 14:14:42 +0000</pubDate><guid>https://foojayio.github.io/website/today/ejb-support-in-piranha-via-cdi/</guid><description>&lt;p&gt;Enterprise Beans was once the face of Java EE, but as we &lt;a href="https://foojayio.github.io/website/today/the-future-of-ejb/"&gt;discussed in the previous article&lt;/a&gt;
, is currently de-emphasised in Jakarta EE.&lt;/p&gt;
&lt;p&gt;However, since there&amp;rsquo;s so much existing code using Enterprise Beans, a certain level of support is still desired.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://piranha.cloud" target="_blank" rel="noopener noreferrer"&gt;Piranha Cloud&lt;/a&gt;
, a relatively new runtime supporting Jakarta EE, takes a somewhat novel approach to Enterprise Beans. Instead of implementing a separate container, Piranha Cloud, via the OmniBeans project, maps Enterprise Beans annotations to equivalent functionality in CDI itself, or to technologies in Jakarta EE leveraging CDI (such as Jakarta Transactions).&lt;/p&gt;</description></item><item><title>Clean Ways to Shutdown Spring Boot Applications</title><link>https://foojayio.github.io/website/today/clean-shutdown-of-spring-boot-applications/</link><pubDate>Fri, 04 Nov 2022 14:11:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/clean-shutdown-of-spring-boot-applications/</guid><description>&lt;p&gt;For the last three to four years, I have been working on Spring Boot and its associations, such as Spring Cloud, Spring Data, and Spring Security.&lt;/p&gt;
&lt;p&gt;I have always been tempted to use the combination of Ctrl+C and task kill for the purpose of killing Spring Boot applications or processes. It can be automated by a batch script, but usually I was quite lazy to do this myself, as the combination of actions used to serve the purpose!&lt;/p&gt;</description></item><item><title>What is MicroProfile?</title><link>https://foojayio.github.io/website/today/what-is-microprofile/</link><pubDate>Thu, 22 Sep 2022 09:03:08 +0000</pubDate><guid>https://foojayio.github.io/website/today/what-is-microprofile/</guid><description>&lt;p&gt;The Java programming language can be enhanced with specifications. An specification is a baseline platform definition - a framework - to guide concrete implementations.&lt;/p&gt;
&lt;p&gt;One of these specifications is called MicroProfile.&lt;/p&gt;
&lt;p&gt;But what is MicroProfile specification, what is it used for and why might you need it?&lt;/p&gt;
&lt;p&gt;This article explains all!&lt;/p&gt;
&lt;h2 id="h2-0-what-is-microprofile"&gt;What Is MicroProfile?&lt;/h2&gt;
&lt;p&gt;The &lt;a href="https://microprofile.io/" target="_blank" rel="noopener noreferrer"&gt;MicroProfile&lt;/a&gt;
 specification is a set of Enterprise Java APIs and technologies, designed to help with the challenge of building microservices architectures in Java.&lt;/p&gt;</description></item><item><title>How the world caught up with Apache Cassandra</title><link>https://foojayio.github.io/website/today/how-the-world-caught-up-with-apache-cassandra/</link><pubDate>Thu, 15 Sep 2022 16:50:50 +0000</pubDate><guid>https://foojayio.github.io/website/today/how-the-world-caught-up-with-apache-cassandra/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/how-the-world-caught-up-with-apache-cassandra/hero-techcrunch.png" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;The O&amp;rsquo;Reilly book, &lt;em&gt;Cassandra: The Definitive Guide,&lt;/em&gt; features a quote from Ray Kurzweil, the noted inventor and futurist: {#speakable-summary}&lt;/p&gt;
&lt;p&gt;&amp;ldquo;An invention has to make sense in the world in which it is finished, not the world in which it is started.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;This quote has a prophetic ring to it, especially considering my co-author Eben Hewitt included it in the 2010 first edition of this book we wrote, back when Apache Cassandra, the open-source, distributed, and highly scalable NoSQL database, was just on its 0.7 release.&lt;/p&gt;</description></item><item><title>Serverless is the New Timeshare</title><link>https://foojayio.github.io/website/today/serverless-is-the-new-timeshare/</link><pubDate>Fri, 09 Sep 2022 07:53:18 +0000</pubDate><guid>https://foojayio.github.io/website/today/serverless-is-the-new-timeshare/</guid><description>&lt;p&gt;We have a shared amnesia. When I speak to younger developers about past technologies, I often get blank stares. To be fair, some of that is because I&amp;rsquo;m a bit &amp;ldquo;intense&amp;rdquo; or &amp;ldquo;weird&amp;rdquo; but some of that is because. Huh? Really? Did we have that?&lt;/p&gt;
&lt;p&gt;Case in point XA transactions and 2PC (Two Phase Commit). We have a young generation that&amp;rsquo;s completely ignorant of that capability and the fact that this was &amp;ldquo;a thing&amp;rdquo;. Did the requirement for transaction management somehow vanish?&lt;/p&gt;</description></item><item><title>Ignore Infrastructure, Focus on Code, with Jakarta EE and Payara</title><link>https://foojayio.github.io/website/today/ignore-infrastructure-concentrate-on-code-with-jakarta-ee-and-payara-cloud/</link><pubDate>Tue, 09 Aug 2022 09:59:12 +0000</pubDate><guid>https://foojayio.github.io/website/today/ignore-infrastructure-concentrate-on-code-with-jakarta-ee-and-payara-cloud/</guid><description>&lt;p&gt;Java EE, now Jakarta EE, makes it possible for developers to focus purely on the development of a Java enterprise application, solving the business logic without needing to think about infrastructure and operations when writing code.&lt;/p&gt;
&lt;p&gt;Payara Cloud extends this philosophy by also eliminating the need to worry about infrastructure and operations when preparing your application to run in the cloud.&lt;/p&gt;
&lt;p&gt;Together, Jakarta EE and Payara Cloud let you focus on writing code and delivering solutions to business challenges from the moment you write your first piece of code to the day people are using your application successfully on the cloud.&lt;/p&gt;</description></item><item><title>How to deploy a Vaadin application to Google Cloud App Engine</title><link>https://foojayio.github.io/website/today/how-to-deploy-a-vaadin-application-to-google-cloud-app-engine/</link><pubDate>Tue, 26 Jul 2022 08:27:20 +0000</pubDate><guid>https://foojayio.github.io/website/today/how-to-deploy-a-vaadin-application-to-google-cloud-app-engine/</guid><description>&lt;p&gt;I tried to deploy a Vaadin application to Google Cloud App Engine.&lt;/p&gt;
&lt;p&gt;It was not as straightforward as expected, so I want to share my findings.&lt;/p&gt;
&lt;p&gt;The example project is available on GitHub: &lt;a href="https://github.com/simasch/vaadin-appengine-demo" target="_blank" rel="noopener noreferrer"&gt;https://github.com/simasch/vaadin-appengine-demo&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="h2-0-the-vaadin-application"&gt;The Vaadin Application&lt;/h2&gt;
&lt;p&gt;First, I&amp;rsquo;ve created a new Vaadin application: &lt;a href="https://start.vaadin.com" target="_blank" rel="noopener noreferrer"&gt;https://start.vaadin.com&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Then I did a production build:&lt;/p&gt;
&lt;pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""&gt;mvn package -Pproduction&lt;/pre&gt;
&lt;p&gt;That will generate an executable JAR file in the target directory.&lt;/p&gt;</description></item><item><title>The End of the Beginning for Apache Cassandra</title><link>https://foojayio.github.io/website/today/the-end-of-the-beginning-for-apache-cassandra/</link><pubDate>Tue, 12 Jul 2022 17:43:39 +0000</pubDate><guid>https://foojayio.github.io/website/today/the-end-of-the-beginning-for-apache-cassandra/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/the-end-of-the-beginning-for-apache-cassandra/1_xslbFHC3hRapwGV_wj17vg-1024x663.jpeg" alt="" loading="lazy"&gt;
 Image: &lt;a href="https://pixabay.com/photos/prairie-river-stream-curved-sunset-679014/" target="_blank" rel="noopener noreferrer"&gt;Pixabay&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Editor&amp;rsquo;s note: This story originally ran on July 27, 2021, the day that Apache Cassandra 4.0 was released.&lt;/em&gt;{#4bbb}&lt;/p&gt;
&lt;p&gt;Today is a big day for those of us in the &lt;a href="https://cassandra.apache.org/" target="_blank" rel="noopener noreferrer"&gt;Apache Cassandra&lt;/a&gt;
 community. After a long uphill climb, Apache Cassandra 4.0 has &lt;a href="https://thenewstack.io/apache-cassandra-4-0-comes-in-ready-for-production/" target="_blank" rel="noopener noreferrer"&gt;finally shipped&lt;/a&gt;
. I say finally, because it has at times seemed like an elusive goal. I&amp;rsquo;ve been involved in the Cassandra project for almost 10 years now and I have seen a lot of ups and downs.{#d6a4}&lt;/p&gt;</description></item><item><title>Securely Authenticate to Google Cloud from GitHub</title><link>https://foojayio.github.io/website/today/securely-authenticate-google-cloud-github/</link><pubDate>Mon, 02 May 2022 08:57:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/securely-authenticate-google-cloud-github/</guid><description>&lt;p&gt;Recently, I designed a simple metrics-tracking system.&lt;/p&gt;
&lt;p&gt;A Python script queries different providers&amp;rsquo; APIs for metrics, &lt;em&gt;e.g.&lt;/em&gt;, Twitter, GitHub, etc.&lt;/p&gt;
&lt;p&gt;The idea is to run this script each day, store them in Google BigQuery and provide an excellent data visualization in Google Data Studio.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m a big fan of automation, so I&amp;rsquo;m using GitHub Actions.&lt;/p&gt;
&lt;h2 id="h2-0-accessing-google-cloud-with-a-service-account"&gt;Accessing Google Cloud with a Service Account&lt;/h2&gt;
&lt;p&gt;I query the different APIs with different Python libraries. All of them allow authenticating by passing a parameter. In general, it&amp;rsquo;s a token. One can store the value in a GitHub secret, get it as an environment variable in the GitHub Action and use it in the code.&lt;/p&gt;</description></item><item><title>Polyglot Cloud Native Debugging: Beyond Logs/APM</title><link>https://foojayio.github.io/website/today/polyglot-cloud-native-debugging-beyond-apm-and-logging/</link><pubDate>Tue, 18 Jan 2022 07:55:51 +0000</pubDate><guid>https://foojayio.github.io/website/today/polyglot-cloud-native-debugging-beyond-apm-and-logging/</guid><description>&lt;p&gt;&lt;strong&gt;I&amp;rsquo;ve done quite a few conference talks since I became a developer advocate for &lt;a href="https://lightrun.com/" target="_blank" rel="noopener noreferrer"&gt;Lightrun&lt;/a&gt;
. One of my most popular talks has a title similar to the title of this article. In this article I&amp;rsquo;ll try to cover the gist of the talk.&lt;/strong&gt;&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/cj--cJrYqhQ?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;br /&gt;
&lt;h2 id="_cloud_native_applications"&gt;Cloud-Native Applications&lt;/h2&gt;
&lt;p&gt;There&amp;rsquo;s practically an alphabet soup of terms covering public cloud, hybrid cloud, etc. There&amp;rsquo;s also a lot of overlap between the various terms. The nice thing about this topic is that it applies, regardless. You will run into problems with microservices, architecture and monolithic applications or serverless.&lt;/p&gt;</description></item><item><title>Building Stateful Microservices in the Cloud Native World</title><link>https://foojayio.github.io/website/today/different-approaches-to-building-stateful-microservices-in-the-cloud-native-world/</link><pubDate>Tue, 04 Jan 2022 09:34:13 +0000</pubDate><guid>https://foojayio.github.io/website/today/different-approaches-to-building-stateful-microservices-in-the-cloud-native-world/</guid><description>&lt;p&gt;&lt;img src="https://www.javaadvent.com/content/uploads/2021/11/pexels-photo-164170.jpeg" alt="Snow-capped mountains and landscape with clouds" loading="lazy"&gt;
Cloud Native computing is all about working with stateless data and serverless systems. But we all live in a stateful world, in which data flows through systems interconnected with one another through complex networks.&lt;/p&gt;
&lt;p&gt;So how can systems be able to manage and track the flow of data in a coherent fashion and in a stateless world?&lt;/p&gt;
&lt;h3 id="h3-0-navigating-the-maze-of-cloud-related-terminologies"&gt;Navigating the maze of cloud related terminologies&lt;/h3&gt;
&lt;p&gt;We will first iron out a few terminologies that some folks appear to be using almost interchangeably in the current cloud computing era:&lt;/p&gt;</description></item><item><title>The future of cloud-native databases begins with Apache Cassandra 4.0</title><link>https://foojayio.github.io/website/today/the-future-of-cloud-native-databases-begins-with-apache-cassandra-4-0/</link><pubDate>Wed, 29 Dec 2021 07:40:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/the-future-of-cloud-native-databases-begins-with-apache-cassandra-4-0/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Reliability at massive scale is one of the biggest challenges we face at Amazon.com, one of the largest e-commerce operations in the world; even the slightest outage has significant financial consequences and impacts customer trust.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This was the first line of the highly impactful &lt;a href="http://www.cs.cornell.edu/courses/cs5414/2017fa/papers/dynamo.pdf" target="_blank" rel="noopener noreferrer"&gt;paper&lt;/a&gt;
 titled &amp;ldquo;Dynamo: Amazon&amp;rsquo;s Highly Available Key-value Store.&amp;rdquo; Published in 2007, it was written at a time when the status quo of database systems was not working for the massive explosion of internet-based applications. A team of computer engineers and scientists at Amazon completely re-thought the idea of data storage in terms of what would be needed for the future, with a firm footing in the computer science of the past. They were trying to solve an immediate problem but they had unwittingly sparked a huge revolution with distributed databases and the eventual collision with cloud-native applications.&lt;/p&gt;</description></item></channel></rss>