QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

亚马逊发布 Corretto 8 GA 版本

  • 2019-03-11
  • 本文字数:3764 字

    阅读完需:约 12 分钟

亚马逊发布 Corretto 8 GA 版本

最近亚马逊发布了 Corretto 8 GA 版本,这是一个“免费、跨平台、生产就绪”的 OpenJDK 版本。


去年 11 月,在比利时举行的Devoxx大会上,来自亚马逊的 Arun Gupta 和 Yishai Galatzer 介绍了 Corretto 8 预览版。Arun Gupta 和 Yishai Galatzer 分别是 AWS 部门的首席开源技术专家和高级研发经理。令人惊喜的是,杰出工程师、Java 之父James Gosling也现身 Devoxx 大会,并发表了一个主题演讲,专门介绍了 Corretto。James Gosling 目前同样就职于 AWS 部门。下图是在 Devoxx 大会上展示的 Coroundto 8 和 Corretto 11 GA 版本时间表。



亚马逊加入了OracleAzulRed HatBellSoft等供应商的行列。这些供应商和AdoptOpenJDK团队领导的社区力量一起,提供一系列免费且具有商业支持的 OpenJDK 下游发行版本。AdoptOpenJDK 团队还推出了一个开放式构建场(build farm),用于创建免费的预构建 OpenJDK 二进制文件。


由于 Java 社区越来越担忧Oracle会不再免费提供对JDK的长期支持,亚马逊开发了 Corretto,将保持 Java 免费的承诺往前推进了一步。


Martijn VerburgjClarity联合创始人兼首席执行官、AdregOpenJDK 联合创始人和伦敦Java社区负责人。之前 InfoQ 在报道Corretto预览版时曾采访过他。在谈及对亚马逊加入 OpenJDK 供应商行列的看法时,他说:


亚马逊发布 Corretto 是对 OpenJDK 作为可运行生产环境运行时的额外认可!我认为,很多保守组织在看到这个时会说“如果亚马逊、IBM、Red Hat 等公司也在使用 OpenJDK,那么我们也就没有什么顾虑了!”


自去年 11 月 Corretto 亮相以来,人们对它的兴趣与日俱增。根据 Java 社区的初步反馈,亚马逊已经在 GA 版本中完成了许多改进,并加入了一些安全补丁,就像变更日志补丁文档中所提到的那样。


亚马逊对 Corretto 的长期支持(LTS)包括“安全修复、性能增强(例如,提升常用功能的性能)、垃圾回收调度、防止内存溢出、以及改进的监控、报表和线程管理“。这些更新每季度发布一次或者会按需发布。


最近举行了一次 Java Champions 远程会议,讨论了即将发布的 Corretto 8 和 Corretto 11 的 RC 与 GA 版本。InfoQ 从这次会议了解到,Coretto 将会带来:最新的安全补丁、Corretto 识别工具、支持通过SDKMAN!安装和官方Docker镜像。会议的问答环节重点提到了 Coretto 是否支持 OpenJDK 功能版本的问题。针对这个问题的回答是:


我们不打算支持 JDK 9 或 JDK 10。目前,我们也不打算支持 JDK 12、JDK 13 和 JDK 14,因为 Corretto 存在的主要目的是提供长期支持,其次才是增加特性和改进。

虽然我们只在亚马逊内部构建和发布“功能版本”,但它们与可公开发布的标准差距并不大。 我们所能做到的是确保版本的质量。 因此,目前我们专注于 Corretto 8 和 Corretto 11。我们将听取反馈,如果有足够多的用户对功能版本感兴趣,我们也会为他们提供支持。到目前为止,几乎没有用户想在生产环境中部署功能版本。少数用户想获得功能版本,仅仅是为了测试它,并为下一个版本做好准备,并非要在生产环境使用它。所以答案是“也许”。


Corretto 8 与 OpenJDK build 8u202 保持一致。Corretto 11 仍处于预览版本阶段,计划于今年上半年发布 GA 版本。


Gupta 向 InfoQ 介绍了 Corretto GA 版本的一些最新情况。


InfoQ:你目前的职责是什么,也就是说,你每天的工作是什么?


Arun Gupta:我是亚马逊首席开源技术专家。我与亚马逊的不同团队合作,帮助他们确定开源策略。我拥有二十多年的 Java 经验,是一名 Java Champion,正积极与 Corretto 团队合作,帮助他们明确自己的社区职责工作。


InfoQ:是什么促使亚马逊要创建一个 OpenJDK 发行版?


