[レポート] DEV325-R1: 最近のAWSにおけるJavaエコシステムの機能紹介とハンズオン #reinvent
はじめに
本記事はAWS re:Invent 2018のセッション「DEV325-R1 Hands-on in the AWS Java Ecosystem」のレポートです。
The AWS SDK for Java 2.0 includes a number of new features and performance improvements. Using real code examples, we'll build a serverless application that makes use of the SDKs new HTTP2-based event-streaming APIs and deploy it using AWS Java tooling introduced in 2018. You'll learn what's new in 2.0 and the benefits of upgrading, as well as how to take advantage of new tooling in AWS's already rich Java ecosystem.
発表では以下の機能についての紹介とデモが行われました。
- AWS SDK for Java(v2)
- HTTP/2 双方向ストリーミング
- Cloud Development Kit(CDK)
- Toolkit for JetBrains
- AWS LambdaのSDK初期化高速化
- Amazon Corretto(AmazonのサポートするOpenJDK)
スピーカー
- Kyle Thomson - Senior Software Development Engineer
- Sam Fink - Software Development Engineer, AWS
レポート
AWS Toolkit for JetBrains
JetBrainsのIDEでAWS Toolkitが利用できるようになりました。
現在は開発者向けのプレビュー版が利用可能です。
アーリーアクセス版のJetBrains plugin repositoryはこちらです。 また、ソースからビルドすることが可能です。
以下のようにビルドしてIDEにプラグインをインストールすることで利用可能になります。
git clone git@github.com:aws/aws-toolkit-jetbrains.git cd aws-toolkit-jetbrains ./gradlew buildPlugin
AWS Toolkit for JetBrainsはオープンソースで、We need you!とのことです。
機能について
AWS Toolkitは以下の機能にフォーカスしています。
- サーバーレス
- AWS Lambda
- AWS SAM CLI Integration
- Local debugging
- 基本的なリソースとクレデンシャルの管理
- サーバーレスアプリケーションサポート(comming soon!)
セッションでは以下の流れでデモが行われました。
- サーバレスアプリケーションの雛形をIDEから自動生成
- 設定からLambdaの入力リソースを選択し、テスト実行
- IDEからAWS Lambdaへのデプロイ
- IDEからデプロイしたLambdaを実行
AWS Java SDK v2
AWS Java SDK v2が2018年11月19日にGAとなりました。
セッションでは以下の機能紹介が行われました。
- ブロッキングしない非同期サービスのクライアント
- BuilderパターンによるImmutability
- HTTPクライアントを指定
- Consumerビルダーパターンでの設定
- SDKの起動高速化
- これによりAWS Lambdaでの利用がしやすくなった
- 実行時はJacksonのオブジェクトマッパーを削除
- HTTPクライアントとしてURLConnectionを利用
- コンパイル時にリソースを作成
- モジュール化
また、ローカルのマイクで入力した音声をリアルタイムでAmazon Transcribeに送り、書き起こしたテキストをリアルタイムにコンソールに出力するデモがありました。
Amazon TranscribeのSDKを利用したストリーミングのJavaコードの例はこちらで紹介されています。
その他の変更点は1.11 to 2.0 Changelogを参照ください。
Cloud Development Kit(CDK)
CDKによってJavaのコードからCFnのテンプレートを生成するデモがありました。
CDKでは弊社ブログでも紹介していますのでこちらも参照ください。
【awslabs探訪】AWS Cloud Development Kit (AWS CDK)を使ってみた
また、re:Invent 2018でもCDKのセッションがありました。弊社レポートブログはこちらです。
[レポート] DEV372 – Infrastructure Is Code with the AWS Cloud Development Kit #reinvent
Amazon Corretto
AmazonがOpenJDKの実装をサポートします。
- マルチプラットフォーム
- 無料
- LTS Support
- Corretto 8は2023まで
- Corretto 11は(少なくとも)2024まで
- 現在はプレビュー版で、2019 Q1にGAの予定
- オープンソース(GitHub)
- More Info(Amazon Corretto)
まとめ
最近のAWSにおけるJavaエコシステムの機能紹介についてのセッションでした。以下の内容についての言及がありました。
- AWS SDK for Java(v2)
- HTTP/2 双方向ストリーミング
- Cloud Development Kit(CDK)
- Toolkit for JetBrains
- AWS LambdaのSDK初期化高速化
- Amazon Corretto(AmazonのサポートするOpenJDK)