[Java] Oracle Dev Tour Japan 2018

風薫る5月といえば、そうJavaの月ですね。そして、彼らが今年もやってきます。
そう、SteveとSebastianです。

今年も全国のJUGをお訪ねする、Oracle Dev Tour Japan 2018を開催します。
2018/04/24現在参加登録サイトがオープンしている会場を下表にまとめました。ご興味あればぜひお近くの会場にお越しください。

場所開催日時開催場所リンク
熊本5/8 (火) 18:50-20:50
開場:18:20
熊本県民交流館パレア
10階会議室6
https://kumamotojava.doorkeeper.jp/events/73213
福岡5/10 (木) 19:00-21:00
開場:18:30
日本オラクル株式会社 西日本支社
九州オフィス セミナールーム
https://javaq.connpass.com/event/85022/
岡山5/11 (金) 19:00-21:00
開場:18:45
岡山県立図書館
サークル活動室2 
https://okajug.doorkeeper.jp/events/73098
大阪5/14 (月) 19:00-21:00
開場:18:30
日本オラクル株式会社 西日本支社
大阪オフィス セミナールーム
https://kanjava.connpass.com/event/84996/
名古屋5/15 (火) 19:00-21:00
開場:18:30
日本オラクル株式会社 中日本支社
東海オフィス セミナールーム
https://ngo-java.connpass.com/event/85297/
仙台5/21 (月) 19:00-21:00
開場:18:30
日本オラクル株式会社 東北支社
セミナールーム
https://connpass.com/event/86131/
札幌5/23 (水) 19:00-21:00
開場:18:30
日本オラクル株式会社 北日本支社
北海道オフィス セミナールーム
https://javado.connpass.com/event/86481/

そして、5月17日は、Java Day Tokyo 2018もお忘れなく。

[Linux] An Update on Retpoline-enabled Kernels for Oracle Linux

原文はこちら。
https://blogs.oracle.com/linuxkernel/an-update-on-retpoline-enabled-kernels-for-oracle-linux

1月に、研究者らは、MeltdownとSpectreと呼ばれる投機的実行の欠陥を明らかにしました。Oracleは以下のサポート・ノートで公式ガイダンスを公開しました。
Meltdown and Spectre
https://meltdownattack.com/
Responding to the Spectre and Meltdown vulnerabilities (CVE-2017-5715, CVE-2017-5753, and CVE-2017-5754) in Oracle Linux and Oracle VM on Oracle X86 Servers (Doc ID 2370398.1)
https://support.oracle.com/rs?type=doc&id=2370398.1
当時、特別なIntelのマイクロコードに依存したこれらのセキュリティ問題の軽減策をリリースしましたが、最新のカーネルリリースkernel-uek-4.1.12-112.16.4には、Spectre Variant 2(CVE-2017-5715)のより高速な、retpolineベースの軽減が含まれています。
[El-errata] ELBA-2018-4050 Oracle Linux 6 Unbreakable Enterprise kernel bug fix update
https://oss.oracle.com/pipermail/el-errata/2018-March/007581.html
このカーネルは、Oracle Linux 7とOracle Linux 6の両方で使用できます。UEK Release 2、UEK Release 3、そしてOracle Linux 6および7のRed Hat Compatible Kernel向けの既存のパッチとあわせ、Oracle LinuxのSpectre and Meltdownの脆弱性に対する最新のソフトウェア軽減策を提供します。
[El-errata] ELBA-2018-4050 Oracle Linux 6 Unbreakable Enterprise kernel bug fix update
https://oss.oracle.com/pipermail/el-errata/2018-March/007581.html
[El-errata] ELBA-2018-4050 Oracle Linux 7 Unbreakable Enterprise kernel bug fix update
https://oss.oracle.com/pipermail/el-errata/2018-March/007580.html
全てのソースコードはGitHubで公開済みです。
oracle/linux-uek - v4.1.12-112.16.4
https://github.com/oracle/linux-uek/releases/tag/v4.1.12-112.16.4
Development Versions of Oracle Linux UEK now available on GitHub
https://blogs.oracle.com/linuxkernel/development-versions-of-oracle-linux-uek-now-available-on-github
https://orablogs-jp.blogspot.com/2018/04/development-versions-of-oracle-linux.html
Oracleはまた、1月にIBRS/IBPB軽減策を使用してSpectre Variantの緩和策をXenに移植しました。Oracle VM 3.4でXenのretpoline軽減策をリリースしようとしています。これにより、サポートされているすべてのハイパーバイザー(Oracle VM 3.2、Oracle VM 3.3、Oracle VM 3.4、およびkvm)へのMeltdown/Specterタイプの攻撃から完全に保護されます。