Gupta:在亚马逊,我们总是从客户需求出发。亚马逊在大量使用 Java。2016 年,我们意识到我们不能再依赖二进制版本。有数千个 Java 应用程序在我们的生产环境中运行。JDK 季度安全更新经常会引入微妙的破坏性变更,并可能带来重大影响。与此同时,为了解决安全问题,更新一发布我们就迫切需要将其应用到生产环境中。但是,我们无法修复二进制版本 JVM 或库中的问题。因此,我们决定从源代码构建 Java,在满足我们的需求的同时摆脱这些限制。

一开始是几个团队试着使用 Corretto,随后我们构建了一个工具进行推广。借助这个工具,团队只要单击一下就能切换到 Corretto。在积累了足够的信心后,我们开始进行大规模的自动化迁移。我们在几个月的时间内迁移了数千个服务,这个过程是全自动化的。但是,为了控制未知问题的影响范围,我们仍然采用增量方式进行迁移。 整个过程进展得很顺利,在数千个迁移的服务中,只有一个实例需要修复。

这就是 Corretto 在我们内部的使用情况。 我们构建它的最初目的是自用。但随后 Oracle 宣布将停止 Oracle JDK 8 的公共更新,并从 Java SE 9 开始执行每半年一个版本的发布计划。就是在那个时候,亚马逊开发者和 Java 社区对 Corretto 的需求开始成为一个焦点。

客户纷纷联系我们,表达对 Java 应用程序支持问题的担忧。这些客户还担心不同二进制版本的测试问题。每个版本都有各自的限制。客户要求我们提供一个版本,既能支持他们的工作负载,又没有任何限制。

很多客户明确要求我们提供一个解决方案。我们的客户和社区当然不仅仅在 AWS 上运行服务,他们还需要在笔记本电脑、本地环境、各种操作系统上运行 Java,但每一种解决方案都需要付出代价。我们从那时起就开始考虑将 Corretto 引入到整个 Java 社区。

亚马逊将 OpenJDK 打包进 AmazonLinux 已经有很长一段时间了。我们看到了客户的需求,而且挥之不去。很明显,我们没有理由再将其限制在 Amazon Linux 或 AWS 上,或对其施加任何其它限制。今天,Corretto 可用于所有主流操作系统,并且免费提供长期生产环境支持。你可以在你选择的云上、本地环境或台式机上运行它,也可以把它打包在你的软件中。


InfoQ:“Corretto”这个名字是怎么来的?


Gupta:Corretto 是一个有趣的名字,它在意大利语中的意思是“正确”。Corretto 也可以指一种含有少量白酒的浓缩咖啡。


InfoQ:Corretto 有哪些特点,可以区别于其它厂商的 OpenJDK?


Gupta:客户告诉我们,现有的每个版本都有某种限制 ——要么你需要付费,要么仅支持某些平台,或者可以用于开发环境,但不能用于生产环境。 这阻碍了客户的进展,因为他们中的许多人都需要支持多平台。 客户希望节省开发时间、测试时间以及不同平台上的认证工作。 因此,我们决定把内部的成果贡献出来,用于解决这些问题。 然后我们把它回馈给 OpenJDK,并且没有任何附加条件。

此外,我们希望使它保持简单,因此 Corretto 可以直接替代其它 OpenJDK 版本。除非你使用了开源版本所不具备的商业特性,否则不会有什么问题。当然,如果一个现有的 OpenJDK 版本适合你,我们可能会建议你继续使用它。


InfoQ:亚马逊是否打算赞助 AdoptOpenJDK 倡议?


Gupta:是的,我们一直在和 AdoptOpenJDK 合作来托管 Corretto 二进制文件,并为他们提供计算资源。Amazon 和 AdoptOpenJDK 还相互协作,交流 OpenJDK 版本构建和测试的逻辑细节。*


InfoQ:Corretto 的长期目标是什么?


Gupta:我们计划继续改进、支持 Corretto,并支持上游项目。路线图中大约有 90~95%的内容是由客户驱动的。与 OpenJDK 8 相对应的 Corretto 8 已于今年初正式发布。在撰写本文时,与 OpenJDK 11 相对应的 Corretto 11 尚处于候选版本阶段。我们正在努力推进 Corretto 11 GA 版本的发布。

许多客户都在使用 JDK 8,并且近期不打算升级到 JDK 11。在接下来的很多年中,他们甚至会继续使用 JDK 8。我们希望继续改进 Corretto,在提升其性能的同时确保依赖它的现有系统可以运行正常。我们对 Corretto 8 的免费长期支持至少会延续到 2023 年 7 月,对 Corretto 11 的支持至少会延续到 2024 年 8 月。

一个成功且维护良好的上游项目对 Corretto 来说至关重要。Corretto 团队正在 Red Hat 的带领下投入对 OpenJDK8u 项目的维护。该项目是其它 OpenJDK 社区版本的上游项目。这是我们季度发布的基础。Corretto 团队正在招募负责人和个人贡献者,来提升我们改进和支持这些项目的能力。

