亞馬遜發佈 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章