Retpolinesの利点については、以下のIntelのホワイトペーパーとgoogle.comのサポート記事を参照してください。
Retpoline: A Branch Target Injection Mitigation
https://software.intel.com/sites/default/files/managed/1d/46/Retpoline-A-Branch-Target-Injection-Mitigation.pdf
Retpoline: a software construct for preventing branch-target-injection
https://support.google.com/faqs/answer/7625886
Retpolinesは、間接的な分岐を投機的な実行から隔離するコンパイラによって実行されるソフトウェアによる軽減策です。"return trampoline"から派生したretpolineを使う軽減策は、マイクロコードベースの軽減策よりも大幅にパフォーマンスのオーバーヘッドが少なく、とあるワークロードでは、パッチ適用前のレベルに近いパフォーマンスが得られる可能性があります。

Retpolinesは、Oracle Linux 7(およびOracle Linux 6)で使用可能なretpoline対応のgccコンパイラを使用して、カーネル(およびカーネルモジュール)を再コンパイルすることで有効になります。
[El-errata] ELBA-2018-0408 Oracle Linux 7 gcc bug fix update
https://oss.oracle.com/pipermail/el-errata/2018-March/007569.html
[El-errata] ELBA-2018-0513 Oracle Linux 6 gcc bug fix update
https://oss.oracle.com/pipermail/el-errata/2018-March/007583.html
Oracleのコンパイラエキスパートは、このサポートをgcc-4.8およびgcc-4.4コンパイラに移植しました。このコンパイラはyum.oracle.comで公開されています。これがOracle Linuxでretpoline対応のカーネルを使用できるようにするための前提条件でした。この結果、Oracle Linuxはコンパイラ機能を使用して、Spectre Variant 2攻撃に対してカーネルを自己保護することができます。アプリケーションの再コンパイルは必要ありません。

retpolineを使用する代わりに、IBRS(Indirect Branch Restricted Speculation)を使うこともできます。これはIntelの最新のマイクロコードのアップデートで定義された特別なSPEC_CTRL MSR(モデル固有のレジスタ)を呼び出します。IBRSはマイクロコードを使用してセキュリティ上の脆弱性を軽減します。 IBRSは、とあるワークロードではパフォーマンスが大幅に低下します。retpolineが利用可能である場合でも、もう一つの軽減策であるMSR、IBPB(Indirect Branch Predictor Barrier)も特定のユースケースでは以前として利用されています。

retpolinesを軽減策として利用する上での注意点がいくつかあります。まず、ハードウェアがretpolineをサポートしなければなりません。最新のハードウェアによっては、retpolineの軽減策を無視して命令を推測する場合があります。第2に、ロード可能なカーネルモジュールもretpoline対応のコンパイラでコンパイルする必要があります。そうしないと、カーネルは依然として脆弱なままです。

最新のkernel-uekは、これらの各条件を自動的に検出し、マイクロコードベースのIBRS軽減策を有効にします。フォールバックであるIBRS軽減策の場合、システムにアップデート済みのマイクロコードが存在している必要があります。したがって、ハードウェアベンダーから提供される利用可能な最新のシステムマイクロコードに更新することを常にお勧めします。アップデートされたIntelのマイクロコードには、SPEC_CTRL MSRが導入されていますが、それを呼び出すことはしません。カーネルはMSRを起動する必要があるからです。このカーネルの挙動はユーザーが有効または無効にできます。そのため、IBRSを無効にする予定のシステムに更新されたマイクロコードをロードしてもパフォーマンスに影響はありません。

