Amazon は、コードを自動的にレビューしてプロファイルし、ボトルネックがどこにあるのか、AWS クラウドでどの程度のコストがかかるのかを調べることができる機械学習ツールを一般公開しました。
このサービスには、AmazonのCodeGuru ReviewerとCodeGuru Profilerが含まれており、昨年のAmazon re:Inventカンファレンスで発表されました。現在、両ツールは米国、アイルランド、英国、ドイツ、スウェーデン、シンガポール、オーストラリア、日本の一部の地域のAWS顧客に提供されています。
名前が示すように、このスイートは、APIが正しく使用されているか、Java言語の機能が期待通りに使用されているか、リソースリークやデッドロックが発生していないか、一般的なバグが発生していないかなどをチェックする機能を備えていると主張しています。また、ソフトウェアの実行時の動作を分析し、厄介なパフォーマンス異常を検出できるとも言われています。最も計算コストの高いコード行を特定し、AWSサーバー上で実行する際に効率を向上させるための編集を推奨するツールも提供されています。
「組織は、さらなる最適化が必要なアプリケーションを実行するために、必要以上にCPUとインフラストラクチャを消費するため、不必要に高いコスト(時には数千万ドル以上)を負担することがよくあります」と同社は述べています。
ある意味、これは Amazon が顧客の節約のために料金を請求しているということであり、別の言い方をすれば、これはおそらく Amazon がクラウド サーバー上の顧客ごとの負荷を軽減または最適化して、容量を増やしているということだ。
生成されたコード欠陥を見つけるための Azure ホスト型 AI – 機能するのでしょうか?
続きを読む
両ツールとも機械学習アルゴリズム、具体的には「ロジスティック回帰とニューラルネットワークの組み合わせ」を採用しているとのことです。これらのモデルは、ルールマイニングと教師あり機械学習を組み合わせてトレーニングされました。CodeGuru Reviewerは、Amazon自身の数十年にわたる社内コードレビューと、GitHub上の数千ものオープンソースプロジェクトを使用してトレーニングされました。「その結果、Reviewerがコードをレビューする際にベストプラクティスとして推奨する新しいルールセットが作成されました」と広報担当者はEl Regに語りました。
シアトルに拠点を置くこの巨大企業は、自社のアプリケーション3万件以上にCodeGuruを導入していると発表した。「Amazon.comのコンシューマーペイメントチームは、年間最大のショッピングデーであるプライムデーの効率向上を図るため、2017年から2018年にかけてAmazon CodeGuru Profilerを活用し、アプリケーション全体のCPU使用率を325%向上させ、コストを39%削減しました」と同社は誇らしげに語った。
CodeGuruは個々のアプリケーションごとにオン/オフを切り替えることができ、検査するコード100行ごとに0.75ドルの料金がかかります。料金は変更または追加されたコード行に対してのみ発生し、スイートが以前に処理したコード行には発生しません。つまり、10万行のコードベースを一度に処理する場合、750ドルかかります。Amazonはまた、開発者チームが平均500行のプルリクエストを200件、さらに25行の微調整を800件実行した場合、その期間の月額費用が900ドルになるという例を挙げました。これは、スキャンされた新規コードの総行数12万行を100で割って0.75を掛けた値です。
パフォーマンスプロファイリングなどのその他の料金については、こちらをご覧ください。®