Adoptopenjdk Making Java Free Again

Adoptopenjdk Making Java Free Again

AdoptOpenJDK Making Java free again George Adams & Hendrik Ebbers Hendrik Ebbers ▸ Karakun Co-Founder ▸ Founder of JUG Dortmund ▸ JSR EG member ▸ JavaOne Rockstar, Java Champion ▸ AdoptOpenJDK TSC member @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams George Adams ▸ Java Program Manager @ Microsoft ▸ AdoptOpenJDK Co-Founder ▸ Chairman of TSC @ AdoptOpenJDK ▸ Core Collaborator @ Node.js ▸ Foundation Bootstrap Team Member @ OpenJSF @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams We’ll Cover… ▸ Terminology ▸ OpenJDK Workflow ▸ Vendor distribution / differences of vendors ▸ AdoptOpenJDK ▸ History ▸ Eclipse Adoptium ▸ Build/Test ▸ Roadmap @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Terminology Terminology ▸ OpenJDK ▸ The Open source project which is the Reference Implementation (RI) of Java SE standard. ▸ OpenJDK binary ▸ JDK built directly from OpenJDK source code. ▸ OpenJDK Provider ▸ A (vendor) who provides an OpenJDK binary. @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Service ProviderOracle JDK Release Interface Train Java 15 Java 14 • Based on Interfaces it's quite easy to deJavafine 13 a general service and several implementations in Java Java 12 Java 11 Java 10 Java 9 Java 8 Free Commercial 2018 2019 2020 Not Free in Prod @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Vendor distribution / differences of vendors ▸ AdoptOpenJDK (IBM, Microsoft et al) ▸ Amazon Corretto ▸ Azul Zulu ▸ BellSoft Liberica ▸ Linux Distros ▸ Red Hat ▸ SapMachine ▸ Alibaba Dragonwell @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams OpenJDK Workflows New feature Security fix 8 OpenJDK @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams OpenJDK Workflows Vendor A Vendor B Oracle New feature Security fix 8 OpenJDK @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams OpenJDK Workflows Vendor A Vendor B Oracle New feature Security fix 8 9 OpenJDK @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams OpenJDK Workflows Vendor A Vendor B Oracle New feature Security fix 8 OpenJDK @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Service ProviderOpenJDK Release Interface Train Java 15 Java 14 • Based on Interfaces it's quite easy to deJavafine 13 a general service and several implementations in Java Java 12 Java 11 Java 10 Java 9 Java 8 Open-Source 2018 2019 2020 @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Composition of OpenJDK 8 eg. Flight recorder WebStart Exclusive Oracle Mission Control stuff JVM, tools, etc. JVM, tools, etc. OpenJDK 8 Oracle JDK 8 @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Composition of OpenJDK 11+ Exclusive Oracle stuff Includes Flight recorder Mission Control JVM, tools, etc. JVM, tools, etc. OpenJDK 11+ Oracle JDK 11+ @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams History of AdoptOpenJDK • Todo ~2003 2016 2017 2018 2019 2020 23 SPONSORS ADOPTION GROUP 1 MILLION DOWNLOADS 30 MILLION DOWNLOADS, IBM CREATES GETOPENJDK PROJECT GROWS RAPIDLY, 160+ MILLIONADOPT TO DOWLOADS JOIN ECLIPSE IBM DONATES GETOPENJDK TO JAVA ADOPTION GROUP FOUNDED @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams AdoptOpenJDK => Eclipse Adoptium ▸ Project Management Committee (PMC) ▸ Working Group + Steering Committee @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Business Ready Binaries The place to get free binaries by the community ▸ Broad platform Coverage ▸ Professionally tested ▸ Clear Support Policy ▸ Backed by major vendors and the Java community ▸ Already at 170 Million Downloads @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Open and Transparent ‣ Technical Steering Committee in the open ‣ The entire project is OSS ‣ Everything happens on GitHub and Slack @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Running an Open-Source project at Scale 160170 millionMillion downloadsDownloads 200+200+ Dedicated dedicated Machines 106106 GitHub GitHub repositories Repositories machines @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Build & Binaries Example Build/Test Pipeline Get the OpenJDK Choose the Build, Test, variant source branches to Deploy Pipeline repo build from Clone / update from dev if we have OpenJDK mercurial AdoptOpenJDK forest changes or or Pull directly from master or Build Test Deploy other variant e.g. <branch name> if no Available Eclipse OpenJ9 changes Build via Tests run via Deploy Nightly and / www.adoptopenjdk.net ci.adoptopenjdk.net ci.adoptopenjdk.net or Release builds to api.adoptopenjdk.net GitHub Approved third-party OpenJDK Binaries @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Jenkins - CI @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Supported VMs HotSpot HotSpot is the VM from the OpenJDK community. ▸ It is the most widely used VM today. e.g Oracle’s JDK. ▸ HotSpot is shipped as part of the OpenJDK source code. ▸ It is suitable for all workloads. @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Eclipse OpenJ9 Eclipse OpenJ9 is an alternative VM to Hotspot ▸ As a separate download, AdoptOpenJDK bundles this VM with OpenJDK class libraries. ▸ For some cloud/container workloads, it’s faster/more efficient. @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Supported Platforms @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Sources ▸ All builds are based on OpenJDK ▸ OpenJDK Mercurial repositories are mirrored into AdoptOpenJDK GitHub ▸ No additional functionality (GC, etc.) ▸ Additional build steps like notarisation for macOS @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Test Test Suite ▸ AdoptOpenJDK provides the test suite AQA ▸ Open source test suite comprising of tests from the Java Ecosystem ▸ Includes tests contributed by IBM and other large application/framework tests ▸ Can be used to test any OpenJDK build @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Nighty & Release Tests x 58 platforms x Win x64 Win x86 AIX ppc64 Linux x64 OpenJ9 HotSpot 6 versions x Java 8 Java 11 Java 13 Java 14 Branch h.x + 250.000 tests @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams 87,000,000+ Tests run per release Tests Time Build Test Deploy openjdk functional system Groups of tests that are executed in external parallel perf jck @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Tests Time Build Test Deploy ~ 6600 tests openjdk functional ~ 20,000 tests ~ 25,000 tests system external ~ 125,000 test cases 12+ apps 80+ benchmarks perf 5 Microprofile TCKs jck Will come for Eclipse Adoptium @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Tests Copy JDK Build Install build tool Docker Container Check out Derby repo (latest tag) Test Job Build Derby Run all Derby tests Collect test result @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams AdoptOpenJDK Projects ▸ Iced-Tea Web ▸ JITWatch ▸ jlink.online ▸ JDK Mission Control (binaries) ▸ AQA ▸ Red Hat upstream builds (binaries) @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Technical Roadmap API V3 https://api.adoptopenjdk.net/swagger-ui https://api.adoptopenjdk.net/graphql @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Dynamic Infrastructure Job triggered Static server Build/Test @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Dynamic Infrastructure Job triggered A Cloud Provider Docker Build/Test @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Consistent Build Environments @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Parallelisation @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Other Roadmap Items DYNAMIC DYNAMICWEBSITE WEBSITEAPI V3 JLINK.ONLINEAPI V3 GITHUBJLINK.ONLINE ACTIONS GITHUB ACTIONS INFRASTRUCTURE INFRASTRUCTUREREDESIGN REDESIGN @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Sponsors @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Community YOU? @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams Any Questions? @adoptopenjdk https://adoptopenjdk.net github.com/adoptopenjdk adoptopenjdk.net/slack @hendrikEbbers github.com/hendrikebbers @gdams_ github.com/gdams.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    47 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us