ゲスト(仮想マシン)システムではマイクロコードを更新する必要はありません。ホストシステムに正しいマイクロコードを有しており、アップデートされたソフトウェア(Xenまたはqemu)があれば、ハイパーバイザーはゲストを保護するために必要なMSRをパススルーします。

サードパーティのカーネルモジュール
サードパーティ製のカーネルモジュールは、retpoline対応のコンパイラで再コンパイルする必要があります。UEKでは、以前にコンパイルされたモジュールがロードされることをkABI(Kernel Application Binary Interface)が保証していますが、これらのモジュールがretpolineに対応していない場合、カーネル全体がIBRS保護を再び有効にし、retpolinesのパフォーマンス上の利点は失われます。

Repolinesは必須ではない
Retpolineが有効になっているカーネルはパフォーマンスが向上しますが、retpolinesがなくてもセキュリティパッチが適用されたカーネル場合、すぐにこれらのパッチを適用することは重要ではありません。

マイクロコードのアップデートは必要
システムがIBRS(マイクロコードベース)の軽減策にフォールバックする必要のある、シナリオが多く存在します。この場合、システムのマイクロコードをアップデートしていない場合は失敗します。retpolinesを利用できる場合でも、マイクロコードをフォールバックとして利用できるようにすることは不可欠です。多数のエッジケース(kvm、強化GPG、Xen、ハードウェア制限など)では、retpolineの緩和策が十分でない場合があります。マイクロコードが期限切れの場合、 'dmesg'出力に表示されるこのメッセージは見たくないでしょう(retpolinesが利用できず、IBRSを利用可能なマイクロコードが利用できない場合のブート時のログです)。
[  358.742211] kmod1: loading module not compiled with retpoline compiler.
[  358.742214] Spectre V2 : Disabling Spectre v2 mitigation retpoline.
[  358.749417] Spectre V2 : Could not enable IBRS.
[  358.754569] Spectre V2 : No Spectre v2 mitigation to fall back to.
[  358.761587] Spectre V2 : system may be vulnerable to spectre
アプリケーションの再コンパイルは不要
カーネルでretpolineを使えるようにアプリケーションを再コンパイルする必要はありません。ロード可能なカーネルモジュールだけを再コンパイルする必要があります。

In summary:

  • UEK 2/3/4、Red Hat Compatible Kernelを使うOracle Linux 6および7はSpectre variant 1/2/3に対応している
  • 最新のUnbreakable Enterprise Kernel release 4には、Spectre variant 2に対応するretpolineベースの軽減策が含まれている
  • retpolineが有効化されたUEK4では、マイクロコードベースのSpectre軽減策を有する以前のリリースに比べてパフォーマンスが大幅に向上している
  • retpolineの軽減策を使うUEK4は特定のハードウェアでのみ動作し、全てのカーネルモジュールをretpoline対応のコンパイラで再コンパイルする必要がある。
  • retpolineの軽減策を使うUEK4は、retpolineのサポートに必要な状況でない場合にはマイクロコードベースの保護策に自動的にフォールバックする。
  • ここに記載した内容全てと詳細は、以下のMy Oracle Supportにドキュメントがある。
    Responding to the Spectre and Meltdown vulnerabilities (CVE-2017-5715, CVE-2017-5753, and CVE-2017-5754) in Oracle Linux and Oracle VM on Oracle X86 Servers (Doc ID 2370398.1)
    https://support.oracle.com/rs?type=doc&id=2370398.1

[misc.] JavaOne Event Expands with More Tracks, Languages and Communities – and New Name

原文はこちら。
https://blogs.oracle.com/developers/javaone-event-expands-with-more-tracks-languages-and-communities-and-new-name

