Since we started releasing our Enterprise Platform offerings, there has been some confusion as to why would someone become a subscriber and adopt the enterprise platforms, such as the Enterprise Application Platform or the Enterprise SOA Platform, versus just downloading the jboss.org bits and using them for free?
This is certainly a legitimate question, and one that I get a lot. It also has some history behind it, since our original product model was every release on jboss.org was a supported product that you could purchase a support subscription for. With this split between having jboss.org releases be just for community consumption, and not for paying customers, confusion has reigned supreme. With that, let's talk about the reason we even went down this path.
One of the biggest issues our customers faced was stability. Under the old product model, there were fairly major changes and/or feature enhancements even in dot dot dot releases, which had the potential for breaking customers applications. That was certainly the number one problem our customers were facing, and we had to address that. While there are other issues that drove us to the new product model, stability was the number one reason. Many of our customers want a product that they can deploy, and that they know will guarantee compatibility over many years. We just didn't deliver that under the old model.
With that in mind, what are the differences between the enterprise platform releases and the jboss.org releases?
I will use our JBoss Application server, and Enterprise Application Platform as an example. With the JBoss AS project, we release based on passing two test suites (unit tests and compatibility matrix tests) which are a part of the open source project. When we have the features and fixes targeted for that release, and the test suites are 100% passing, we release the code to the community. Now, the test suites are substantial, with getting close to 4,000 tests in them. Having said that, it is run with one JVM, the Sun 1.5 JVM, on one OS platform, which happens to be Red Hat Enterprise Linux (this has actually been the case for many years, even before the Red Hat acquisition of JBoss). Now, let's contrast that to what we do for the Enterprise Application Platform.
We still do use the aforementioned test suites, but we run them on a combination of JVM's and OS's. For example, with EAP 4.3, we have run the test suites against the following JVM and OS combinations:
We have created another set of tests for performance and scalability. We do performance and scalability testing for:
In the soak testing, we run at high-load, for an extended period of time (24 to 36 hours). This allows us to make sure there aren't issues that our customers will face that affect uptime of their deployments. Once again, we don't stop there.
With Hibernate we test against the following set of databases:
We also do testing around our clustering technologies, such as:
Fixes go directly onto the appropriate branch for the enterprise platform, and they also go upstream into the community. Of course, the fixes that go upstream don't have any SLA associated with them and the code branches are substantially different from each other. Also, the upstream jboss.org releases may also have new features in them that aren't in the enterprise platforms. Post release of the enterprise platforms, we also do quarterly cumulative patch releases, and over time, because we don't add new features, the code continues to diverge from the upstream jboss.org releases. This goes right to the heart of the stability our customers want, and we deliver these platforms with a quality level that is unmatched in our old model.
If you want a stable platform to develop your applications on, that won't break your applications over time (3 year full support, with 2 year of security errata support), then the JBoss Enterprise Platforms are for you!
This is certainly a legitimate question, and one that I get a lot. It also has some history behind it, since our original product model was every release on jboss.org was a supported product that you could purchase a support subscription for. With this split between having jboss.org releases be just for community consumption, and not for paying customers, confusion has reigned supreme. With that, let's talk about the reason we even went down this path.
One of the biggest issues our customers faced was stability. Under the old product model, there were fairly major changes and/or feature enhancements even in dot dot dot releases, which had the potential for breaking customers applications. That was certainly the number one problem our customers were facing, and we had to address that. While there are other issues that drove us to the new product model, stability was the number one reason. Many of our customers want a product that they can deploy, and that they know will guarantee compatibility over many years. We just didn't deliver that under the old model.
With that in mind, what are the differences between the enterprise platform releases and the jboss.org releases?
I will use our JBoss Application server, and Enterprise Application Platform as an example. With the JBoss AS project, we release based on passing two test suites (unit tests and compatibility matrix tests) which are a part of the open source project. When we have the features and fixes targeted for that release, and the test suites are 100% passing, we release the code to the community. Now, the test suites are substantial, with getting close to 4,000 tests in them. Having said that, it is run with one JVM, the Sun 1.5 JVM, on one OS platform, which happens to be Red Hat Enterprise Linux (this has actually been the case for many years, even before the Red Hat acquisition of JBoss). Now, let's contrast that to what we do for the Enterprise Application Platform.
We still do use the aforementioned test suites, but we run them on a combination of JVM's and OS's. For example, with EAP 4.3, we have run the test suites against the following JVM and OS combinations:
- BEA JRockit 1.5 JVM on RHEL 4 x86
- BEA JRockit 1.5 JVM on RHEL 4 x86_64
- BEA JRockit 1.5 JVM on RHEL 5 x86
- BEA JRockit 1.5 JVM on RHEL 5 x86_64
- BEA JRockit 1.5 JVM on Windows 2003 x86
- BEA JRockit 1.5 JVM on Windows 2003 x86_64
- HP 1.5 JVM on HP-UX 11i IA64
- HP 1.5 JVM on HP-UX 11i PA-RISC
- Sun 1.5 JVM on RHEL 5 x86
- Sun 1.5 JVM on RHEL 4 x86_64
- Sun 1.5 JVM on Solaris 9
- Sun 1.5 JVM on Solaris 10
- Sun 1.5 JVM on Windows 2003 x86
- Sun 1.5 JVM on Windows 2003 x86_64
- Sun 1.5 JVM on RHEL 4 x86
- Sun 1.5 JVM on RHEL 4 x86_64
- EJB 3
- JBoss Web Services
- JBoss Remoting
- Hibernate
We have created another set of tests for performance and scalability. We do performance and scalability testing for:
- EJB 3
- JBoss Seam
In the soak testing, we run at high-load, for an extended period of time (24 to 36 hours). This allows us to make sure there aren't issues that our customers will face that affect uptime of their deployments. Once again, we don't stop there.
With Hibernate we test against the following set of databases:
- Microsoft SQL Server 2005
- MySQL 5.0
- PostgreSQL 8.2
- Oracle 9i
- Oracle 10g
We also do testing around our clustering technologies, such as:
- HTTP Session Replication
- JMS Clustering
- JMS Fail-over
- GUI Installer
- JBoss Operations Network (JON)
- RPM testing
Fixes go directly onto the appropriate branch for the enterprise platform, and they also go upstream into the community. Of course, the fixes that go upstream don't have any SLA associated with them and the code branches are substantially different from each other. Also, the upstream jboss.org releases may also have new features in them that aren't in the enterprise platforms. Post release of the enterprise platforms, we also do quarterly cumulative patch releases, and over time, because we don't add new features, the code continues to diverge from the upstream jboss.org releases. This goes right to the heart of the stability our customers want, and we deliver these platforms with a quality level that is unmatched in our old model.
If you want a stable platform to develop your applications on, that won't break your applications over time (3 year full support, with 2 year of security errata support), then the JBoss Enterprise Platforms are for you!

2 comments:
Hi Andrig,
This is really helpful.
The list of JVMs does not mention the IBM 1.5 in tier 1 set of platforms. It is mentioned that IBM JVM 1.5 would be tested post release. There are few queries floating around the issues associated with JBoss having problem with this JVM, though I find the claims unsubstantiated. Had you encountered any such problems or complaints.
As for the blog, it is very helpful and to the point. looking forward for more such things in future.
Many Thanks.
Satish Kale
I don't have the current status of the testing for the IBM 1.5 JVM. Having said that, I know of customers who have asked for the testing to be complete, and I believe we have customers in production on that JVM.
I'll get the latest status on the testing.
Post a Comment