21
©2013 Azul Systems, Inc. Zulu: OpenJDK for cloud and enterprise Ivan Krylov Sr. Engineer Azul Systems St.Petersburg

OpenJDK-Zulu talk at JEEConf'14

Embed Size (px)

Citation preview

Page 1: OpenJDK-Zulu talk at JEEConf'14

©2013 Azul Systems, Inc.

Zulu: OpenJDK for cloud and enterprise

Ivan Krylov Sr. EngineerAzul Systems St.Petersburg

Page 2: OpenJDK-Zulu talk at JEEConf'14

©2013 Azul Systems, Inc.

OpenJDK Timeline (1)May 2006 - Sun announced OpenJDK

November 2006 - HotSpot open-sourced

December 2006 - Java SE 6 released

May 2007 - Java class libraries open-sourced (~96%)* as OpenJDK 7

Later 2007 - OpenJDK 7 b10 forked into OpenJDK 6

February 2008 - Sun released first tar ball with OpenJDK6 that matches Java SE 6 update 4

Page 3: OpenJDK-Zulu talk at JEEConf'14

©2013 Azul Systems, Inc.

OpenJDK Timeline (2)July 2011 - Java 7 GA. OpenJDK7 is the Reference Implementation (RI). This is the only time Oracle released official binaries for OpenJDK

January 2013 - Oracle EOLed (Open)JDK6

March 2013 - RedHat assumed leadership for OpenJDK6

March 2014 - JDK8 is released

Sometime in 2015 - Oracle is expected to EOL (Open)JDK7

Page 4: OpenJDK-Zulu talk at JEEConf'14

©2013 Azul Systems, Inc.

Problem statementImagine a large enterprise running on java

Up until March 2014 they could run only on Java 7

Only 12-18 months are given for transition to Java 8

After that the choices are

migrate to 8

stay on old unsupported unsafe java 7

purchase a support contract for Java SE 7

or use on of the OpenJDK7 based products

or use a closed source competing implementation (SAP,IBM,HP..)

Page 5: OpenJDK-Zulu talk at JEEConf'14

©2013 Azul Systems, Inc.

OpenJDK7 sourcesNow roughly 4 updates per year. In 2013-2014:

Security: u11, u13, u15, u21, u25, u45, u51, u55

Features u17, u40, u60

Features are mostly developed in open.

Sources for features appear in the repository as they are developed.

Bugs are visible

Discussions and code reviews are open

Security fixes are developed in closed repositories. They appear in open repositories at once days after the Oracle’s binary release

Tests are not available at all times

Bug details are not available at all times except for #

Page 6: OpenJDK-Zulu talk at JEEConf'14

©2013 Azul Systems, Inc.

OpenJDK6 sourcesOpenJDK6 was derived for early OpenJDK7 build

OpenJDK6 “build N” is like an “update N” for OpenJDK7

Build N has no relation to Java SE 6 update M.

6b27 (Oct’12) - last one from Oracle

6b28 and 6b29 in 2013, b30 (Jan’14), b31 (Apr’2014) - all driven by Redhat

Fixes in OpenJDK are

security backports from OpenJDK7 update X

forward ports from IcedTea to OpenJDK6

Page 7: OpenJDK-Zulu talk at JEEConf'14

©2013 Azul Systems, Inc.

OpenJDK6 today: issues

Focus on linux

Focus on backports for security fixes

As of build 31 of openjdk6 windows is broken

Azul Systems (along with the community) is working to restore openjdk6 for windows

Page 8: OpenJDK-Zulu talk at JEEConf'14

©2013 Azul Systems, Inc.

IcedTea by Redhat

Goals changed over the time as Sun/Oracle gave more to Open

It is a GPLv2 open-source jdk for linux that is

tested

(self)certified with Java Community TCK

with paid support

Source exists as a set of patches being applied to a recent OpenJDK drop. 1 or 2 drops behind are supported.

Since January 13 lots of patches moved up as fixes to OpenJDK 6

Page 9: OpenJDK-Zulu talk at JEEConf'14

©2013 Azul Systems, Inc.

Closed sources available to paid subscribers - licensees

