How to Scaffold a Java Project and Build a Kubernetes-Native App

Tony Mauro Thumbnail
Tony Mauro
Published February 09, 2023

Right now, millions of Java developers are spending a ton of time and effort to optimize application performance. They’re working on cloud‑based business requirements that range from web to mobile, AI/ML, and edge. One of the biggest roadblocks they face is the poor compatibility between Java and Kubernetes. Even simple fixes are time‑consuming because developers have to learn and adopt unfamiliar run‑time environments and programming languages. This is where scaffolding the project can save time and headaches.

What Is Scaffolding?

In software development, scaffolding refers to creating temporary or generic code while a program is being developed and tested. Less complex examples include adding code to test for runtime errors and creating a mockup of a form‑fill page. This mockup, or scaffold, behaves how the final form‑fill will behave, but may look different or use different code than the final version. Either way, the result is a temporary skeleton of an application feature that is not intended to be included in the final system or project.

Examples of Scaffolding with NGINX

When using NGINX Open Source as a Layer 7 data plane, developers generally have to put up a fair amount of scaffolding to make things work. This scaffolding might include adding authentication and certificate management, setting up logging, and wiring up automation and CI/CD capabilities. We’re working on extensions to the NGINX ecosystem so that every major requirement for testing and deploying an app is satisfied by one or more high‑quality open source components; for more details, see our blog.

Scaffolding a Java Project into a Kubernetes‑Native App

In this demo from NGINX Sprint 2022, Daniel Oh, Senior Principal Developer Advocate at Red Hat, walks you through how to scaffold a Java project from scratch and then build it as a Kubernetes‑native application with a tiny memory footprint and a start‑up time of just milliseconds.

Daniel also shows how you can continue testing and debugging an application that’s already deployed to a remote Kubernetes environment in a way that duplicates the local developer experience of inner loop development.

"This blog post may reference products that are no longer available and/or no longer supported. For the most current information about available F5 NGINX products and solutions, explore our NGINX product family. NGINX is now part of F5. All previous links will redirect to similar NGINX content on"