OSSのサーバーレスプラットフォーム「Fn Project」、Javaを倍速にする「JIT as a Service」~クラウドネイティブ最新事情【Oracle Code One 2018】
2018年10月にサンフランシスコにて行われたディベロッパー向けの総合技術イベント「Oracle Code One 2018」。JavaOneから改称された今回、Java以外の技術をテーマとしたキーノートが初めて開催されました。主たるテーマとして設定されたのは、「クラウドネイティブ」です。当記事では、詳細なセッションレポートに加え、特別インタビューやデモの紹介により、クラウドネイティブの最新情報を多角的にお届けします。さらにレポートの後半は、毎年恒例の「お遊戯会」の様子や、大活躍した日本人開発者のエピソードなど、現地レポート最終回にふさわしい盛りだくさんの内容を揃えました。技術情報とともに、お祭りイベントの興奮をお楽しみください。
本記事はOracle Code Oneレポートの第3回ですが、単体で読める構成にしています。
Day2 Keynote:Building for the Cloud
二日目のセッションは「クラウドネイティブ」そのものをテーマにした二部構成です。流れとしては、まずCNCF代表者によるクラウドネイティブについての概括的なガイドがあり、続けてOracleからそれにのっとったアプリケーションがデモンストレーションされました。
このレポートでは省略していますが、セッションに続けてOracle Groundbreaker Awardsの表彰と、受賞者によるパネルディスカッションも行われました。その様子はこちらで確認できます
クラウドアプリケーションにおける「次世代」のビジョン
モデレーターのAmit Zavery氏(Executive Vice President、Product Development、Oracle Cloud Platform)からキーノートの前段として、「次世代」のクラウドアプリケーションとは何か、という説明がなされました。旧来のモノリスからマイクロサービスへ転換していく現在のクラウドアプリケーションは、次世代においてサーバーレスのさらなる活用へ。サイロ化(縦割り化)していた組織をDevOpsにする道筋は、さらにNoOpsという最適化へ。そしてUXはWebからモバイルネイティブアプリへの変遷を経て、次世代トレンドとしてFacebook MessengerやSlackといった共通UIを用いたチャットボット(及びAlexaやSiriなどの音声コミュニケーション)の活用へと進むという予測が語られました。
その流れの中で重要性を増し、さらに普及していくのがOSS活用であると言います。OSSはより多くのアーキテクチャにおいて活用されると言及した上で、Oracle CloudはSalesforceやMicrosoft、SAPなどの他社サービスも扱えるだけでなく、OSS活用にも対応していることを強調。その上で、OracleもPlatinum Memberとして参画しているCNCF(Cloud Native Computing Foundation)のVPであるDee Kumar氏(Vice President、Marketing & Developer Relations、Cloud Native Computing Foundation)にスイッチしました。
クラウドネイティブアプリを作るための方法論「Cloud Native Trail Map」
Dee氏から語られたのは、主にCNCFを知らない方向けのプロモーションのような紹介でした。Kubernetesによって始まったCNCFの歴史に始まり、コードファーストによる企業のコラボレーションという文化について。そして、貢献しあうことで互いに利益を享受し成長を続けるエコシステムといった、コミュニティ活用による開発の有用性を説明。その上で、クラウドネイティブの道をたどるための方法論である「Cloud Native Trail Map」を紹介しました。これは、クラウドネイティブに関する方法論の体裁をとりながら、CNCFがホストする数多くのプロジェクトが、それぞれどのステップに対応するかを整理したマップでもあります。その内容は、クラウドネイティブアプリケーションの開発手順のおさらいに使えるだけでなく、全20あるCNCFプロジェクトの位置づけを確認する上で有用でもありますので、各ステップをざっと紹介しましょう(ステップ名の横に関連プロジェクト名を付記します)。
注意
資料は講演時から一部更新が入っていたため、最新であるv20181211版に準拠した説明としています
-
Step 1:Containerization
- あらゆるアプリケーションのコンテナ化(アプリケーションのサイズを問わない)
-
Step 2:CI/CD
- ビルド、テスト、デプロイ(ケースによっては本番稼働まで)の自動化
-
Step 3:Orchestration & Application Definition(Kubernetes、Helm)
- コンテナオーケストレーションツールの導入
-
Step 4:Observability & Analysis(Open Tracing、Prometheus、Fluentd、Jaeger)
- 可観測性。モニタリング、ロギング、分散トレーシングの導入
-
Step 5:Service Proxy、Discovery、Mesh(Envoy、Linkerd、CoreDNS)
- サービス検出、死活監視、ルーティングの実施
-
Step 6:Networking(CNI)
- よりフレキシブルなネットワーク設定
-
Step 7:Distributed Database & Storage(Vitess、Rook、etcd)
- よりレジリエンス(回復力)が高くスケーラブルな分散データベース
-
Step 8:Streaming & Messaging(gRPC、NATS)
- JSONとRESTを利用したシステムよりさらに速いパフォーマンスの実現
-
Step 9:Container Registry & Runtime(Harbor、containerd、rkt)
- コンテナのイメージ保存・公開と、ランタイムにおける複数の選択肢の確保
-
Step 10:Software Distribution(Notary、The Update Framework(TUF))
- セキュアなソフトウェア配布
昨年までJavaの祭典であったことを意識してか、Dee氏は最後にJava ChampionであるArun Gupta氏の言葉を引用し、OSSコミュニティの重要性を強調して締めました。
次世代クラウドアプリケーション、その実物デモ
クラウドネイティブに関する説明のセッションのあとに続けて行われたのは、実際のクライドネイティブアプリケーションのデモです。OracleのMatthew Baldwin氏(Director, Product Management, Oracle Cloud Platform)が登壇し、チャットボットやサーバーレスを使用した中古車売買アプリケーションの実演が行われました。
デモを終えた後、採用した技術の根拠にも言及されました。まず、なぜチャットボットか。それは、「会話」という仕組みが最も一般的なインタフェースになるという予測によるものです。「クラウドファースト」「モバイルファースト」という言葉に取って代わる存在となる「会話型AIファースト」、これが最優先事項であり、最重要課題となると予測していると言います。チャットツールは、対人コミュニケーションの場面においてその利便性からすでに普及・流行しており、AIで自動対応が可能となればその流れを引き継ぐことができる、それが最優先事項の根拠です。そして最重要課題でもある理由は、複数のチャットアプリやスピーカーへの対応という煩雑さがまず一点。加えて言語処理やセキュリティ、ダイアログデザインなどにおける実装の複雑さが挙げられ、それらの対策としてOracle Cloudの提供するソリューション活用を推奨するトークにつなげました。
また、もうひとつの採用技術であるサーバーレスについても、デモで活用したFn Projectと呼ばれるOSSについて解説がありました。これについては、デモを含めた特別インタビューにて、より詳しい説明をいただいています。Day 2キーノートの紹介はちょうどここまでとなりますので、続けてそちらのインタビューに移りましょう。
この記事は参考になりましたか?
- 「Oracle Code One 2018」レポート連載記事一覧
-
- OSSのサーバーレスプラットフォーム「Fn Project」、Javaを倍速にする「JIT...
- 「Java 8はいつまで使い続けていいんですか?」Georges Saab氏に聞いたJav...
- 「Java is Still Free」――Javaのサポート問題へ終止符、迎える4つの進...
- この記事の著者
-
西野 大介(SOMPOホールディングス株式会社)(ニシノ ダイスケ)
SOMPOホールディングス株式会社デジタル戦略部(SOMPO Digital Lab)勤務。損保ジャパン日本興亜グループにおける先進技術の研究開発を担当。過去には基幹システムの開発にも従事し、SoR/SoE双方の開発において幅広い経験を持つ。本業以外では、CodeZineの連載をはじめ、国内/海外の各種カンファレンスへの登壇や企業向けの講演にてテクノロジー情報を幅広く提供している。主な登壇実績:IBM THINK(米ラスベガス)、Java Day Tokyo、IBM THINK Ja...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
