[Cloud, Network] Innovation in Edge Services: The Oracle Cloud Infrastructure Edge Network

原文はこちら。
https://blogs.oracle.com/cloud-infrastructure/innovation-in-edge-services-the-oracle-cloud-infrastructure-edge-network


クラウドへの移行は企業組織にとって不可欠なものになっていますが、この移行には大きな懸念が伴います。Oracleは、volatilityからセキュリティにわたるコンポーネントが、クラウド・フレームワークの成功のために重要であることを認識しており、Edge Serviceと同時に機能するOracle Cloud Infrastructureはこのことを特に念頭において、設計されています。

エッジはイノベーションが起こる場所です。例えばOracle Cloud Infrastructure Edge Compute Networkは、40箇所にある大容量のエッジ・コンピューティングから構成されており、このコンピューティングリソースはオンプレミス・ハードウェアのベアメタルのパフォーマンスとガバナンス管理とクラウドのアジリティとコスト効率が組み合わさったものです。
Read the RedMonk report on getting the most for your IaaS dollar
https://blogs.oracle.com/cloud-infrastructure/read-the-redmonk-report-on-getting-the-most-for-your-iaas-dollar 
Oracle Dyn Web Application Security platformは、クラウドベースの大容量のDDoS攻撃からの防御プラットフォームと、DNS、そしてデータインテリジェンス製品では既にEdge Compute Networkを利用しています。
DDoS Protection for Websites and Applications
https://dyn.com/ddos-protection/

Why an Edge Compute Network?

Oracle Cloud Infrastructure Edge Compute Networkは、グローバルに分散されたコンピューティング容量ネットワークで、これを使い中央集中型クラウド・リポジトリにプッシュされる前にデータを格納および処理します。企業の中央ネットワークにデータを送信せずにデータをソースに近づけるため、この方法はレイテンシを減らし、強力なセキュリティを保つ上で理想的です。

多くのアプリケーションとサービスは、エッジで動作するように設計されており、アクセスされたデバイスからのコンピューティングと、最も近いクラウドサーバー上のワークロードを活用しています。今日、ビジネス上重要な機能を実現するためには、どこにでもいる必要があります。コアネットワークの能力を計算能力が上回るにつれて、組織はビジネスロジックを処理するエッジサービス、サーバー、およびデバイス自体にますます頼るようになります。 さらに、接続エンドポイントの数は指数関数的に増加しており、複雑なデータフローに対応するために帯域幅が増加しています。

What Are Edge Services?

Oracleは、Oracle Cloud Cloud Edge Edge Compute Networkを通じてEdge Servicesをセキュアに提供します。エッジサービスは、ソース側で分析とデータ収集を可能にします。組織のネットワークの集中ノード上でそのデータをルーティングするのではありません。ネットワークの回復力(Resiliency)とセキュリティの観点からは、サービスに潜在的に影響を与える可能性のある悪意のあるデータは、ビジネス上重要なインフラストラクチャに到達する前にエッジで処理され緩和されることを意味します。

Oracleのエッジサービスには、Webアプリケーション・セキュリティ、DDoS攻撃からの防御、およびDNSのソリューションが含まれています。

主要機能は以下の通りです。
  • 一貫したパフォーマンス:アプリケーションとデジタル資産の信頼できるパフォーマンスのため、世界中でDNSクエリに30ミリ秒未満で応答、DNSレコードを1分以内に伝播します。
  • 膨大なインターネットデータと経験:毎日240億以上のデータポイントを収集するのに利用する600以上の収集ポイントを利用し、インターネット制御プレーンを介して位置情報によって低遅延かつインテリジェントにユーザートラフィックをルーティングします。
  • 実証済みの信頼性とセキュリティ:複数の大陸に戦略的に配置された複数のデータセンターのグローバルエニーキャストネットワークで、冗長なインターネットトランジットプロバイダを活用して究極の回復性とDDoS攻撃からの保護を実現します。
    What is DDoS Attack?
    https://dyn.com/blog/what-is-a-ddos-attack/
  • セキュリティを管理:Webアプリケーションファイアウォール(WAF)、ボット管理、マルウェア保護、およびAPIセキュリティソリューションを備えたグローバルサイバーセキュリティ専門家チームがWebアプリケーションセキュリティスイートを24時間365日常に管理します。
    What is Web Application Firewall (WAF)?
    https://dyn.com/blog/what-is-web-application-firewall-waf/
Internet of Thingsがますます成長し、より多くのアプリケーションとサービスがエッジで動作すると考えていますが、このためには、信頼性が高く、一貫して高性能の革新的なエッジセキュリティサービスがこれまで以上に不可欠です。

[Cloud, Network] Interconnecting Clouds with Oracle Cloud Infrastructure

