The Next Decade of Java
The premise of this research is that Java is a leading application platform, has a good strategy for supporting the CI/CD continuous development model, and is embracing on-premises and cloud deployments. Wikibon believes that Java will be a strong foundation for all deployments and enterprise initiatives over the next decade.
The Java Platform
The Java platform is open-source software for developing applications and deploying them across different platform computing environments. The specifications of the Java Community Process (JCP) drive consistency across various ports and implementations.
Java is ubiquitous – all the way from enterprise mission-critical applications to IoT device management at the Edge. All the major cloud platforms, including AWS, Microsoft Azure, and Oracle Cloud use it extensively. The majority of enterprises use Java applications and Java desktop applications.
A recent Wikibon survey, focused on large enterprises with at least some Java applications, illustrates Java’s importance. We asked participants to select the top two programming languages for their enterprise. The results in Figure 1 show that 83% of these respondents regard Java as one of their top two programming languages, significantly ahead of C++ (46%) and Python (32%).
The survey also confirmed that Java is important to developers and ISVs across all industries, company sizes, and government agencies (Figure 8 in Footnotes shows the details).
Java and Continuous Development
The last decade has seen application development shift to mobile-first and browser-first. As a result of this and other factors, application development has moved to a Continuous Integration model with Continuous Delivery and/or Continuous Deployment (CI/CD, see Figure 2 below).
This requirement is putting stress on development organizations that rely on Java. The previous “major” release cycle cadence (every 2+ years) caused major disruptions in development, with all hands being dedicated to migration projects every few years.
Development teams now strongly expect and prefer more frequent and manageable upgrades rather than infrequent, but massive, changes. The teams also need feature upgrades to be on a predictable timetable. As a result, the Java ecosystem has now opted for a six-month feature release cycle in support of a continuous development model.
Wikibon believes Java itself is now positioned to fully support modern CI/CD development models and to implement cloud native micro-services. It must remain relevant, performant, available, low-cost, and above all agile.
Wikibon observes that the Java ecosystem continues to be agile and will meet the future needs of developers, as the move to the new release cycle illustrates. Wikibon has confidence that Java will remain a leading development and deployment platform over the next decade.
Java Shortfalls and the Need for Upgrades
In our survey we investigated the major reasons for Java upgrades. Figure 3 below shows that the leading application shortfalls are related to both application performance and security. Application performance issues include response time and stability. The security issues include ransomware, unauthorized intrusion into applications, and compromised customer data or IP loss. These security risks increase when systems and/or application code remain unpatched.
Drivers for Java Upgrades
As such, Figure 4 below shows the most important reasons for actual Java upgrades are also related to application performance and security (the respondents can pick up to three reasons from the list). This is line with the shortfalls found in Figure 3.
Figure 4 shows that better application stability, better application performance, and more reliable performance are the top three drivers of Java upgrades. Staying above the enterprise’s security baseline is the next driver of importance.
Our research from in-depth interviews with senior Java executives in IT indicates upgrades are needed more frequently for business critical Java applications. In addition, the support for upgrades across the Java application portfolio needs to be more flexible.
This research supports the finding that stability, performance and security are paramount given that in business today there is low customer tolerance to IT failure in the face of increasing downtime and security threats. Java vendors must deploy support strategies that mitigate these business risks.
Java Support Requirements
Although the open-source software is free, support of open-source software in general and Java support in particular has never been without costs! Enterprises have always paid for third party support of open-source software. Red Hat for Linux is an obvious example. The same is true for Java, with support services from Azul, Oracle, Red Hat, Bellsoft and other vendors. Some vendors provide support via their other products, such as Red Hat through RHEL licensing.
Java Application Portfolio
In thinking about support, Wikibon believes that enterprises should consider the breadth of their entire Java application portfolio and the different requirements of each application. Some require mission-critical support services, where the latest release of Java could be very important, and external support services need to be available at short notice. At the other extreme, simple Java read-only applications may run infrequently and do not need attention except when they fail. Therefore, a workable support strategy needs a long-term model, which allows flexible support of a broad portfolio of Java application systems. Each application type in the portfolio will have different requirements and timescales for upgrades, updates and patches. Figure 5 below shows that enterprises use multiple approaches and support options for different parts of their Java portfolio.
In Figure 6 below, respondents characterized the overall Java application portfolio upgrade strategy they employ to meet their overall application business objectives. It shows that application upgrade strategies need to be flexible to meet overall enterprise goals, and to enable different solutions for applications and application suites within a portfolio of Java systems.
So What’s New? Oracle Java SE Subscription
New Support Offerings
The recent change to a six-month Java release cycle and the “End of Public Updates” (EoPU) for Java 8 have radically changed the support requirements for users, resulting in new offerings from Java support vendors. To begin with, Oracle has retired its legacy and higher-cost perpetual licenses and separate support service. In its place, Oracle has launched the Oracle Java SE Subscription, a simpler and relatively lower cost option, which includes the commercial license and support services as an annual subscription. This service is available via Oracle Store, Oracle Partner Network and Oracle direct sales.
Oracle has the advantage of being the primary steward of Java, and claiming it is likelier, with a larger installed base, to find problems before other providers and offer patches more rapidly. However, Wikibon expects other vendors to bring out their versions of a Java SE subscription product as well.
Some enterprises might prefer to upgrade their Java portfolio on a six month upgrade cycle. This approach offers enterprises a predictable timeline, provides the opportunity to acquire new features earlier, and enables development teams to be more productive with modern application development capabilities. For some enterprises the costs of this strategy could look similar over a two to three year period compared to the costs of the one-time major upgrade cycles of the past.
The Java SE Subscription offers enterprises some important advantages over a six-month upgrade strategy. The subscription offering provides the flexibility to stay on older releases almost as long as required. It can also accommodate a mixed environment, which is likely the reality for most organizations with a large Java portfolio. The cost of this offering are predictable and for medium and large enterprises is likely to deliver overall savings.
In addition, our research shows that the Java SE Subscription is likely to be 31% less expensive than a six-month upgrade strategy, because of lower labor requirements. Beyond the cost savings of about $40 Million over four years, a high level of support can provide best practice business protection against downtime, customer churn, reputation damage, and other business risks.
Whenever there is any change in product or support offerings, every enterprise, large and small, must consider how to address the opportunities and challenges of deciding how they will adapt to these changes. Alternatives should be evaluated in light of the strategic fit of the available options to their own business model, their own skill levels, and other factors. During our in-depth interviews, Wikibon found that the changes in the Java support options did not help every user – notably, some small ISV Java users.
However, for larger enterprises (the focus of this report), Wikibon believes there is almost always a clear and compelling case for adopting the cadence changes and the Java subscription option from Oracle or other vendors. This case includes enterprises that are taking conservative upgrade strategies, as well as enterprises taking aggressive upgrade strategies. In the next section, Wikibon examines the business case for the Oracle Java subscription option.
Financial Analysis of Java Support Strategy Options
The four-year financial analysis in Figure 7 below represents the likely outcome for an enterprise with a revenue of $20B, an IT budget of $800M, and a total IT staff of 1,800. We estimated that about 450 of the IT staff would be supporting a Java portfolio of 521 applications. The source of all the detailed parameters in this model is the 2019 Wikibon survey of senior Java executives. The tables in the Footnotes below list the detailed assumptions and calculations.
The blue column in Figure 7 shows the costs of six-month Java upgrade strategy. This strategy upgrades all applications to the latest release as soon as it is available, and before support ends six months after release availability. The cost of each upgrade is lower than the previous two-plus year major upgrade strategy, and slightly less for updates and patches, but IT must perform more upgrades overall. Wikibon’s analysis calculates the four year cost of this strategy to be $128M.
The red column in Figure 7 shows lower costs ($88M) for an upgrade-when-needed strategy supported by the Java SE subscription service. This approach allows IT to apply upgrades, updates, and patches selectively across their entire portfolio of Java applications. Some applications will need upgrading every six months, others less often, and some others may need upgrades only very rarely.
Financial Analysis Conclusions
Our conclusion is that the upgrade-when-needed approach will be $40M less expensive over a four year period than upgrading every six months. It is important to emphasize that some enterprises will focus on reducing business risk as much as possible, and will be happy to spend the additional resources to maintain all or the majority of applications at the latest release level every six months. Even if this level of risk reduction is a priority, IT still benefit from the flexiblity offered by a Java subscription service as well.
The tables in Footnotes below show the detailed calculations and assumptions used in the model. Figure 9 in the Footnotes shows additional line items of the data shown in Figure 7.
Conclusion: Java will Continue as a Leading Application Platform over the Next Decade
Wikibon believes that the change to a six month release cadence is an essential change for Java to remain competitive and relevant compared to other CI/CD cloud application platforms. The advantages of this approach include establishing a predictable upgrade timeline as well as earlier access to new features. Without these changes, some enterprises will have to seriously consider converting to another development platform. As Wikibon has emphasized many times before, this a very expensive option, with significant business risk. Wikibon believes that the changes in Java support options will make the need for such a conversion highly unlikely.
The financial analysis illustrated in Figure 7 shows that costs are significantly lower (31%) if an enterprise avoids upgrading every six months and deploys the Java SE Subscription model. This is a more flexible and lower cost ($40 Million) way of balancing the upgrade, update, and patching requirements within an application portfolio.
In summary, Wikibon strongly believes that Java will continue to be a leading application platform, and will provide good support for the strategic multi-cloud and hybrid-cloud corporate challenges ahead. Java will continue to support enterprise requirements over the next decade, and its continued popularity is likely to ensure good and varied vendor support services.
As a result of our survey and financial analysis, Wikibon strongly recommends that most enterprise IT executives adopt an “upgrade-when-necessary” strategy for a mixed portfolio of Java applications as the most flexible and optimal approach. Other enterprises may elect to upgrade some part of the their Java application portfolio every six months. Wikibon strongly recommends the Java SE subscription services from Oracle or other vendors to support either of these strategies.
Java Industry Distribution
Detailed Calculations and Assumptions used in the Financial Model
The charts and tables below are the source of the Financial Analysis of Java Support Strategy Options section and Figure 7 above.