Different from OpenJDK in terms of license

Security fixes and test cases are delivered as they are developed

JDK 6 updates are available in sources

Does not contain proprietary enhancements like MC and JFR sources (7u40+)

Does provide some non GPL sources: fonts, graphics features, encryption, debug interface, etc…

No JDK/hotspot performance enhancements are known missing in SCSL or OpenJDK sources.

The SCSL sources (Sun Closed Source License)

Page 10: OpenJDK-Zulu talk at JEEConf'14

©2013 Azul Systems, Inc. ©2013 Azul Systems, Inc.

About Azul (who are these guys?)

We make scalable Virtual Machines

Have built “whatever it takes to get job done” since 2002

3 generations of custom SMP Multi-core HW (Vega)

Zing: Pure software for commodity x86

Known for Low Latency, Consistent execution, and Large data set excellence

Vega

C4

Page 11: OpenJDK-Zulu talk at JEEConf'14

©2013 Azul Systems, Inc. ©2013 Azul Systems, Inc.

About Azul We also do other things with JVMs

Zing: A metrically better JVM

Zulu: A commercialized, fully supported version of OpenJDK

Long term, commercial support for Java SE 6, Java SE 7, (and 8 as it comes out)

Zulu: Free & Open Source, changes contributed back to OpenJDK

Windows & Linux, Azure & EC2

C4

Page 12: OpenJDK-Zulu talk at JEEConf'14

©2013 Azul Systems, Inc.

Zulu at a glanceStart: Summer 2013

Windows Server and Linux (Mac is considered as the next platform)

Focus on server deployment

No plugin or webstart

OpenJDK 6, 7 and 8

Eclipse plugin for Azure deployment

In progress: public rpm repositories

Various support options

Page 13: OpenJDK-Zulu talk at JEEConf'14

©2013 Azul Systems, Inc.

Zulu projectStart 2013

From engineering perspective: more than just build and ship existing sources

Windows tooling issues (at least 5 how-to’s on www prove the task isn’t trivial)

Branding issues and versioning

Installers for Windows and Linux

Automated build and test infrastructure

Unit tests

Performace

Automation for compatibility tests

Support of Azure: we test Zulu in the cloud

Page 14: OpenJDK-Zulu talk at JEEConf'14

©2013 Azul Systems, Inc.

Zulu in AzureA tested supported OpenJDK release for Microsoft’s Azure Cloud Tested

we run compatibility suites

certification suites for app servers like JBoss

Supported

Critical for majority of business that rely on Java

Open

Sources are open 100% and available

Azure PaaS component for easy deployment

Eclipse plugin for deployment in Azure

Page 15: OpenJDK-Zulu talk at JEEConf'14

©2013 Azul Systems, Inc.

Install the plugin from within Eclipse

Page 16: OpenJDK-Zulu talk at JEEConf'14

©2013 Azul Systems, Inc.

Azure toolkit components

Page 17: OpenJDK-Zulu talk at JEEConf'14

©2013 Azul Systems, Inc.

New project wizard

Page 18: OpenJDK-Zulu talk at JEEConf'14

©2013 Azul Systems, Inc.

Zulu as PaaS component

Page 19: OpenJDK-Zulu talk at JEEConf'14

©2013 Azul Systems, Inc.

Servlet container selection

Page 20: OpenJDK-Zulu talk at JEEConf'14

©2013 Azul Systems, Inc.

Latest Eclipse plugin from MS Open Tech (Apr/14)

Support for the Azure SDK 2.3 release

Upgrading of applications without complete package deployment.

Tomcat 8 now is a recognized application server.

Azul Zulu OpenJDK package updates: v1.7 update 51 and v1.6 update 47.

Support for A8 and A9 Microsoft Azure Virtual Machine size.

Automatic redirection from HTTP to HTTPS for SSL-enabled roles.

Express Emulator used for local emulation.

Windows Azure has been rebranded as Microsoft Azure

Page 21: OpenJDK-Zulu talk at JEEConf'14

©2013 Azul Systems, Inc.

Thank you

Q&A Time

(not yet)

[email protected]