原文はこちら。
https://blogs.oracle.com/cloud-infrastructure/interconnecting-clouds-with-oracle-cloud-infrastructure

マルチラウドアーキテクチャでは、複数のクラウドサービスプロバイダを使用します。企業には、複数のクラウドプロバイダーを利用する様々な理由があります。例えば、レジリエンシの提供、災害復旧の計画、パフォーマンスの向上、コストの削減などです。企業があるクラウドプロバイダーから別のクラウドプロバイダーにクラウドリソースを移行する場合、クラウド間のアクセスとネットワーク接続が必要です。Oracle Cloud Infrastructureは、Oracle Cloud Infrastructure仮想クラウド・ネットワーク(VCN)をインターネット、オンプレミス・データ・センター、または他のクラウド・プロバイダに接続するために、インターネット・ゲートウェイ(IGW)やダイナミック・ルーティング・ゲートウェイ(DRG)といったサービス・ゲートウェイ・オプションを提供しています。
このエントリでは、Oracle Cloudへのネットワーク接続を一般的に計画する上で役立つよう、現在利用可能な接続サービスのオプションを説明した上で、クラウドプロバイダ間の接続オプションについて説明します。

Connectivity Option Overview

全てのメジャークラウドサービスプロバイダ(CSPs)では、3個のネットワーク接続サービスオプションを提供しています。
  • パブリックインターネット
  • IPSec VPN
  • 専用線接続(Oracleのサービスでは、Oracle Cloud Infrastructure FastConnectと呼んでいます)
ワークロードや転送が必要なデータ量によっては、1個、2個、もしくは3個全てのネットワーク接続サービスオプションを必要とすることがあります。
Max (Mb/s)LatencyJitterCostSecure
Public internet < 10,000 Variable Variable Variable No
IPSec VPN < 250 Variable Variable Variable Yes
FastConnect < 100,000 Predictable Predictable Predictable Yes
  • パブリックインターネットは任意のインターネット接続デバイスからアクセス可能
  • IPSec VPNはセキュアに暗号化されたネットワークで、貴社ネットワークをクラウドに伸長してアクセス可能
  • FastConnectは専用接続でインターネットへの代替接続を提供。このサー椅子は排他的な性質を持つため、信頼性が高く、低レイテンシで、専用の帯域幅を持ち、安全なアクセスを提供する。
FastConnectでは以下の接続モデルを利用できます。
  • Oracleネットワーク・プロバイダや交換パートナによる接続
  • データセンター内の直接ピアリングによる接続
  • 第三者ネットワークからの専用線接続
FastConnect Network Connectivity and Peering Models
https://cloud.oracle.com/en_US/fastconnect/connectivity-modelshttps://cloud.oracle.com/ja_JP/fastconnect/connectivity-models

Connectivity Option Details

以下は以下は最適な接続オプションです。速度、コスト、および時間に基づいて選択肢を比較するには、Choosing Your Connectivity Optionをご覧ください。

Option 1: Connecting via an IPSec VPN

IPSec VPNでは、データ・トラフィックを暗号化してセキュリティを強化しています。VPNで実現可能な帯域幅は250 Mbpsに制限されていますので、転送データの総量と必要な転送レートに応じて、複数のVPNトンネルが必要になる場合があります。
Oracle Cloud Infrastructureと他のクラウド・プロバイダ間のセキュアな接続を作成するための詳細手順は、以下のドキュメントをご覧ください。
Access to Other Clouds with Libreswan
https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/libreswan.htm?tocpath=Services%7CNetworking%7C_____14

Option 2: Connecting via a Cloud Exchange

クラウド交換プロバイダー(Exchange Provider)は、オンプレミスと交換プロバイダー間の同じ専用物理接続を使って、大規模なクラウドプロバイダーのエコシステムに接続を提供できます。利用可能なプロバイダには、Megaport、Equinix、Digital Realtyなどがあります。
クラウド間のルーティングには、以下の方法があります。
  • Megaport Cloud Router(MCR)のような、交換プロバイダが提供する仮想ルータサービスの利用
  • 物理カスタマーエッジ(CE)デバイスを交換プロバイダにコロケート
