It's 6 months since I posted our last roadmap update and the team have been working hard to deliver what we promised at the beginning of the year and have released both our 191 and 192 releases since then. I therefore thought it was a good time to reflect on what we've delivered so far and what we've still got to do.
Payara Platform 191 Highlights
The 191 release was the first release in 2019 and - as always - was the root of our customer Stability Stream. This means the release received a lot of attention for component upgrades, bug fixing and security patching. As the Stability Stream is recommended for customers that are focused more on stability and consistency, rather than new features, the first release of the year gains extra attention to ensure it is a solid platform for the year.
We also delivered MicroProfile 2.1 support and introduced a new EJB thin client that uses REST under the covers to invoke EJBs on a remote Payara Server.
Payara Platform 192 Highlights
192 was a huge release for us. Our key focus for 192 was to deliver JDK 11 support for the Payara Platform and we delivered it in tech preview, which means that we still support the feature but as it is new you should test your application before deploying into production.
As well as JDK 11 support, we also delivered a whole raft of features towards our targeted priorities. For Kubernetes and Docker support we introduced the concept of Docker nodes. A completely new node type that allows the admin console to start and stop Payara instances embedded in a Docker container on any configured Docker host. We will expand on this in future roadmap releases.
As well as the Docker nodes, we also continued on our MicroProfile journey and delivered support for MicroProfile 2.2 in both Payara Server and Payara Micro. If you want to try out our MicroProfile 2.2 support the quickest way is to go to start.microprofile.io.
As well as core Platform work, the team have also been putting out releases of our Payara ecosystem, components. The Payara tools for Eclipse got an update in May and our Payara NetBeans plugin was integrated into the awesome NetBeans 11.1 release which complemented well NetBeans' new support for Java EE 8. From now on Payara's NetBeans support will be delivered within the NetBeans project.
Our Cloud Connectors for MQTT and Kafka got a bit of an overhaul based on user feedback. The MQTT connector now has better reconnect handling. The Kafka connector now can operate in both synch mode and asynch mode to better control when to commit offsets back to the server giving more control to the developer.
For the rest of the year, we are building on the huge 192 release to build out and improve on what we've done so far.
MicroProfile 3.0 and Jakarta EE 8 Support
Our development for MicroProfile 3.0 support is well underway and this should be available in the 193 release timeframe. MicroProfile 3.0 brings in major updates to the Metrics and Healthcheck APIs, some of which are not backwards compatible.
Jakarta EE 8 should also be released in September this year and we aim to certify the Payara Platform as a Jakarta EE 8 compatible implementation as close as possible to the release date. How close depends both on our testing and the availability of the final versions of the test suites being available to us. The September date falls just after our usual 193 release date so we hope we can certify the 193 release but we won't know until after the release!
We already have a lot of Kubernetes support but building on our Docker node implementation and current Kubernetes support we will be releasing a (to be named) "Dynamic Instances" feature. What this feature will do is allow the autoscaling of Payara instances, external to the Payara Platform, for example Kubernetes Pod Scaling to be recognised by the Domain Admin Server (DAS). For example, if you use Kubernetes to scale out a number of Payara instances associated in a domain then these will be recognised and displayed in the DAS.
Work has also started on a Monitoring Console accessible from the Admin Console. The Payara Monitoring Console should provide deep insights to an application developer and a production operator into how their applications are running on the Payara Platform. Being the developers of the platform, we have the opportunity to build instrumentation that can measure and monitor the hosted application. The Monitoring Console will provide a sliding window performance view of many key metrics within the server and will provide deep insights into performance problems that may arise in application code.
In the spirit of "release early, release often", you will see a gradual build up of functionality in the Monitoring Console as releases hit our downloads.
As well as the Monitoring Console we have also started development aimed at giving developers deep insights into the structure of their applications. We integrated Weld development mode a while back to give a lot of information about CDI beans in your application. We are looking to expand that to give a JNDI viewer, details about EJBs, Servlets, REST endpoints and other components in your applications. As well as a deployment analyser that can look at the jars you have packaged with your application and identify anomalies and or optimisations that can be applied. We would love feedback on what you'd like to see in the Developer Console!
We are really excited about the plans we have for the Payara Platform for the rest of 2019. As always, we are looking for feedback and where you think we should take the platform to, so get involved!
Payara is an open source company and we deliver the Payara Platform to both customers and community, 100% funded by customer support subscriptions. To experience the benefits of our commercial support programs, take a look at our support options online or download the Support Brochure.
If you are a Payara Server or Payara Micro user and your organization can't help by becoming a support customer, please help by providing bug reports on GitHub, coding and raising pull requests, offering ideas for enhancement requests, by helping out the community on the forums or by updating documentation.