我们还与 Oracle、Red Hat 以及其他参与安全补丁、错误修复的伙伴合作,将这些补丁和修复反向移植到 OpenJDK 更新项目。我们需要与 Oracle 同步发布它们,来确保所有 OpenJDK 发布版本安全补丁的一致性。

Corretto 由两部分组成。 其中一部分是 OpenJDK,即位于openjdk.java.net的源代码,另一部分是补丁、构建指令和系统以及测试和文档。如果你对 Corretto 有任何反馈,请在github.com/corretto提交问题或创建 PR。如果它是 OpenJDK 代码本身的修改——无论是上游还是补丁——我们希望每一个贡献都可以进入上游项目,所以请从那里开始。 如果它与构建系统、文档或 Corretto 特定测试相关,请将它们提交到 GitHub 存储库。


Resources



查看英文原文https://www.infoq.com/news/2019/03/amazon-releases-corretto-8


2019-03-11 08:206265

评论

发布
暂无评论
发现更多内容

面试造火箭?GitHub飙升“2023(Java 岗)面试真题汇总”转载40万

三十而立

Java java面试

如何高效搭建资产管理平台?众安科技告诉你答案是图技术

NebulaGraph

图数据库

VisBug:助力前端开发的浏览器插件

南城FE

CSS 效率工具 前端 浏览器 插件

华为昇思MindSpore开源社区三周年生日会,三大亮点不容错过!

极客天地

低代码开发:助力企业高效实现数字转型的一大利器

加入高科技仿生人

大数据 低代码 数字化 数字转型

百度安全助力小度智能屏通过中国泰尔实验室适老化技术测试认定

百度安全

智能硬件

游戏版《西部世界》来了!NPC全由AI操控,行动自如有理想和记忆,基于最新GAEA技术系统打造

Openlab_cosmoplat

AI 游戏 开源社区

设计师的魔法:让你的冰冷设备即刻变成迪士尼

鼎道智联

设计 动效设计

【iOS逆向与安全】利用IDAPython插件提高反汇编和逆向工程效率

小陈

安全 逆向 iOS逆向 ios安全 逆向分析

经过小折腾,可算是把 Code Coverage API 用上了

HoneyMoose

两项大奖加持,浩鲸科技福利小店-WHALE SELECT

鲸品堂

福利 平台 平台搭建 企业号 3 月 PK 榜

模型驱动软件开发 打造企业数字化未来

力软低代码开发平台

TitanIDE:云原生开发到底强在哪里?

行云创新

ide 云原生 云开发

解决90%面试问题!GitHub顶级"Java面试手册"了解下八股文天花板

三十而立

Java java面试

从GPT-4、文心一言再到Copilot,AIGC卷出新赛道?

引迈信息

微软 AIGC 文心一言 GPT-4

百图生科AIGP平台发布:提供多种蛋白质生成能力,邀伙伴联手开发“新物种”

硬科技星球

永洪BI、瓴羊Quick BI领衔国产BI工具

巷子

MobTech|如何选择应用内广告SDK产品

MobTech袤博科技

git客户端软件:Sublime Merge 激活版

真大的脸盆

Mac Mac 软件 Git客户端

任务卷轴模式系统开发NFT技术

薇電13242772558

系统

阿里云高级技术专家林立翔:基于阿里云弹性GPU服务的神龙AI加速引擎,无缝提升AI训练性能

云布道师

阿里云 AI

软件测试/测试开发丨在Docker 上搭建持续集成平台 Jenkins

测试人

软件测试 自动化测试 测试开发

山东大学-飞桨人工智能教育创新中心正式挂牌,打造区域产教融合新范式

飞桨PaddlePaddle

关于 MyBatis 我总结了 10 种通用的写法

三十而立

Java mybatis

币安/欧意合约自动跟单软件开发源代码

开发v-hkkf5566

智慧公厕:未来城市的必备设施

光明源智慧厕所

物联网 智慧城市

黄牛党“屯购”OPPO Find X6 无感验证护航官方商城安全

极客天地

ShareSDK iOS端如何实现微信分享链接与登录

MobTech袤博科技

就在明天!用友企业数智化财务峰会落地广州,聚焦实现业财合一新价值

用友BIP

龙蜥白皮书精选:敏捷开发场景下的调度器热升级 SDK

OpenAnolis小助手

敏捷开发 sdk 白皮书 调度器 龙蜥社区

亚马逊发布 Corretto 8 GA 版本_语言 & 开发_Michael Redlich_InfoQ精选文章