下表は、仮想ルータサービスを使用する場合と、物理ルータを交換プロバイダにコロケートする場合の長所と短所を示しています。
Pros Cons
仮想ルータサービスの利用
  • デプロイが簡単
  • オンデマンドで帯域幅を設定可能
  • デプロイ、メンテナンスのコストが安価
  • ルーティング変更を行う柔軟性は、クラウド交換(プロバイダ)のサポートの範囲内に制限
  • パブリックIP通信は利用不可

  • 専用物理ルータの利用
  • ルーティング機能の管理に柔軟性がある
  • ハードウェアの選択の自由度
  • デプロイに時間がかかる
  • スケールの制限
  • ハードウェアメンテナンスとそれに関連するコストが必要
  • このブログエントリは、パートナーに依存しないアプローチで最適な接続オプションを提供することを目的としていますが、デプロイが簡単で仮想ルータサービスを提供するという理由で、Megaport Cloud Router(MCR)を使い、クラウドプロバイダ接続としてAmazon Web Services (AWS)を使う例を紹介します。なお、Megaportは、AzureやGoogle Cloud Platformなどの多くのクラウドプロバイダーとの接続をサポートしています。

    接続の設定にあたって、以下の手順を踏みます。
    1. Oracle Cloud Infrastructure Consoleを使い、MegaportとFastConnectを接続
    2. AWS consoleを使い、MegaportとAWS Direct Connectを接続
    3. MCRを作成
      1. MCRからFastConnectへのVirtual Cross Connect (VXC) 接続を作成
      2. MCRから接続先のクラウド・プロバイダ(例えばAWS Direct Connect)へのVXC接続を作成

    After you set up FastConnect、MCRとクラウドプロバイダーとの接続(例えばAWS Direct ConnectやAzure ExpressRoute、Google Cloud Platform)の設定後、プライベートIPアドレスでリソースにアクセスでき、トラフィックは広帯域、低レイテンシの接続を通ります。

    Choosing Your Connectivity Option

    以下に示すハイレベルの情報を基にして、接続を選択してください。しかしながら、最善の接続はユースケースによって様々です。AWS Direct Connectを例にして情報をまとめます。

    (訳注)AWS Direct Connectは2018年9月19日現在の情報です。

    Speed

    • FastConnectは1Gと10Gのポート速度から選択できます。
    • Direct Connectは50M、100M、200M、300M、400M、500M、1G、10Gのポート速度から選択できます。
    • IPSec VPNの速度はほとんどの場合、500Mb/sが上限です。

    Cost

    • Oracle FastConnectでは、単位時間あたりの利用ポートの料金を請求します(データ転送料金はかかりません)。 詳細は以下を参照ください。
      Fast Connect Pricing
      https://cloud.oracle.com/en_US/fastconnect/pricing
      https://cloud.oracle.com/ja_JP/fastconnect/pricing
    • Oracle IPSec VPNサービスは、インバウンド・データ転送への課金はなく、アウトバウンド・データ転送は10TBまでは無料、それ以上の場合はわずかな料金が発生します。詳細は以下を参照ください。
      Cloud Networking Pricing
      https://cloud.oracle.com/networking/pricing
      https://cloud.oracle.com/ja_JP/networking/pricing
    • AWSの場合、ポート料金とデータ転送料金が必要です。インバウンドデータは課金対象ではありませんが、アウトバウンドデータは課金対象です。詳細については、Amazon Direct Connectの価格設定を参照ください。
      AWS Direct Connect の料金
      https://aws.amazon.com/jp/directconnect/pricing/
    • Megaportの価格は、MCR作成時に選択したレート制限に基づきます。利用可能なオプションは、100 Mbps、500 Mbps、1,2,3,4,5 Gbpsです。MCRのデプロイ先と接続を展開する場所と接続が展開されている地域に基づいて、課金レート(月額)がデプロイ時に表示されます。

    Time

    データ転送時間は、各ホップでの速度選択に依存します。専用線接続とIPSec VPNを比較すると、専用線接続では、閉域網を使用しており、IPSec-VPNと比較して信頼性が高く一貫性があるため、転送時間の大幅なぶれはありません。
    下表は、帯域幅に基づいた、AWSからOracle Cloud Infrastructureへのデータ転送時間の仮想的なコストシナリオです。


    Data (TB)
    10 100 1,000 10,000
    Rate Gb/s 1 22h13m12s 9d6h13m12s 92d14h13m12s 925d22h13m12s
    10 2h13m12s 22h13m12s 9d6h13m12s 92d14h13m12s
    100 13m12s 2h13m12s 22h13m12s 9d6h13m12s

    Summary

    この記事では、一般的に使用可能なクラウド間接続の選択肢と、Oracle Cloud Infrastructureでマルチ・クラウド・アクセスを実装する方法について説明しました。この中で、接続パスの定義に役立つハイレベルのインジケータを提供し、ユースケースに最適な接続を選択するのに役立つよう、使用可能な接続オプションを比較しました。接続の詳細情報と詳細手順は、以下のホワイトペーパーをご覧ください。
    Migrating Oracle Databases from Amazon Web Services to Oracle Cloud Infrastructure Database
    https://cloud.oracle.com/iaas/whitepapers/database_migration_aws_to_oci_database.pdf

    [Cloud, Security] Announcing Oracle Cloud Infrastructure Key Management

    原文はこちら。
    https://blogs.oracle.com/cloud-infrastructure/announcing-oracle-cloud-infrastructure-key-management

    このエントリはUlf Schoo(a consulting member of the technical staff on the Oracle Cloud Infrastructure team)の寄稿によるものです。

    Oracle Cloud Infrastructureをお使いのお客様は、Oracleが安全に格納および管理する暗号鍵によりデータが保護されることを認識して、クラウドにワークロードを移してこられましたが、とりわけ規制対象の業界を担当するお客様の中には、セキュリティガバナンス、法令遵守、データ格納場所での均質のデータ暗号化の検証をOracleに依頼されることがあります。

    本日からすべてのOracle Cloud Infrastructureリージョンのお客様は、Oracle Cloud Infrastructure Key Managementをご利用いただけます。Key Managementとは、管理する鍵を使ってデータを暗号化できるようにするマネージドサービスです。

    Key Managementは、FIPS 140-2 Level 3認定ハードウェアセキュリティモジュール(HSM)を使用して鍵のセキュリティを保護する鍵保管庫(key vaults)にあなたの鍵を永続的に保管します。コンソール、API、またはCLIを使用してKey Managementサービスにアクセスし、Advanced Encryption Standard(AES)対称鍵の作成、利用、ローテーション、有効化、無効化の操作ができます。マネージドサービスなので、Key Managementを使ってデータ暗号化のニーズに注力できます。HSMや鍵管理ソフトウェアやアプライアンスの調達、プロビジョニング、設定、更新、保守のことを心配する必要はありません。

    Oracle Cloud Infrastructureのブロック・ボリューム、Oracle Cloud InfrastructureのCompute bootボリューム、Oracle Cloud Infrastructure Object Storageと統合されているので、管理する鍵を使ったデータの暗号化は簡単で、ブロック・ボリュームやバケット作成もしくは更新時にKey Managementサービスから鍵を選択するだけです。
    OCI Block Storage
    https://cloud.oracle.com/storage/block-volume/features
    OCI Compute
    https://cloud.oracle.com/compute
    OCI Object Storage
    https://cloud.oracle.com/en_US/storage/object-storage/features
    Key Managementの鍵を使ったBlock Volume作成の例
    Block Volumeに以前割り当てた鍵の編集や割り当て解除
    Oracle Cloud Infrastructure Identity & Access Management (IAM) や Oracle Cloud Infrastructure Audit と統合されているため、個々の鍵やkey vaultsnの権限を管理したり、ライフサイクルを監視できます。
    Key Managementを使ったBlock VolumeとBoot Volumeの暗号化の有効化
    ドキュメントやFAQをご覧になって、Oracle Cloud Infrastructure Key Managementの使い方を学んでください。
    Overview of Key Management
    https://docs.cloud.oracle.com/iaas/Content/KeyManagement/Concepts/keyoverview.htmOracle Cloud Infrastructure Key Management FAQ
    https://cloud.oracle.com/cloud-security/kms/faq

    [Java] Java 11がリリースされました

    まずは、お約束の文言から。
    このエントリは個人の見解であり、所属する会社の公式見解ではありません。
    Opinions expressed in this blog entry is my personal one and does not represent the official opinion of my employer.
    US時間の2018年9月25日、Java 11がリリースされました。新しいリリースサイクルになって最初のLTS(Long Term Support)リリースです。

    ダウンロード

    OpenJDKのOracleビルド、Oracle JDKは以下からダウンロードできますが、OTNからダウンロードできるOracle JDKはライセンス条項に記載の通り、商用環境では利用できません。(医薬品ではありませんが)よく読んでお使いください。
    Oracle Technology Network License Agreement for Oracle Java SE
    https://www.oracle.com/technetwork/java/javase/terms/license/javase-license.html
    OracleがビルドしたOpenJDK
    JDK 11 General-Availability Release
    http://jdk.java.net/11/
    Oracle JDK
    My Oracle Support
    https://support.oracle.com
    Oracle Software Delivery Cloud
    https://edelivery.oracle.com
    Oracle Technology Network
    https://www.oracle.com/technetwork/java/javase/downloads/index.html

    ドキュメント

    以下からアクセスできます(英語)。
    JDK 11 Documentation
    https://docs.oracle.com/en/java/javase/11/ 
    Booksから辿ると各ドキュメントに到達しやすいかもしれません。
    JDK 11 Documentation - Books
    https://docs.oracle.com/en/java/javase/11/books.html

    新機能

    Early Access Buildをお使いのコミュニティの皆様方がすでに纏めてらっしゃいますが、YouTubeのJavaチャネルにも主要な新機能を説明する動画がUpされています。

    Introduction to the Java 11 HTTP Client


    Road to the Java 11 HTTP Client


    Z Garbage Collector (ZGC)


    JEP 323: Local Variable Syntax for Lambda Parameters


    Handling Response Data with the Java 11 HTTP Client


    Transport Layer Security (TLS) 1.3


    費用、セキュリティ修正などの提供

    再三にわたって記載してきたのですでに皆様ご存知かと思います。今回で4度目になりますが纏めておきます(他社製品や他社によるOpenJDKビルドに関してはコメントしません)。
    • OracleがビルドしたOpenJDK
      • 開発環境、本番環境を問わず無償利用可能
      • GNU General Public License, version 2 with the Classpath Exception(GPLv2+CE)
      • 機能リリース(Feature Release)のサイクルに従うため、リリース後6ヵ月でEoL
      • 6ヵ月中2回のセキュリティアップデートのリリース(1月と4月、もしくは7月と10月)
      • 製品機能の問合せはコミュニティへ
    • Oracle JDK
      • OTNからダウンロードしたバイナリは、Oracle Technology Network License Agreement for Oracle Java SEの範囲において無償利用可能、それ以外はOracleとのサポート契約が必要
      • Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX(BCL)
      • LTSリリースのみ、3年ごとにリリース(次回のLTSはJava 17を予定)
      • 年4回のセキュリティアップデートのリリース(1月、4月、7月、10月)
      • サポート期間はOracle Supportのポリシーに従う(Premier 5年、Extended 3年の少なくとも8年間はアップデートリリースを提供)
        Lifetime Support Policy
        https://www.oracle.com/jp/support/lifetime-support/index.html
      • Javaサポートの契約方法
        • Java SE Advanced/Suite(従来から提供しているもの)もしくはJava SE Subscription
        • Oracle製品やサービスのライセンスを購入されている場合、サポート費用はライセンスサポートに含まれるため、別途契約は不要
        • Oracle CloudでJavaを利用するサービスを使っている場合、サブスクリプション費用にサポート費用が含まれているため、追加費用は不要
    是非進化したJavaをお試しください。新機能を試してブログにまとめたり、発表いただいたりしてもらえると非常にうれしく思います。

    [Java] Introducing Java SE 11

    原文はこちら。
    https://blogs.oracle.com/java-platform-group/introducing-java-se-11

    どれだけの時間が過ぎたことでしょう。ユーザーにとって活気に満ちた未来が続くことを確実にするため、Oracleは過去数ヶ月の間にJava Platformを進化させるための変更を発表してきました。一部ご紹介しましょう。

    Increasing the pace and predictability of delivery

    Java 9のリリース以降、Java Platformは6ヶ月のリリースサイクルに移行しました。この結果、開発者は継続的な機能強化に迅速にアクセスできます。
    Update and FAQ on the Java SE Release Cadence
    https://blogs.oracle.com/java-platform-group/update-and-faq-on-the-java-se-release-cadence
    https://orablogs-jp.blogspot.com/2018/05/update-and-faq-on-java-se-release.html
    リリースは現在、毎年3月と9月に行われますが、これは数年に一度、数百もの変更を取り入れるのではなく、変更がより正確かつ予測可能なペースで行われることを意味します。

    Making Java even more open

    開発者の生産性を向上するために、以前は有償ライセンスでのみ利用可能だった商用機能をオープンソース化しました。これにより、Oracle JDKとOracle OpenJDK(つまりOracleがビルドしたOpenJDKバイナリ)リリース間の互換性が大幅に向上しています。以前有償機能だったもののうち、OpenJDKで利用可能なものとして、Application Class Data Sharing、Project ZGC、Java Flight Recorder (JFR)、Java Mission Control (JMC)などがあります。そして最近、OracleはJMCテクノロジーをOpenJDKとOracle JDKの両方のユーザーが利用できるようにするため、別のダウンロードとして提供する計画を発表しました。
    Java Mission Control - Now serving OpenJDK binaries too!
    https://blogs.oracle.com/java-platform-group/java-mission-control-now-serving-openjdk-binaries-too
    https://orablogs-jp.blogspot.com/2018/08/java-mission-control-now-serving.html

    Introducing the Java SE Subscription

    Oracleは今夏、Java SE Subscriptionを発表しました。
    A Quick Summary on the new Java SE Subscription
    https://blogs.oracle.com/java-platform-group/a-quick-summary-on-the-new-java-se-subscription
    https://orablogs-jp.blogspot.com/2018/06/a-quick-summary-on-new-java-se.html
    このモデルは、本番環境でJavaを実行している、世界中の数百万の企業に対するあらゆるJava SEライセンスとサポートへのニーズをカバーするものです。このサブスクリプションは、商用サポートを必要としない開発者および組織が利用可能な長年にわたる無料のOracle OpenJDKを補完します。
    Java SE Downloads
    https://www.oracle.com/technetwork/java/javase/downloads/index.html
    6ヶ月リリースサイクルで最初のFeature Release(機能リリース)であるJava 10から6ヶ月後にOracleはJava 11をリリースしています。

    Oracleは、Oracle OpenJDKリリースでGNU General Public License v2, with the Classpath Exception (GPLv2+CPE)を使ってJDKを提供するだけでなく、Oracle製品やサービスの一部としてOracle JDKを利用のお客様やオープンソースソフトウェアを利用したくないお客様のため、商用ライセンスの下でJDKを提供します。これらは、無料と有償の取引条件の組み合わせであるこれまでの "BCL"ライセンスに取って代わるものです。
    Oracle JDK Releases for Java 11 and Later
    https://blogs.oracle.com/java-platform-group/oracle-jdk-releases-for-java-11-and-later
    https://orablogs-jp.blogspot.com/2018/09/oracle-jdk-releases-for-java-11-and.html
    つまり、ユーザーがJava 11を自身のニーズにあわせることができる、ということです。
    1. Java 11は長期サポート(LTS)リリースです。つまり、プラットフォームの採用に慎重な、長期サポートを必要とするユーザーは、Java SE Subscriptionを通じてOracle JDKバイナリのライセンスを取得できるため、ユーザーは少なくとも8年間はJava 11 LTSリリースのアップデートを入手できます。サブスクリプションにより、テストならびに動作保証が済んだ、Java SEのパフォーマンス、安定性、およびセキュリティーに関するアップデートをOracleから直接入手できますし、その他の利点として、24時間365日のMy Oracle Support(MOS)へのアクセスと27言語でのサポート、Java SE 8 Desktopの管理、監視、デプロイ機能も利用できます。
    2. 新しい機能拡張に迅速にアクセスしたいユーザーのみなさまは、引き続きOracle OpenJDKリリースを利用できます。Java 9およびJava 10の場合と同様に、このリリースのユーザーは、Oracleが提供する徹底的にテストされた、オープンソースのOpenJDKビルドを入手できます。
    Java 11では17個の機能拡張が含まれています。
    JDK 11
    http://openjdk.java.net/projects/jdk/11/
    一部をご紹介しましょう。
    1. JEP 321 - HTTP Client (Standard)
      http://openjdk.java.net/jeps/321
      JDK 110によってJDK 9で導入され、JDK 10で更新されたHTTP Client APIを標準化しました。
    2. JEP 332 - Transport Layer Security (TLS) 1.3
      http://openjdk.java.net/jeps/332
      TLS 1.3はTLSプロトコルの大幅な改良であり、以前のバージョンよりも大幅にセキュリティとパフォーマンスが向上しました。
    3. JEP 328 - Java Flight Recorder (JFR)
      http://openjdk.java.net/jeps/328
      JFRはミッションクリティカルなJavaアプリケーションのトラブルシューティングのための、高性能な実行情報の記録エンジンと低オーバーヘッドのデータ収集フレームワークです。
    4. JEP 333 - Project ZGC
      http://openjdk.java.net/jeps/333
      ZGCは実験的ではあるものの予測可能な低レイテンシのガベージ・コレクタ(GC) で、比較的小さな(数百MB)から非常に大きな(数TB)までの範囲のヒープを処理できます。
    5. JEP 330 – Launch Single-File Source-Code Programs
      http://openjdk.java.net/jeps/330
      Java入門者が感じるJavaの敷居を下げるため、スクリプトや関連する方法からの利用を含む、単一ファイルのJavaソースコードとして提供されるプログラムを実行するようにJavaランチャーを機能強化しました。
    Java 11が一般提供されたので、開発は次の6ヶ月先の機能リリース、Java 12(2019年3月出荷予定)に移行しました。現時点では2つの機能拡張が予定されていますが、作業が完了するにつれさらに追加される可能性があります。
    JDK 12
    http://openjdk.java.net/projects/jdk/12/
    世界中で1,200万人の開発者がJavaを実行しており、Javaは、ソフトウェアプログラマが選択するプログラミング言語の第1位であり続けています。また、Java 11が示すように、継続的な計画とエコシステムの関与を通じて、Javaプラットフォームは、クラウドでのモダンな開発と成長に適しています。

    [Cloud, Integration] Using a Library in OIC

    原文はこちら
    https://blogs.oracle.com/integration/using-a-library-in-oic

    Introduction

    Oracle Integration Cloud(OIC、以下OICと省略)におけるライブラリは、JavaScript関数を含む単一のファイルもしくは複数ファイルをJARの形で束ねたものです。ライブラリは統合の中で利用され、JavaScriptエンジンがサーバで統合フローの中で実行します。

    このエントリでは以下の内容について説明します。
    1. 統合の中で利用するにあたって必要とするJavaScript関数に対する要求事項
    2. ライブラリを作成するために適したJavaScriptファイルやJavaScriptファイルのコレクションの作成方法

    1. JavaScript function requirements

    OICで登録ができ、正しく動作可能なJavaScriptに対する要求事項は以下の通りです。

    1.1 Function return values should be named

    以下の例を考えます。
    function add ( param1, param2 ) {
      return param1 + param2;
    }
    上記の例は完全にJavaScript関数として正しいのですが、OICのライブラリとして登録できません。その理由は、名前付きの戻り値がないためです。これがないと、ライブラリメタデータ・エディタは関数が戻すパラメータを識別できず、結果として統合のダウンストリームアクティビティにマッピングするためのマッパーで利用できません。

    OICで利用するためには、上記関数を変更し、以下のように戻り値のパラメータに名前を付ける必要があります。
    function add ( param1, param2 ) {
      var retValue = param1 + param2;
      return retValue;
    }
    この場合、戻り値のパラメータには retValue という名前が付いています。この変更により、ユーザーは戻り値をダウンストリーム・アクティビティにマッピングできるようになります。

    1.2 Inner functions

    JavaScript関数が別の関数を内部で定義している場合、OICのライブラリメタデータ・エディタは内部関数を識別しませんので、内部関数用にメタデータを作成しません。関数用のメタデータを作成しない場合にはOICで当該関数を利用できませんが、内部関数はその外側にある関数内で利用することは可能です。
    function parseDate(d) {
     function foo(d) {
        if(typeof d === 'string') { 
           return Date.parse(d.replace(/-/g,'/')); 
        }
        if(!(d instanceof Array)) { 
           throw new Error("parseDate: parameter must be arrays of strings"); 
        }
        var ret = [],k;
        for(k=0;k<d.length;k++) { 
           ret[k] = foo(d[k]); 
        }
        return ret;
     }
     var retVal = foo(d);
     return retVal;
    }
    上記の例の場合、 foo() を関数 parseDate() の中で定義しているため、メタデータUIエディタはfoo()を無視し、外部関数parseDate()のみを構成できますが、関数として問題ないため、parseDate()内でfoo()を利用します。

    1.3 Long running functions

    JavaScript関数の実行は最大1500msを超えてはいけません。(依存関係を含めて)関数の実行がこの閾値を超過した場合、自動的にサーバがプロセスをKILLし、1500msを超えたためにフローをKILLした旨をログメッセージに書き出します。

    1.4 Input parameter types

    OICは現在String、Number、Booleanの入力パラメータおよび戻り値のみをデータ型としてサポートしています。JavaScriptが異なるオブジェクト型、例えばArrayやDate型を利用する場合、サポートされているデータ型のいずれかであることを期待される入力パラメータを関数が期待するデータ型に変換する必要があります。以下はArray型の入力を取り扱う例です。

    1.4.1 Array Input Type

    以下の配列処理の例を考えます。
    function myArrayProcessor(myArray) {
     var status = 'FAILED';
     for (i=0; i<myArray.length; i++) {
     
     }
     return status;
    }
    サポートされるパラメータ型にArrayは含まれていないため、このコードを以下の例のように変更する必要があります。
    function myArrayProcessor(myArray) {
     var status = 'FAILED';
     var data = myArray.replace(/'/g, '"');
     myArray = JSON.parse(data);
     for (i=0; i<myArray.length; i++) {
     
     }
     return status;
    }
    この関数のメタデータを構成する際にはStringとして入力データ型をマークし、統合内の関数を使う際に入力文字列を解析して関数内でArrayに変換します。

    2. Creating library using a JavaScript file or multiple files

    2.1 Using single JavaScript file

    単一のJavaScriptファイルを使ってライブラリを作成するのは簡単ですが、その単一ファイルに全ての依存関係を含める必要があります。関数が別の関数に依存している場合、依存関係のある関数が同一ファイル内に存在していなければなりません。ライブラリ登録時には、統合内で利用するために必要な関数のメタデータのみ編集すればよいのです。もし依存関係を満足するために存在する別の関数を構成する必要はありません。

    以下の相互依存関係にあるJavaScript関数の例を考えます。
    function funcOne(param1) {
     return param1;
    }
    
    function funcTwo(param2){
     return param2
    }
    
    function myFunc(param1, param2) {
     var ret = funcOne(param1) + funcTwo(param2);
     return ret;
    }
    この例では、funcOne() とfuncTwo() を myFunc() が利用しています。このライブラリのメタデータを構成する際には、統合内で利用できるmyFunc()関数のみを構成すればOKです。


    2.2 Using multiple JavaScript files

    ライブラリを複数のJavaScriptファイルを基にして作成できます。複数ファイルを使う場合、JARファイルの形で全てのファイルを束ねて、JARファイルをライブラリとして登録する必要があります。

    例として、EncodeAndDecodeライブラリを考えます。これは、Base64エンコードおよびデコードのスキームを使ってエンコード、デコードを実施するものです。

    ライブラリは2個のファイル、Base64.js(Base64エンコードおよびデコードのロジック)とEncrypt.js(Base64.js内の関数に依存するラッパー関数)から構成されています。エンコードとデコードのラッパー関数を統合内で利用します。両ファイルともJARファイルに含まれており、このJARファイルを使ってライブラリを作成します。

    上図のように、ライブラリを利用するために、Encrypt.jsファイル内のencode関数とdecode関数のメタデータを構成します。

    3. Debugging JavaScript in a library

    時間が経つと、JavaScriptライブラリのサイズと複雑さが増す可能性があります。JavaScriptライブラリのデバッグというと、通常はブラウザでのJavaScriptのテストで、問題なく動作することを確認したらライブラリとしてコードをリリースします。しかしこのやり方では、動作しないことがあります。その理由は、ブラウザが最新のJavaScriptバージョンをサポートする新しい実行エンジンで定期的に更新されていること、そして一般にブラウザエンジンは多くのコードエラーを無視するという点でより自由であるのに対し、OIC内のJavaScriptエンジンはより厳格だからです。
    J avaScriptコードをデバッグするためには、以下のサンプルコードのようにCXConsole()のインスタンスを利用できます。
    function add ( param1, param2 ) {
     var console = new CXConsole();
     var retValue = param1 + param2;
     console.log("# retValue: ", retValue);
     console.warn("# retValue: ", retValue);
     return retValue;
    }
    上記コードのログメッセージはserver-diagnostic.logファイルに書き込まれます。

    [Cloud] Oracle Cloud Infrastructure Terraform Provider Now Supported by HashiCorp

    原文はこちら。
    https://blogs.oracle.com/cloud-infrastructure/oracle-cloud-infrastructure-terraform-provider-now-supported-by-hashicorp

    Terraformの公式プロバイダとしてご利用頂ける、Oracle Cloud Infrastructure用のHashiCorp Terraform Providerをすぐにご利用頂けることを発表できうれしく思っています。
    Oracle Cloud Infrastructure Provider
    https://www.terraform.io/docs/providers/oci/index.html
    HashiCorpとのパートナーシップ、そしてInfrastructure-as-Codeの旅でお客様をサポートできることにわくわくしています。

    ここ数ヶ月にわたり、TerraFormへ多大な投資をした結果、全てのOracle Cloud Infrastructureリソースに対するTerraformを使ったプロビジョニングをサポートできるようになりました。Oracle Cloud Infrastructure ProviderはTerraform 0.10.1以後との互換性があります。以下はTerraformプロバイダがサポートする主要なリソースです。
    • Block Volumes
    • Compute
    • Container Engine
    • Database
    • File Storage
    • Identity and Access Management (IAM)
    • Load Balancing
    • Networking
    • Object Storage
    サポート対象のリソースの詳細リストや使い方などの詳細情報は、以下のURLからどうぞ。
    Oracle Cloud Infrastructure Provider
    https://www.terraform.io/docs/providers/oci/index.html
    TerraformやOracle Cloud Infrastructure providerのことを余りご存知ないお客様は、構成時にterraform initを実行してください。このコマンドでプロバイダを自動的にダウンロードします。

    以前のバージョンを利用しており、最新バージョンにアップグレードしたいお客様は、手作業でインストール済みのプロバイダを削除するか、構成ファイルで3.0.0を指定した上で、terraform initを実行する必要があります。詳細は、アップグレードガイドをご覧ください。
    Terraform OCI Provider Version 3
    https://www.terraform.io/docs/providers/oci/guides/version-3-upgrade.html
    Oracle Cloud InfrastructureでComputeインスタンスを作成するEnd-to-Endの例は、以下のサンプルをご覧ください。
    Terraform Provider for OCI - Manage instances with multiple attached volumes
    https://github.com/terraform-providers/terraform-provider-oci/tree/master/docs/examples/compute/instance
    このリリースに続いて、Oracle Cloud Infrastructure用のTerraformモジュールが公式のTerraform Module Registryで公開される予定です。このモジュールを使うと、お客様がよく使われるOracle Cloud Infrastructureの構成の発見、展開が簡単になります。
    Terraform Module Registry
    https://registry.terraform.io/ 
    このリリースに関する詳細は、以下のリソースをチェックしてください。