JavaOneが拡大し、より多くの言語、テクノロジー、開発者コミュニティを含む、新たなより大きいイベントに生まれ変わります。開発者が期待しているJavaのテクニカルコンテンツだけでなく、Go、Rust、Python、JavaScript、Rについてのセッションにも期待してください。この新しいイベントOracle Code Oneは、10/22から10/25まで、San FranciscoのMoscone Westで開催します。

Oracle Code OneではJavaチームのアーキテクトによる、最新のJavaプラットフォームに関する情報をご紹介するテクニカルキーノートを開催予定です。この中で、Java 11に関する最新の詳細情報、OpenJDKの最新情報、およびその他のコアなJava開発についても説明します。現在、Jakarta EE(現在はEclipse Foundationの一部)、Spring、Javaマイクロサービスやコンテナの最新情報など、サーバーサイドのJava EEテクノロジーの専用トラックを計画しています。その他、クライアント開発、JVM言語、IDE、テストフレームワークなどの豊富なコミュニティによるコンテンツも計画しています。

拡張に伴い、chatbot、マイクロサービス、AI、ブロックチェーンなどの最先端のトピックにもご期待ください。また、弊社のOracle JET、Project Fn、OpenJFXなど、最新のオープンソース開発者テクノロジーに関するセッションも予定しています。

最後に、このカンファレンスを引き続き盛り上げる要素の1つに、若手開発者のためのOracle Code4Kidsワークショップ、各地のJUGリーダーによるIGNITEライトニングトーク、Developer Loungeでのテクノロジーデモやコミュニティプロジェクトの展示といった、幅広いコミュニティによる活動があります。Developer Community Keynoteでのグランドフィナーレでこの週のテクノロジー、コミュニティイベントを締める予定です。

本日、Oracle Code OneのCall for Paperの受付を開始しました。Java開発者、データベース開発者、フル・スタック開発者、DevOps実践者、およびコミュニティ・メンバーのための11トラックのコンテンツに応募できます。

JavaOneのこの拡張について、筆者と同じくわくわく感を感じていただき、Oracle Code One最初の年にご参加いただけることを願っています。

Call for Paperは以下から応募ください。
Oracle Code One 2018
https://www.oracle.com/code-one/index.html

[Linux] Announcing the release of Oracle Linux 7 Update 5

原文はこちら。
https://blogs.oracle.com/linux/announcing-the-release-of-oracle-linux-7-update-5

Oracleはx86_64アーキテクチャ向けのOracle Linux 7 Update 5の一般提供を発表します。個々のRPMパッケージはUnbreakable Linux Network (ULN) とOracle Linux Yumサーバで確認できます。
Unbreakable Linux Network (ULN)
https://linux.oracle.com/
Oracle Linux yum server
https://yum.oracle.com/
ISOインストールイメージはまもなくOracle Software Delivery Cloudからダウンロードできるようになる予定です。
Oracle Software Delivery Cloud
http://edelivery.oracle.com/new
Oracle Container Registry
https://container-registry.oracle.com/
Docker Hub
https://hub.docker.com/_/oraclelinux/
Oracle Linux 7 Update 5には、以下のカーネルパッケージが同梱されています。
  • x86-64アーキテクチャ用Unbreakable Enterprise Kernel (UEK) Release 4 (kernel-uek-4.1.12-112.16.4.el7uek)
  • x86-64アーキテクチャ用Red Hat Compatible Kernel (kernel-3.10.0-862.el7)

Application Compatibility

Oracle Linuxは、Red Hat Enterprise Linux(RHEL)とのユーザー空間の互換性を維持しています。これはオペレーティング・システムの基礎となるカーネル・バージョンとは独立しています。ユーザー空間内の既存のアプリケーションは、Oracle Linux 7 Update 5+UEK Release 4の組み合わせ上で、修正無しでそのまま実行できます。Red Hat Enterprise Linux 7またはOracle Linux 7ですでに動作保証済みのアプリケーションでは再度認証する必要はありません。

