Newbie question about choosing micro vs. server

Old school developer here, new to Payara and the community. Familiar with JEE monolith apps using Wildfly/JBoss deployed to on-prem/bare metal. Now, our organization is moving to GCP.

I need to create a simple CRUD app having two database tables. The app will need to store PDFs/MS Word docs. I’d prefer not to use JSF and instead use a JS framework such as Angular or React. It seems web profile would be sufficient so I’d like to create this app using Payara Micro. Is this a bad idea or overkill for this simple app? Or would it be better to use Payara Server?


Payara Micro was designed to make it easier to run smaller applications. So yes, it’s a good idea to create and run your application using Payara Micro. It’s certainly not an overkill for any application. To make the application even lighter, you can disable clustering with the --nocluster command line option. That would save a few seconds at startup which are normally consumed by trying to join other Payara Micro instances on the network.

I recommend using the Netbeans IDE, which supports creating a Payara Micro project and effective development with Payara Micro. Here’s documentation about Netbeans support for Payara Micro: Payara Micro NetBeans Plugin :: Payara Community Documentation. You can also use any other IDE with support for Payara Micro, just look at the Payara documentation for the IDE of your choice.

I’d like to explain that both Payara Micro and Payara Server are capable of running the same Web Profile application without any changes. If you intend to run your application with Payara Micro, it’s wise to develop it against Payara Micro from the start. But you’re not stuck with Payara Micro in case you’ll want to use some features only available in Payara Server later. You can just deploy the resulting WAR and run it on Payara Server without any changes.

Therefore, you don’t have to worry whether Payara Micro is suitable or not. Just start using it and, in case you’d find out that Payara Server is a better choice for your application, you can always easily switch to using Payara Server in no time.

All the best,

I’m familiar with Intellij but I installed Netbeans a few weeks ago to compare its features and functionality. I’ll take a look at using the Netbeans Payara Micro plugin. Thank you for mentioning the --nocluster option. My app will have only light usage so this info is very helpful. Yesterday, I generated a starter app using and it was great to see how to organize a multi-service project and how straightforward it was to implement metrics, JWT auth, fault tolerance, etc.

I know you are very busy so thank you, Ondro, for taking the time to provide helpful info!!