週刊アスキー

  • Facebookアイコン
  • Xアイコン
  • RSSフィード

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

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

 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のベストプラクティスとワークロードを照らし合わせたり、最新のベストプラクティスに基づくアドバイスを提供する。また、ワークロード特有のリスクも確認できる。

■関連サイト

この記事をシェアしよう

週刊アスキーの最新情報を購読しよう

本記事はアフィリエイトプログラムによる収益を得ている場合があります