AWSは自動化されたCodeGuruツールにPythonサポートを追加し、価格を大幅に引き下げたが、10万行を超えないようにした。

Table of Contents

AWSは自動化されたCodeGuruツールにPythonサポートを追加し、価格を大幅に引き下げたが、10万行を超えないようにした。

AWS は、自動コードレビューシステム CodeGuru での Python サポートが本番環境に対応し、価格を「最大 90%」引き下げることを発表しました。

2019年後半にCodeGuruのプレビュー版を初めて見た時は、がっかりしました。推奨事項を提示してもらうのに苦労し、コード100行あたり0.75ドルという価格は高すぎると感じました。とはいえ、バグやセキュリティ問題が本番環境に持ち込まれるのを防ぐ問題を発見できるのであれば、どんなコードレビューシステムでも十分に価値があります。

それ以来、AWSは数々の改善を行っており、昨年12月にはJavaに加えPythonサポートのプレビュー版も提供しました。「大規模なコードコーパスとPythonドキュメントを分析し、見つけにくいコーディング上の問題を特定し、ベストプラクティスの推奨事項を提供できるよう検出機能をトレーニングしました」と同社は述べています。

ただし、開発者が「リポジトリ全体のスキャン」を2回以上実行すると、1スキャンあたり10ドルの追加料金が発生する。

Python サポートは現在一般提供されており、AWS は、CodeGuru が識別できる問題のカテゴリを参照する 40 を超える新しいルールと 3 つの新しい検出器によってカバレッジが拡張されたと述べています。

新しい検出機能は、コードの複雑さ、入力検証、リソースリークなどを特定すると謳うコード保守性に対応しています。これらは、AWS APIの正しい使用方法、JavaおよびPythonのベストプラクティス、同時実行の問題、機密情報の漏洩、一般的なコーディングエラー、不要な重複コードといった既存の検出機能に加えて提供されます。

同社はCodeGuruの価格設定も見直しました。これは、旧モデルでは高額になる可能性があったためです。コード分析の仕組みは、開発者がサービスをコードリポジトリに関連付け、コードのコミットによって分析が実行されるというものでした。

サポートされているリポジトリは、あまり使用されていない AWS CodeCommit、Atlassian Bitbucket、GitHub(クラウドとセルフホストの両方)、および Amazon S3 にダンプされたコードです。

AWS は今週、新しい料金モデルは「[顧客の] オンボードリポジトリ全体のコードの総行数によって決まる固定の月額料金」であり、最初の 10 万行のコードに対して月額 10 ドル、追加の 10 万行ごとに 30 ドルが課金されると発表した。

コードを追加しても価格が下がるのではなく上昇する理由は不明ですが、コードの肥大化を抑制する効果があるのか​​もしれません。ただし、開発者が「リポジトリのフルスキャン」を2回以上実行すると、スキャンごとに10ドルの追加料金が発生します。

リスニング

もう一つ、注意点があります。テクノロジー大手が「AIがあなたの話を聞いている」と言うとき、それは人間があなたの話を聞いているという意味です。Facebook、そうですよね?

続きを読む

こうした注意事項にもかかわらず、このサービスは以前よりもずっと手頃な価格になっているようだ。同社は「最大90パーセントの値下げ」と述べている。

これは素晴らしいように聞こえますが、一部のユーザーは、早期プレビューで発生した問題、つまりCodeGuruが全く推奨事項を提示してくれないという問題に依然として悩まされているようです。AWS開発者フォーラムでのこのディスカッションでは、「10万行近くのコードベースに対して、推奨事項はたった4つしか提示されませんでした。どれも関連性がありません」と述べられています。

この種の自動コードスキャンでは、適切なバランスを取ることが困難です。開発者が何千もの推奨事項を目にした場合、それらは無視されてしまう可能性があります。推奨事項がほとんど、あるいは全くない場合は、サービスが正しく機能していないという強い疑いが生じます。

これは競争の激しい市場です。数多くの静的解析ツールが存在し、Eclipse、IntelliJ IDEA、Visual StudioなどのIDEには組み込みツールが付属しています。これらのツールはAWS SDKのベストプラクティスを取り入れることはできず、AWS機械学習のリソースも活用していません。しかし、価格が下がった今、有用な推奨事項をどれだけ効果的に提供できるかが重要な課題となっています。®

Discover More