How Payara Enterprise is Made

Photo of Steve Millidge by Steve Millidge

Recently we rebranded the Community and Enterprise Editions of the Payara Platform to clarify and strengthen the differences between our Community software and our Enterprise subscriptions for customers.

There were a number of reasons why we did this, from my perspective. From the beginning of Payara, we have had different editions of the software for customers as our Enterprise Edition has always had a 10 year software lifecycle and the availability of down-ported patches; hot fixes; and security patches for mission critical production installations - whereas the Community Edition has always had a single marching version.

Why Enterprise, Why Community?

As we move towards Jakarta EE 9, which is a breaking API change; and Payara Platform 6 (a next generation application server); the need to target each edition with different goals became obvious.

The goals of the Payara Platform Community Edition are to follow the open-source mantra of "release early, release often" - getting the latest innovations of Jakarta EE 9, Jakarta EE 10, and MicroProfile into the hands of developers as fast as possible while starting to move to the next generation of application server targeted for Payara Platform 6. Payara Community is where innovation happens.

Payara Enterprise is designed to run mission critical production applications, so therefore its goals need to be different. Payara Enterprise must deliver a stable, quality platform with a focus on operational requirements, high performance, high availability, operational visibility, manageability, be easily upgradable, and secure. The strengthening of the Payara Enterprise brand is designed to deliver clarity and reinforce understanding of the different goals, that have always existed, between Payara Community and Payara Enterprise.

Click here to see a visual comparison between Payara Community and Payara Enterprise Editions.

Payara Enterprise Upstream Components

How Payara is Made Infographic

To reinforce the goals of the Payara Enterprise Platform within Payara's Engineering Team we now have different product leads for Payara Enterprise and Payara Community.

All Payara Enterprise's components are open source in many different upstream projects. For example, we pull components from the Eclipse Jakarta EE projects including Eclipselink for our JPA implementation; Jersey for the JAX-RS implementation; Tyrus for WebSockets; Yasson for JSON-B and many others.

With Java EE moving to the Eclipse Foundation, contributing new features and fixes to these upstream projects has become easier and you will see Payara team members contributing upstream a lot more. We also pull components from the Apache Foundation - for example, Apache Felix is the foundation of Payara Server. We also take components from the JBoss community including Weld for CDI and validator for bean validation. We integrate upstream Hazelcast as the foundation of our Data Grid, and we work in the Eclipse MicroProfile initiative to deliver support for MicroProfile APIs. Finally, the Payara Enterprise team view Payara Community as an upstream project and consume components and deliver code upstream to the Community project and upstream repositories under the Payara organisation on GitHub.

Delivering Payara Platform Enterprise

The Payara Enterprise engineering lead takes components from all the different projects above and integrates them into the Payara Enterprise Platform software distribution. Their goal is to deliver a coherent, well integrated platform, ensuring that all the components across all the different upstream projects work well together to deliver a stable runtime for mission critical applications.

The Enterprise lead selects the correct versions of different components depending on stability, security status, bug fixes and functionality, to produce the best Enterprise software build. The team then build an optimised configuration built for production, including components that deliver additional capabilities for mission critical environments.

The Enterprise lead needs to build and document a stable upgrade path between Enterprise versions to ensure customers can easily upgrade and migrate their production installations to the latest version.

In addition, the Enterprise engineering team have to maintain close compatibility to Payara Community to ensure new customers can easily migrate from Payara Community to the Payara Enterprise software edition when they purchase an Enterprise subscription.

Finally, the Enterprise build is then subjected to extensive Quality Assurance (QA) and performance testing across multiple operating systems, JVMs, and Java versions including passing the Jakarta EE and MicroProfile Compatibility Test Suites.

The Complete Payara Platform Enterprise Subscription

After QA, performance testing, and passing of Jakarta EE and MicroProfile Compatibility Test Suites, the Payara Platform Enterprise release is then made available on our Customer Hub alongside the Azul Zulu Enterprise builds of Open JDK for different Java versions and operating systems; enterprise builds of our Connectors for Apache Kafka, MQTT, Amazon SQS and Azure Service Bus ; Enterprise IDE plugins; monitoring plugins and developer plugins for Arquillian, Maven and Gradle. All of these are wrapped in a support subscription, 10 year software lifecycle and open source assurance that ensures customer's mission critical production environments are supported 24/7.

If you are serious about running the Payara Platform in production you need to be on the Payara Enterprise Platform.

Request Payara Enterprise Download