Notable security-related features in this release:

  • 最近のIntelプロセッサーのメモリー保護キーのサポート
    このアップデートには、最新のIntelプロセッサー上のメモリー保護キーハードウェア機能のサポートが含まれています。CPUは、各キーに対して2つの別個のビット(アクセス禁止と書き込み禁止)を含む新しいユーザーアクセス可能なレジスタ(PKRU)を通してこのサポートを提供します。
  • 起動プロセス中にネットワークに接続された暗号化されたデバイスのロックを解除する機能以前は、ネットワークに接続されたブロックデバイスは、ネットワークサービスを開始する前にこれらのデバイスを接続および復号化できなかったため、ブートプロセス中にロックを解除できませんでした。
  • mod_sslでのSSLv3の無効化
    SSL/TLS接続のセキュリティ改善のため、httpd mod_sslモジュールのデフォルト構成でSSLv3のサポートを無効にしています。この変更が特定の暗号化サイファースィートの利用が制限されます。
  • KASLR for KVMゲスト向けKASLRの追加 guests added.
    KVMゲスト用のカーネルアドレス空間レイアウトのランダム化(KASLR)機能が追加されました。
Oracle Linux 7.5では、Btrfsが引き続き完全にサポートされています。Btrfsのサポートは、Red Hat Compatible Kernelでは廃止予定になっています。
これらの機能やその他の新機能、変更点の詳細は、Oracle Linux Documentation LibraryのOracle Linux 7 Update 5リリースノートを参照してください。
Oracle Linux 7 Update 5 Release Notes
https://docs.oracle.com/cd/E52668_01/E93593/html/index.html
Operating Systems Documentation - Oracle Linux
https://docs.oracle.com/en/operating-systems/linux.html
Oracle Linuxは無料でダウンロード、利用、配布でき、すべてのアップデートと正誤表に無料で入手でき、お客様がサポート契約の必要なシステムを決定します。
Oracle Linux Support
https://www.oracle.com/linux/index.html#support
そのため、Oracle Linuxは開発、テスト、および運用システムに最適です。 お客様は、すべてのシステムを最新かつ安全に保ちつつ、個々のシステムに対してどのサポートカバレッジが最善かを判断します。
Oracle Linux Premierサポートをご利用のお客様は、Ceph Storage、Oracle Linuxソフトウェア・コレクション、Oracle OpenStack、Oracle Kspliceを使用したゼロ・ダウンタイム・カーネル・アップデートといった、追加のLinuxプログラムもサポートされます。
Oracle Linuxの詳細については、以下のURLをご覧ください。
Oracle Linux
https://www.oracle.com/linux/index.html
https://www.oracle.com/jp/linux/index.html

[Java] Announcing GraalVM: Run Programs Faster Anywhere

原文はこちら。
https://blogs.oracle.com/developers/announcing-graalvm

現在の仮想マシン(VM)は、特定の言語または非常に少数の言語に対してのみ、プログラムの高性能な実行を提供します。コンパイル、メモリ管理、ツールは、‘don’t repeat yourself’ (DRY) (重複を防ぐ)の原則に違反して、言語ごとに別々に管理されています。これは、VM実装者にとって大きな負担になるだけでなく、パフォーマンス特性、ツール、および設定が一貫しないために開発者にとっても大きな負担になります。さらに、異なる言語で書かれたプログラム間の通信には、高コストなシリアライズ、デシリアライズのロジックが必要です。最後に、高性能VMは、高いメモリフットプリントの重量プロセスで、埋め込みは困難です。
数年前、これらの欠点に対処するために、Oracle Labsは仮想マシンの新しいアーキテクチャを探索するための新しい研究プロジェクトを始めました。
Oracle Labs
https://labs.oracle.com
我々のビジョンは、すべてのプログラミング言語で高性能を提供する単一のVMを作成し、プログラム間の通信を容易にすることでした。このアーキテクチャは、メンテナンス性を向上させるために統一された、言語非依存のツールをサポートし、その組み込み可能性(embeddability)の結果、VMがスタック全体で利用できるようにすることを目指しています。
この目的に適うよう、このようなVMのビルドにあたって新しいアプローチを考案しました。長年にわたる研究開発の結果、我々は今、最初の本番環境で利用可能なリリースを発表する準備が整いました。
Practical partial evaluation for high-performance dynamic language runtimes
https://dl.acm.org/citation.cfm?id=3062381

