このページの本文へ

LambdaがRuby対応、IDE向けツールキット提供など提供へ

好きな言語や開発環境を選べるAWSのサーバーレス

2018年12月06日 07時00分更新

文● 大谷イビサ/TECH.ASCII.jp 写真提供●Amazon Web Services

  • この記事をはてなブックマークに追加
  • 本文印刷

 AWS re:Invent 2018の4日目に登壇したヴァーナー・ボーガスCTOの基調講演では、2時間のうちかなりを費やして、クラウドネイティブ時代のアプリケーション開発について説明された。後半に盛り込まれたのが、サーバーレスの選択肢を拡げる新サービスだ。

4日目の基調講演に登壇したAWS CTO ヴァーナー・ボーガス氏

 「AWSサービスの機能の95%のサービスが顧客からの声から生まれている」と語るボーガス氏。クラウドネイティブ時代のアプリケーション開発においては、統合開発環境、言語、プログラミングのスタイル、ワークフローなどさまざまな選択肢が必要だと説く。同日発表された11のサービスや機能強化は以下の通り。

Amazon Redshift Concurrency Scaling
Redshiftが苦手としていた何千もの同時クエリでも一貫したパフォーマンスを提供する。あらかじめバーストクラスターの数を指定しておけば、同時クエリが来た場合にはクラスターをスケールさせることができる。使用時は1秒ごとに課金され、不要になったら自動的に中断される。書き込みは通常通り行なえる。

AWS Toolkits for Popular IDEs
開発者の使っているIDE(統合開発環境)に向けたToolkitsの提供を強化する。PyCharm用のToolkitsの一般公開を開始し、VSCode用、InlelliJ用のToolskitは現在開発中。Python、Java、node.js、.NETなどの言語を使い、IDEでコードを生成し、デバッグやデプロイまで行なえる。すべてOSSとして公開されている。

AWS LamndaがRubyをサポート
サーバーレスコンピューティングの代表格であるLambdaがRuby対応。

AWS Lamnda Runtime API
Ruby対応を実現したAWS Lamnda Runtime APIも開始され、独自言語を持ち込むことが可能になった。第一弾としてC++、Rustのオープンソースランタイムが提供され、今後サードパーティのラインタイムを用いることで、PHPやErlang、COBOL、Elixir、Swiftなどにも対応する予定。

AWS Lamnda Layers
ファンクションにまたがって共有されるコードとデータを集中管理できるサービス。複数のファンクションで利用するコードをLambda Layerとして定義し、各ファンクションから参照できる。ファンクションごとの依存関係などを都度パッケージ化してデプロイする必要がなくなり、コードの再利用も促進される。

Nested Applications using Serverless Application Repository
複数のServerless Application Repository(SAR)を1つのアプリケーションとみなしてデプロイ可能になる。既存のSARを再利用でき、コードの一貫性を保つことが可能になる。

ALBがLambdaをサポート
ALBのターゲットとしてLambdaを登録できるようになった。ニーズに応じてAmazon EC2やAWS Fargate、AWS Lambdaを組み合わせることができ、既存のWebアーキテクチャにLambdaを組み込める。

AWS StepFunctions API Connectors
コードを記述することなく、AWSサービス同士のワークフローを設計できる。AWS Batch、Amazon ECS、AWS Fargate、AWS Glueのほか、Amazon DynamoDB、Amazon SNS、Amazon SQS、Amazon SageMakerなど8つのサービスと連携する。

WebSocket Support for API Gateway
LambdaファンクションとAPI Gatewayを組み合わせることで、リアルタイムな双方向通信を使ったアプリケーションを構築できる。WebSocket接続が確立されると、API Gatewayはコネクションの永続性を管理し、イベントに基づいてLambda関数をトリガーできる。接続されたクライアントにデータを送るためのコールバックエンドポイントも用意されているので、チャットなどのインタラクティブなアプリケーションを容易に構築できる。

Amazon Management Streaming for Kafka
分散ストリーミングプラットフォームであるApache Kafkaのマネージドサービス。フルマネージドなので、可用性の高いKafkaクラスターを実行できる。

Well-Architected Tools
ソリューションアーキテクトが使うツールを用いることで、アーキテクチャの改善に役立てることが可能になる。現在のAWSのベストプラクティスとワークロードを照らし合わせたり、最新のベストプラクティスに基づくアドバイスを提供する。また、ワークロード特有のリスクも確認できる。

■関連サイト

カテゴリートップへ

  • 角川アスキー総合研究所
  • アスキーカード