Amazon Web Services ブログ

Category: Java

あらゆる言語でのCDKアプリケーションのテスト

AWS Cloud Development Kit (AWS CDK)は、使い慣れたプログラミング言語でクラウドアプリケーションのリソースを定義するためのオープンソースソフトウェア開発フレームワークです。AWS CDKはインフラストラクチャをプログラミング言語で定義できるため、アプリケーションのコードと同様に、インフラストラクチャのコードに対しても自動化されたユニットテストを記述することができます。テストは効果的なDevOpsの実践のために重要な要素であり、インフラストラクチャのコードをテストすることで、AWSクラウドで期待通りのリソースを確実に作成することができ、リグレッションが発生するのを防ぐことができるなどのメリットがあります。 今日、私はAWS CDK用のassertions モジュールを発表できることを嬉しく思います。これはCloudFormationテンプレートを中心に、CDKアプリケーションに対してユニットテストを書くのに役立つように設計されたAPIのセットです。 すべての言語をサポート 以前のAWS Blogの記事では、JavaScriptとTypeScriptでのみ利用可能なassertモジュールを使ってテストを書く方法を説明しました。assertモジュールと同様に、新しいCDK assertionsモジュールは、CDKアプリによって生成(synthesize)されたCloudFormationテンプレートを正確に検証するためのAPIセットを提供します。さらに、新しいassertionsモジュールは、CDKがサポートするすべての言語に対応しています。

Read More

AWS SDK for Java 2.xにおけるGraalVM Native Imageのサポート

この記事は2021年2月23日に公開された GraalVM Native Image Support in the AWS SDK for Java 2.x を翻訳したものです。 AWS SDK for Java 2.x (バージョン 2.16.1 以降) で GraalVM Native Imageのコンパイルが標準でサポートされるようになったことをお知らせします。

Read More

Javaの階層型コンパイルによるAWS Lambda 関数のパフォーマンス向上

Operating Lambda: パフォーマンスの最適化 シリーズでは、AWS Lambda関数を使ってアプリケーションを管理している開発者、アーキテクト、システム管理者にとって重要なトピックを取り上げています。この記事では、Javaで管理するランタイムを使用する際に、新しくLambdaの実行環境を開始する場合に発生する初期化時間(コールドスタート)を短縮する方法について説明します。 多くのLambdaワークロードは、同期または非同期のワークロードに対して高速なレスポンスを瞬時に返すように設計されています。例えば、Webサイトに動的コンテンツを配信するパブリックAPIや、小規模なバッチ処理を行うニアリアルタイムのデータパイプラインなどが挙げられます。 これらのシステムの利用が増えると、Lambdaは新しい実行環境を作成します。新しい環境が作られて初めて使われるときには、イベントを処理できるようにするための初期化処理が行われます。これにより、初期化処理があるものとないもの、2つの異なるパフォーマンスプロファイルが作成されます。 レスポンスタイムを向上させるためには、この初期化処理の影響を最小限に抑えることが重要です。新しいマネージドJava実行環境の構築にかかる時間を最小化する方法の一つとして、JVMのチューニングがあります。JVMは、実行時間が長くないワークロードに特化して最適化することができます。

Read More

AWS SDK for Java 2.x 向け Amazon S3 Transfer Managerのご紹介

この記事は、”Introducing Amazon S3 Transfer Manager in the AWS SDK for Java 2.x” を翻訳したものです。 Amazon S3 Transfer Managerの開発者プレビューリリースを発表しました。Amazon S3 Transfer Managerは、AWS SDK for Java 2.x の Amazon Simple Storage Service  (Amazon S3) の高レベルファイル転送ユーティリティです。 Transfer ManagerのシンプルなAPIを使用することで、Amazon S3との間でオブジェクトのアップロードやダウンロードを高速に実行できるようになり、単一のオブジェクトをパートのセットとして同時に転送することで実現されるスループットと信頼性の向上の恩恵を受けることができます。

Read More

Amazon CodeGuru Reviewer アップデート : 新しい Java ディテクタと GitHub アクションと CI/CD の統合

Amazon CodeGuru では、コードレビューを自動化し、コード品質を向上させることができます。また、 4月に発表された新しい価格モデルにより、リポジトリのサイズ応じた、より低価格な月額固定料金で始めることができます。(最大で 90 % の低価格化)。CodeGuru Reviewer は、 AWS マネジメントコンソールや、AWS SDK、および AWSを使用して、Java および Python アプリケーションで見つけにくい潜在的な欠陥やバグを検出するのに役立ちます。 今回、 CodeGuru Reviewer がコードをパッケージ化してデプロイするために毎日使用するツールとネイティブに統合されていることをお知らせできることをうれしく思います。この新しいCI/CD エクスペリエンスにより、GitHub Actions を使用した構築プロセスのステップとしてコードの品質とセキュリティ分析をトリガーすることができます。

Read More

AWS Cloud Development Kit v2 開発者プレビューのお知らせ