Introducing GraalVM

本日、polyglot(多言語)な世界向けに設計された汎用仮想マシンGraalVM 1.0のリリースを発表しました。
GraalVM
http://www.graalvm.org/
GraalVMは、個々の言語に対し高いパフォーマンスを提供し、さらに多言語アプリケーションでパフォーマンスのオーバーヘッドをゼロにする相互運用性を提供します。GraalVMの場合、言語境界でデータ構造を変換するのではなく、オブジェクトと配列を別のプログラミング言語で直接使用できます。

シナリオとして、例えばNode.jsコードからJavaライブラリの機能にアクセスしたり、JavaからPython統計ルーチンを呼び出したり、Rを使用して別の言語で管理されるデータから複雑なSVGプロットを作成したりすることが考えられます。GraalVMを使用すると、開発者は現在のタスクを解決するのに最も生産的な言語を自由に使用できます。

GraalVM 1.0では以下の言語を実行できます。
  • JVMベースの言語(Java、Scala、Groovy、Kotlinなど)
  • JavaScript (Node.jsを含む)
  • (CやC++、Rustで記述されたプログラムから生成された)LLVM bitcode
  • Ruby、R、Pythonの実験的バージョン
GraalVMは、スタンドアロンでも、OpenJDKやNode.jsのようなプラットフォームの一部としても、あるいはMySQLやOracle RDBMSなどのデータベースに埋め込まれていても実行できます。
Oracle Database Multilingual Engine (MLE)
https://oracle.github.io/oracle-db-mle/
アプリケーションは、標準化されたGraalVM実行環境を介してスタック全体に柔軟にデプロイできます。データ処理エンジンの場合、GraalVMは、実行中のプログラムにカスタム形式で保存されたデータを直接公開します。その際の変換オーバーヘッドはありません。
JVMベースの言語の場合、GraalVMは速やかに立ち上がり、メモリフットプリントの低い、プリコンパイルされたネイティブイメージを作成するメカニズムを提供します。イメージ生成プロセスは、メインのJavaメソッドから到達可能なコードを見つけるための静的解析を実行し、完全なAOT(Ahead-of-time)コンパイルを実行します。生成されたネイティブバイナリには、即時実行のためのマシンコード形式のプログラム全体が含まれています。 このネイティブバイナリを他のネイティブプログラムとリンクしたり、GraalVMコンパイラを包含して、GraalVMベースの言語をハイパフォーマンスで実行できるよう、JIT(Just-In-Time)コンパイルをサポートすることもできます。

GraalVMエコシステムの主な利点は、すべてのGraalVMデプロイメントに適用される言語に依存しないツールです。GraalVMのコア・インストールでは、言語に依存しないデバッガ、プロファイラ、およびヒープビューアを提供します。
GraalVM Debugging and Monitoring Tools
http://graalvm.org/docs/reference-manual/tools/
3rdパーティツールの開発者や言語開発者に対し、計測ツールAPIや言語実装APIを使用してGraalVMエコシステムを充実してもらうよう呼びかけています。GraalVMは言語レベルの仮想化レイヤーとして、すべての言語でツールと埋め込みを利用できるようにすることを目指しています。

GraalVM in Production

Twitterは、Scalaベースのマイクロサービスを実行するためGraalVMを本番環境に導入している企業の1つです。GraalVMコンパイラの積極的な最適化により、オブジェクトの割り当てが削減され、全体の実行速度が向上しています。この結果、ガベージコレクションに伴う休止が少なくなり、プラットフォームの実行に必要な計算能力が少なくて済みます。以下のプレゼンテーションでは、TwitterのJVMエンジニアが自身の詳細な体験とGraalVMコンパイラを使ってどのようにコストを低減しているかを説明しています。


