We have been working hard to optimise Payara Server to make it the best application server for production Java EE applications; with responsive 24/7 dedicated incident and software support delivered by the best middleware engineers in the industry.
If you are using Payara Server in production, or if you are considering it, take a look at the Guides and other useful resources below, which will help you evaluate Payara Server's production capabilities.
After you've got familiar with administering Payara Server, having configured your domain and deployed your applications, you might find it useful to get some more information on features supporting maintenance of your domain in the longer term.
Have a look at our Advanced Administration & Maintenance of Payara Server Guide which summarises some very useful maintenance features of Payara Server:
- Backing up and restoring
- Execution of admin commands in batch
- Deployment of multiple application versions
The guide also features a demo on Application Versioning in Payara Server and lists some useful references to the detailed documentation material for Payara Server.
Once you have developed applications on Payara Server and moved these applications into a production environment, control will pass over to your operations teams.
Have a look at our Payara Server in Production Ops Teams Guide introducing some features of Payara Server that you may not know about, which are especially useful for the operations teams.
The guide covers the following sections:
- Script your Installation
- JVM Settings
- Viewing the Server Logs
- Thread Dump
- Configuring the Healthcheck Service
For more information and some useful tips on automating production in Payara Server check out Mike Croft's article, covering the following sections:
- What's our end-game
- How do we get there?
- Infrastructure as code
- How does Payara Server help?
Security is always a concern you must have when implementing applications that will run in production environments. Both the JVM and Payara Server have a strong tool set of security implementations for most use cases in the industry, so you won’t have to worry about implementing your own security measures from scratch.
Even if you implement all security measures needed to protect the integrity and confidentiality of your data, considering the human component of your application is something many engineers tend to forget! Identifying who can access sensitive data in your application at specific times, and how, is a crucial task that can be eased with the audit-logging capabilities that come into Payara Server.
One of the biggest challenges when developing applications for the web is understanding how applications need to be fine-tuned when releasing them into a production environment. This is no exception for Java Enterprise applications deployed on Payara Server.
Running a Payara Server installation is simple: download the current distribution suited for your needs (full, web, micro), etc.; head to the /bin folder and start the default domain! However, keep in mind that Payara Server is tailored for development purposes (a trait shared with GlassFish). When developing a web application, it’s better to quickly code features, execute a fast deploy, test them, un-deploy the application (or redeploy it) and continue with the next set of features.
However, in a production environment, a proper configuration to make the system fulfill its expected quality attributes (performance, availability, reliability, etc.) is a must. The intention of this blog post is to provide a set of optimizations to apply when preparing your production environment using Payara Server; and show how to fine tune the critical aspects related to these optimizations.
Payara Server provides huge flexibility when architecting topologies for High Availability and Scalability. Utilising the embedded Hazelcast Data Grid for web session and JCache clustering brings the potential of many different topologies for scale out.
Flexible in-memory data storage options are available in Payara Server and Payara Micro without ever creating a traditional "cluster". Further additional capabilities for WAN replication and high density memory storage are available with Payara Scales.
With Payara Scales, Payara Server replicates session and cache data across multiple data centres and stores data in-memory, off heap making it perfect for large-scale, highly resilient deployments.
Check out the Flexible HA & Scalability Architectures with Payara Server article, which explores Payara Server’s caching, scaling and clustering functionalities, using Hazelcast.
Once an application is running on Payara Server, it is useful to know what is going on inside the application server. It is even more important when something is not working as expected, or if there are performance issues. In order to find out what is going on and what could be improved, Payara Server provides a lot of monitoring options for our convenience.
Check out the 'Monitoring Payara Server in Production' guide for an overview of the most useful monitoring tools and features in Payara Server, including:
- Introduction to the Monitoring Service;
- Monitoring through the REST API;
- Monitoring through the JMX interface;
- Monitoring in the administration console;
- Monitoring from the system shell using asadmin;
- The Health Check Service;
- Detection of slow SQL queries.
- Payara Server has a full web based administration console
- Payara Server has a fully scriptable Command Line Interface
- Payara Server has a full REST based management console
- Payara Server is fully instrumented via JMX
- Payara Server supports rolling upgrades of Java EE applications
- Payara Server is fully supported in Production