AWS Cloud Development Kit (AWS CDK) v2が開発者プレビューとして、TypeScript、Python、Java、C#、Go言語で利用できるようになりました。AWS CDKは、使い慣れたプログラミング言語を使ってクラウドアプリケーションのリソースをモデル化し、プロビジョニングするためのオープンソースのソフトウェア開発フレームワークです。AWS CDKを使用すると、インフラストラクチャをコードとして定義し、AWS CloudFormationを通じてプロビジョニングすることができます。AWS CDKは、実績のあるデフォルト値で事前に設定された高レベルなコンポーネントを提供しているため、専門家でなくてもクラウドアプリケーションを構築することができます。また、組織の要件を組み込んだ独自のカスタムコンポーネントを構成して共有することができるため、チームが新しいプロジェクトを迅速に開始することができます。 2019年7月には、TypeScriptとPython向けのAWS CDK v1の一般提供を発表しました。それ以降、JavaとC#の追加言語のサポートをリリースし、Go言語バインディングの開発者プレビューをリリースしました。今回はv2のプレビューリリースを発表します。このリリースによりAWS CDKをより簡単に利用できるようになり、また今後のバージョンアップに対応することがより容易になります。 AWS CDK v1アプリケーションの最新マイナーバージョンからv2への移行は、比較的簡単です。まずAWSアカウントで再度ブートストラップ (cdk bootstrap) をする必要がありますが、これは各リージョンで一度だけの作業です。ほとんどのプロジェクトでは、インポート文を更新し、合成(synth) し、デプロイするだけで済みます。リソースに若干の変更があるかもしれませんが、リソースの作り直しが必要になるようなことはありません。 この記事では、AWS CDK v1とv2の間の変更点をご紹介します。

Read More

AWS App2Container – Java および ASP.NET アプリケーション用の新しいコンテナ化ツール

お客様は、コンテナとサーバーレステクノロジーを使用して新しいアプリケーションを開発することが多くなり、ソフトウェアデリバリーライフサイクルを自動化するために最新の継続的インテグレーションおよび継続的デリバリー (CI/CD) ツールを使用しています。また、手動で、または従来のシステムを使用して、構築および管理される多数の既存のアプリケーションを維持しています。異なるツールを使用してこれら 2 つのアプリケーションのセットを維持することで、運用上のオーバーヘッドが増加し、新しいビジネス機能の提供ペースが低下します。お客様は、既存のアプリケーションと新しいアプリケーションの両方について、管理ツールと CI/CD プロセスを可能な限り標準化できるようにしたいと考えています。その目的を達成するための最初のステップとして、既存のアプリケーションをコンテナにパッケージ化するオプションに目を向けています。 しかし、既存のアプリケーションをコンテナ化するには、アプリケーションの依存関係の識別、dockerfiles の書き込み、各アプリケーションのビルドプロセスとデプロイメントプロセスの設定など、手動による多くの作業を必要とします。これらの手動による作業は時間がかかり、エラーが発生しやすく、最新化に向けた取り組みの速度を低下させる可能性があります。 本日、当社は AWS App2Container をリリースします。これは、コードを変更することなく、オンプレミス、Amazon Elastic Compute Cloud (EC2)、または他のクラウドで実行されている既存のアプリケーションをコンテナ化するのに役立つ新しいコマンドラインツールです。App2Container は、サーバーで実行されているアプリケーションを検出し、それらの依存関係を識別して、Amazon ECS および Amazon EKS へのシームレスなデプロイのために、関連するアーティファクトを生成します。また、AWS CodeBuild および AWS CodeDeploy との統合を提供して、コンテナ化されたアプリケーションを繰り返し構築およびデプロイすることを可能にします。 AWS App2Container は、アプリケーションコンポーネントごとに、アプリケーションファイル/フォルダー、Dockerfiles、Amazon Elastic Container Registry (ECR) のコンテナイメージ、ECS タスク定義、Kubernetes デプロイ YAML、Amazon ECS または EKS にアプリケーションをデプロイする CloudFormation テンプレート、および AWS CodeBuild と CodeDeploy を活用する AWS Codepipeline でビルド/リリースパイプラインを設定するためのテンプレートといったアーティファクトを生成します。 本日より、App2Container を使用して、Windows […]

Read More

新発表 – AWS Toolkits for PyCharm、IntelliJ(プレビュー)、Visual Studio Code(プレビュー)

ソフトウェア開発者には好みの開発ツールというものがあります。パワフルなエディタを使う人もいれば、特定の言語やプラットフォームに最適化された統合開発環境(IDE)を使う人もいます。AWS Lambda のコンソールのエディタを使って、2014年に私は初めての AWS Lambda 関数を作りました。現在では、サーバーレス・アプリケーションをビルドしデプロイするためのツールの選択肢は豊富になりました。例えば、昨年 AWS Cloud9 がリリースされて AWS Lambda のコンソールのエディタ環境は大きく強化されました。.NET アプリケーションでは、 AWS Toolkit for Visual Studio と AWS Tools for Visual Studio Team Services を使う事ができます。 AWS Toolkits for PyCharm、IntelliJ(プレビュー)、そして Visual Studio Code(プレビュー) 今日、 AWS Toolkit for PyCharm の一般提供をお知らせします。また、 AWS Toolkits for IntelliJ と Visual Studio Code の開発者プレビューをお知らせします。これら(AWS Toolkits for IntelliJ と Visual Studio […]

Read More