現在のリリース1.0では、本番利用の場合、JVMベースの言語と(Node.jsを含む)JavaScriptを推奨しています。R、Ruby、Python、LLVMベースの言語はまだ実験的な段階です。

Getting Started

GitHub上のGraalVMオープンソースリポジトリから構築したGraalVM v1.0(リリース候補)Community Edition(CE)のバイナリは以下のURLからご利用いただけます。
GraalVM Community Edition 1.0 RC1
https://github.com/oracle/graal/releases
このリリース候補版に対し、コミュニティからのフィードバックを求めています。GitHubのIssueやGitHubのプルリクエストの形でフィードバックを承っています。
Issues
https://github.com/oracle/graal/issues
Pull Requests
https://github.com/oracle/graal/pulls
GraalVM CEに加え、本番環境でのセキュリティ、スケーラビリティ、パフォーマンス向上を目的として、GraalVM v1.0(リリース候補)Enterprise Edition(EE)を提供します。GraalVM EEはOracle Cloud Infrastructureで利用可能で、評価のためにOracle Technology Networkからダウンロードできます。 GraalVM EEの本番利用に関しては、graalvm-enterprise_grp_ww@oracle.comまでご連絡ください。

Stay Connected

最新のインストーラとドキュメントは以下のURLにあります。
GraalVM
http://www.graalvm.org/
GitHubリポジトリで、開発状況、リクエスト・エンハンスメント、または問題の報告をチェックしてください。
GraalVM: Run Programs Faster Anywhere
www.github.com/oracle/graal
以下のGraalVMメーリングリストに登録することをお勧めします。
  • graalvm-announce@oss.oracle.com
  • graalvm-users@oss.oracle.com
  • graalvm-dev@oss.oracle.com
Twitterのアカウント @graalvm でTweetします。ハッシュタグ #GraalVM でツイートやスタックオーバーフローに関する質問をチェックしています。

Future

この最初のリリースは始まりにすぎず、GraalVMのあらゆる側面の改善、特にPython、R、Rubyのサポートのために取り組んでいます。

GraalVMはオープンなエコシステムであり、独自の言語やツールを作成することをお勧めします。GraalVMは、標準化された言語実行と言語に依存しない豊富なツールを可能にする共同プロジェクトにしたいと考えています。詳細はwww.graalvm.orgを参照してください。
みなさまと一緒にPolyglotな世界のためのこの次世代テクノロジーを作っていくことを楽しみにしています。

[Cloud] Which PaaS are available on OCI?

OCI (Oracle Cloud Infrastructure) で利用可能なPaaSはDatabaseのみ、と思われている方が多いようですが、実は以下のドキュメントにある通り、Database以外にもいくつかのサービスがサポートされています。
Prerequisites for Oracle Platform Services on Oracle Cloud Infrastructure
Information About Supported Platform Services
https://docs.us-phoenix-1.oraclecloud.com/Content/General/Reference/PaaSprereqs.htm#supported
サービスドキュメント
Database Cloud ServiceAbout Database Deployments in Oracle Cloud Infrastructure
https://docs.oracle.com/en/cloud/paas/database-dbaas-cloud/csdbi/db-deployments-oci.html
Java Cloud ServiceAbout Java Cloud Service Instances in Oracle Cloud Infrastructure
https://docs.oracle.com/en/cloud/paas/java-cloud/jscug/instances-oracle-cloud-infrastructure.html
MySQL Cloud ServiceAbout MySQL Cloud Service Deployments
https://docs.oracle.com/cloud/latest/mysql-cloud/UOMCS/GUID-7F197ECD-1EA0-4423-B9C2-75B39C57E984.htm
Event Hub Cloud ServiceAbout Oracle Event Hub Cloud Service - Dedicated instances inOracle Cloud Infrastructure
https://docs.oracle.com/en/cloud/paas/event-hub-cloud/admin-guide/instancesonoci-eventhubdedicated.html
Data Hub Cloud ServiceAbout Oracle Data Hub Cloud Service Clusters in Oracle Cloud Infrastructure
https://docs.oracle.com/en/cloud/paas/data-hub-cloud/user/data-hub-cs-clusters-oci.html
Big Data CloudAbout Big Data Cloud Clusters in Oracle Cloud Infrastructure
https://docs.oracle.com/en/cloud/paas/big-data-compute-cloud/csspc/big-data-cloud-clusters-oracle-cloud-infrastructure.html
Oracle SOA Cloud ServiceAbout SOA Cloud Service Instances in Oracle Cloud Infrastructure Classic and Oracle Cloud Infrastructure
https://docs.oracle.com/en/cloud/paas/soa-cloud/csbcs/instances-oracle-cloud-infrastructure-classic-and-oracle-cloud-infrastructure.html

通常のOracle Cloud Infrastructure Classic上で構成する場合とは前提条件が違いますので、ドキュメントをよく読んでお試しください。
Prerequisites for Oracle Platform Services on Oracle Cloud Infrastructure
https://docs.us-phoenix-1.oraclecloud.com/Content/General/Reference/PaaSprereqs.htm

[Cloud, Docker] Oracle Developer Cloud Service Adds Docker, Pipelines, and More

原文はこちら。
https://blogs.oracle.com/cloud-platform/oracle-developer-cloud-service-adds-docker%2c-pipelines%2c-and-more

Oracle Developer Cloud Serviceが4月のリリースで新機能が追加されました。このエントリではそのいくつかを簡単にご紹介します。

New Build & Continuous Integration Architecture

ビルドジョブのための専用ビルドサーバーを利用できるようになりました。ビルドサーバーはOracle Cloud Infrastructure Compute ClassicとOracle Cloud Infrastructure Object Storage Classicインスタンスを使います。専用サーバーを構成し、Oracle Developer Cloud Service内から直接種々のソフトウェアパッケージを含めることができます。
Configure Your Build Server
Image 1 : Customize your build server software stack
Oracle Storage Cloud Service Classicと統合すれば、ビルド間で永続的なMavenリポジトリを持つことができるだけでなく、ビルド成果物を格納する場所を提供できます。
この新しい専用の永続的なビルド・アーキテクチャで、ビルドの高速化が実現されることでしょう。

Build Pipelines

ビルドオーケストレーションを視覚的に定義できるようになりました。ビルドジョブをつなぎ、実行順序を視覚的にパイプラインを使って定義します。また、最新のステータスに基づいて色分けされたビルドパイプラインの進捗状況も表示します。
Build Pipelines
Image 2 : visualize your build pipeline

Docker Support

Continuous Integrationプロセスの一環としてDockerコンテナをビルド・パブリッシュできるようになりました。ビルド構成の新しいオプションでは、さまざまなDockerコマンドを呼び出す手順を定義できます。 さらに、Dockerレジストリへの接続を定義し、Dockerコンテナをパブリッシュできます。
docker build steps
image 3: Configuring a docker step as part of your build job

SonarQube Integration

SonarQubeとの統合が可能になりました。この結果、ビルドプロセスの一環としてコードを分析し、その結果を公開することができるようになりました。
Continuous Code Quality | SonarQube
https://www.sonarqube.org/
Sonarサーバーへの接続を定義して、ビルドのテスト結果を監視します。
Sonar Configuration
image 4: configure connection to SonarQube server
新機能の詳細は、以下のドキュメントをご覧ください。
What’s New in Oracle Developer Cloud Service - April 2018
https://docs.oracle.com/en/cloud/paas/developer-cloud/csdwn/index.html#CSDWN-GUID-88FCFA5A-9EA1-4E43-BF2B-7D5B647B5A07