AWSのAIによるコードレビューとパフォーマンスツールのCodeGuruが一般公開へ

AWSは米国時間6月29日に、コードレビューツールであるCodeGuru一般公開を発表した(Amazonリリース)。2019年12月に開催されたAWS re:Inventでプレビューをローンチした(未訳記事)。このツールセットは、機械学習を利用してバグを見つけ、また最適化のアドバイスを行う。

CodeGuruを構成する2つのツールであるReviewerとProfilerは、その名のとおりのツールだ。AWSのチームはReviewerを作るために、GitHub上の1万あまりのオープンソースプロジェクトのコードと、Amazon(アマゾン)自身の内部的なコードベースのレビューでアルゴリズムを訓練した。

今回の発表で同社は「アマゾンのような大きな企業でも、毎日書かれるコードの量は膨大であり、コードレビューに十分な時間を割ける経験豊富な開発者を確保することは難しい。しかも経験を積んだレビュアーでも問題を見逃すことがあり、アプリケーションが顧客の目の前で動き出してからバグやパフォーマンスの問題が現れることもある」と述べている。

CodeGuruを使う開発者は自分のリポジトリに継続的にコードをコミットするが、そのリポジトリはGitHubやBitbucket Cloud、AWS自身のCodeCommitなど何でもよい。CodeGuru Reviewerはそのコードを分析してバグを見つけ、見つかったらバグフィックスを提案する。この過程はすべてコードリポジトリに対して行われるため、例えばCodeGuruはGitHubのプルリクエストを作り、それにバグやフィックスに関する情報をコメントとして付けたりする。

機械学習のモデルを訓練するためにユーザーはCodeGuruにフィードバックを送れるが、それは主に「よい(thumbs up)」と「だめ(thumbs down)」だけだ。

CodeGuru Application Profilerは、目的がやや違う。それはコード中の非効率と思われる部分や、無駄なコードを探し出す。このツールはAWSのLambdaやFargateのようなサーバーレスのプラットフォームもサポートする。

最初に発表されたCodeGuruに後から加わった機能の1つとして、Profilerは最適化されていないコードに対して、その損失をUSドルの金額で表示する。

Amazon Machine Learningの副社長であるSwami Sivasubramanian(スワミ・シバスブラマニアン)氏は、発表で次のように述べている。「顧客は常に大量のアプリケーションを開発して動かしており、それらには何百万行ものコードが含まれている。それらのコードの品質と効率性を確保することは極めて重要だ。バグやほんの数行の非効率なコードでも、とても高くつくことがある。しかし今日ではコードの品質を見分ける方法には時間もかかり、手作業で行われているため大規模で行うとエラーも多くなる。CodeGuruは、Amazonの長年のアプリケーション開発とデプロイの経験に機械学習の専門的能力を組み合わせて、ソフトウェアの品質を改善しアプリケーションのパフォーマンスの向上と、無駄なコードの排除でお客様に喜んでいただけるだろう」。

AWSによると、すでに多くの企業がプレビューの期間にCodeGuruを使い始めている。AtlassianやEagleDream、DevFactoryなどの企業も含まれている。

Atlassianのエンジニアリング、テックチームのトップであるZak Islam(ザック・イスラム)氏は、次のように語っている。 「私たちの開発チームが行うコードレビューは、バグの未然の発見では良い仕事をしているが、強いストレスがあるときや、複雑な構造のデータを管理するときのシステムの振る舞いの予見をいつでもできるとは限らない。私たちのように毎日複数のデプロイが行われているところでは、なおさらだ。しかし完成コードに異変が生じたときでも、Amazon CodeGuruの継続的プロファイリング機能があれば、調査に要する時間を数日から数時間へ、数分へ減らすこともできる。現在では弊社のデベロッパーたちはエネルギーを、他社製品との差別化に注ぎ込むことができ、問題の調査に費やす時間をかなり減らすことができた」。

画像クレジット:AWS

画像クレジット: TechCrunch

原文へ

(翻訳:iwatani、a.k.a. hiwa

AWSのノーコードツール「Amazon Honeycode」はなぜ生まれたのか?

米国時間6月24日、AWSはAmazon Honeycode(アマゾン・ハニーコード)を リリースした。これはAmazon(アマゾン)クラウドサービスへのちょっとした迂回路を提供する、スプレッドシートのようなインターフェースを中心に構築されたノーコード環境だ。

結局のところAWSの目的は、開発者にアプリケーションを構築するために必要なすべてのツールを提供することだが、最終的には開発者がすべての要素を組み合わせなければならない。

一方でHoneycodeは、基本的な業務アプリケーションを開発したい非プログラマーにアピールすることを目的としている。もしスプレッドシートの操作方法を知っていて、それをアプリにしたい場合には、Honeycodeが要求に応えてくれるだろう。

このサービスの背後にあるAWSの動機を理解するために、AWSのVPであるLarry Augustin(ラリー・オーガスティン)氏とAWSのゼネラルマネージャーであるMeera Vaidyanathan(ミラ・ベイディアネイサン)氏に話を聞いた

「私たちにとって、これはAWSのパワーをお客さまの中のより多くのユーザー方々に拡大することなのです」とオーガスティン氏は説明する。「私たちはお客様から、常に解決したい課題があるのだという声を聞いています。そうしたお客様は、ご自身のITチームや、アウトソーシングを含む他のチームに対して、その課題を解決するアプリケーションの開発を任せたいとお考えです。しかし、問題はそれを解決できる開発者の数よりも、カスタムアプリケーションへの要求数の方が、とにかく上回っているということなのです」と続ける。

画像クレジット:Amazon

そうした点ではHoneycodeの背後にある動機は、Microsoft(マイクロソフト)がPowerAppsローコードツールで行っていることとそれほど異なっているわけではない。PowerAppsも結局のところ、Azureプラットフォームを必ずしもフルタイムの開発者ではないユーザーに開放するものなのだ。しかし、AWSはここでは少しだけ異なるアプローチをとっていてHoneycodeのノーコードの部分を強調している。

「Honeycodeに対する私たちの目標は、ビジネスの中心で基幹業務に関わる人、ビジネスアナリスト、プロジェクトマネージャー、プログラムマネージャーといった人たちが、自分たちの問題を解決できるカスタムアプリケーションを、コードを書く必要なく、簡単に作成できるようにすることでした」とオーガスティン氏は語る。「それが重要な要素でした。コーディングは必要とされていないのです。そこで私たちは、出発点として多くの人々がなじみのあるスプレッドシートのようなインターフェースを提供することで、それを実現することを選択しました」。

多くのローコード、ノーコードツールたちは、開発者に「コードに逃げ込む」(オーガスティンの言葉)ことも許すが、それはここでは意図されていない、例えばHoneycodeからコードをエクスポートして他の場所に移動するためのメカニズムは存在していない。

「Honeycodeを開発しているときに、私たちの心をよぎったのは、ああ、もし人々にやりたいことがあって、私たちが彼らにコードに逃げ込むことを許すことでそれ実現できるようになるのならという考えでした。私たちは何度も振り出しに戻って『うーん、じゃあどうやってコードに逃げ込むことを強制せずにそれを可能にできるのだろう』という問に答えようと努力し続けたのです。そこで私たちは、コードに逃げ込むことなく、大きな力を人びとに与えたいというマインドセットへと、自分たちを真剣に追い込んだのです」と彼は述べた。

画像クレジット:Amazon

とはいえ、経験豊富な開発者が他の場所からデータを取り込むためのAPIは用意されている。オーガスティン氏とベイディアネイサン氏は、企業たちがプラットフォーム上のユーザーのためにこれを行うか、AWSパートナーがこれらのインテグレーションを作成することも期待している。

ただし、こうした制限があったとしても、かなり複雑なアプリケーションを作成できるとチームは主張している。

「私たちはAmazon内で、さまざまなアプリを構築している多くの人々と話し合ってきました。そして私たちのチームの中でさえ、私は正直に言えば、まだ不可能だと思える事例に出会ったことはありません」とベイディアネイサン氏は言う。

「複雑さのレベルは、あなたがビルダー(構築者)としてどれくらいの専門家であるかどうかに本当に依存していると思います。アプリの中でデータを特定の形式で表示しようとすると、(スプレッドシートの中に)非常に複雑な式が現れることがあります。そして、決して作り話ではありませんが、入れ子に入れ子がひたすら重なって30行にも及ぶ複雑な式を書く人を見たこともあります。ですから、それはビルダーのスキルに依存していると私は本当に思っています。また、一度Honeycodeでビルドを開始すると、私自身もそうですが、単純なものから始めてだんだんと野心的になって、このレイヤーを追加したい、そしてあんなこともしたい、という具合になることに気が付きました。それは本当に私が目にしてきた、ビルダーたちの進歩の旅なのです。たった1つのテーブルと2、3の画面から始めて、意識しないうちに、ニーズに合わせて進化し続けるはるかに堅牢なアプリが得られるのです」。

Honeycodeを際立たせるもう1つの機能は、スプレッドシートがユーザーインターフェイスの中央に配置されることだ。そうした点からは、このサービスはAirtableのように見えるかも知れないが、その先それぞれのスプレッドシートがまったく異なる方向へ向かっていくことを考えると、見かけ上の比較は意味がないと思う。Retoolも比較の観点からも眺めてみた。こちらの方がより意味のある比較だと思う。しかしRetoolが相手にしているのはもっと高度な開発者であり、コードを隠すこともしない。とはいえ、これらのサービスがスプレッドシートを中心に構築されたのには理由がある。それは、誰もがそれらの使用方法に精通しているからだ。

「人びとは何十年もの間スプレッドシートを使用してきました」とオーガスティン氏は語る。「誰でも良く知っています。また、非常に複雑で、深く、非常に強力な式を記述して、とても強力なスプレッドシートを作成することができます。Honeycodeでも同じことができるのです。人びとがその比喩に十分に精通していることを私たちは感じたので、それをアプリに変える能力とともに、そのフルパワーを彼らに与えることができたのです」。

チーム自身もHoneycodeのリリースを管理するために、そのサービスを利用しているということを、ベイディアネイサン氏は強調した。そして製品名を投票するためにも用いたことも(ベイディアネイサン氏とオーガスティン氏は他にどんな候補があったのかは明かしてくれなかったが)。

「AWSの力を引き出し、それをプログラマーではない人びとの手に渡せるという点で、私たちはある意味、本当に革新的な製品を手に入れたのだと思います」とオーガスティン氏は語った。

原文へ

(翻訳:sako)

AWSがコードを書かずにウェブとモバイルのアプリが作れるAmazon Honeycodeを発表

米国時間6月24日、AWSはAmazon Honeycodeのベータ版をリリースしたことを発表した。これはコードをほんのわずか、もしくはまったく書かかずにアプリを作れるオンラインマネージド開発環境で、企業内で専用アプリを必要とするが自分で開発するリソースやスキルを持っていない人々の要望に答えるものだ。これを可能にしたのは自身の巨大データベースを誰でもドラッグ&ドロップで利用できるようにしたAWSのインターフェイス作成ノウハウの蓄積だという。

デベロッパーは、ユーザー20人までのアプリなら無料で開発できる。これを超えるときはユーザーの人数とアプリ使用するストレージに応じて課金される仕組みだ。

 AWSのバイスプレジデントを務めるLarry Augutin(ラリー・オーガスティン)氏は発表の際に「開発者のキャパシティはカスタムアプリのニーズにまったく追いつけないとカスタマーから言われている。そこでAmazon Honeycodeを使えば、ほとんどの人がコードを書く必要なしに強力なカスタム・モバイルアプリやウェブアプリを開発できる」と述べている。

この種のツールの常としてHoneycodeはTo-Doリスト、顧客追跡、調査、スケジュール、在庫管理などの一般的な業務のテンプレートを提供する。AWSによれば、従来多くの企業はスプレッドシートの共有でこうした業務を実行してきたという。

AWSは次のように指摘している。「スプレッドシートは本質的に固定的な表現力しかできないので、カスタマーはメールのやり取りでこの点を補おうとしてきた。しかしメールはスピードが遅く、メンバーが増えると加速度的に非効率化する。またバージョン管理やデータ同期で頻繁に誤りが起きる。このためメールの利用はかえって効率を低下させる場合が多かった。こういう場合、専用アプリケーションが必要となるが、特定業務のためのプログラミングのニーズは担当部署のエンジニアのキャパシティを上回ることが多かった。そこでIT部門が開発に取りかかれるようになるのを待つか、高価な料金を支払って外部の専門家にアプリケーションを開発させるか選ばねばならなかった」。

AWSは当然ながらHoneycodeによるアプリケーションのコアインターフェイスにスプレッドシートを選んでいる。これはカスタマーや実際にアプリを使うユーザーのほとんどがスプレッドシートの概念に馴染んでいるためだ。

ユーザーはデータを操作するためにカスタムプログラミングで制作されるアプリに最も近いと思われるスプレッドシートスタイルのテンプレートを使ったソフトウェアを選ぶ。ビルダー(HoneycodeのユーザーをAWSはビルダーと呼んでいる)ははサービスの所定の位置に通知、リマインダー、承認などのワークフローを設定できる。

 

AWSによればこうしたスプレッドシートタイプのアプリはワークブックごとに10万行まで簡単に拡張できるという。スプレッドシートはAWSのサーバーで作動するためビルダーはインフラの能力を考える必要がなく、アプリケーションの構築に集中できるという。

今のところHoneycodeに外部のデータソースをインポートすることはできないように思える。しかしインポート機能の追加もAWSのロードマップにあるかもしれない。逆に、外部サービスとの統合はアプリ構築を複雑化するので、AWSは今のところHoneycodeをできるかぎりシンプルなものにしようとしているとも考えられる。

Honeycodeはオレゴン州取材のAWS US Westリージョンでのみ作動するが、サポートは他のリージョンにも拡大されるはずだ。

Honeycodeの最初のカスタマーはSmugMugとSlackだという。Slackのビジネス及びコーポレート事業開発担当バイスプレジデントのBrad Armstrong(ブラッド・アームストロング)氏はプレスリリースで以下のように述べている。

「現在の常に変化するビジネス環境にあって、Slackのメンバーがその先頭に立ち適応していくためのアプリを構築する機会をAmazon Honeycodeが提供してくれると考えて大いに期待している。Amazon HoneycodeはSlackの事情に補完し拡張するための優れた手段と考えている。我々はこれまで以上にデータの活用を進め、業務をさらに効率化するための方法をカスタマーとともに構築していけるものと考えている。

原文へ

(翻訳:滑川海彦@Facebook

SlackとAWSの統合がMicrosoft Teams+Azureコンビを焦らす

SlackAmazonが米国時間6月4日の夕方、大きな統合を発表した。この統合によりSlackは通話機能にAmazon Chimeを利用することになり、また同社自身のインフラを担うクラウドサービスとして引き続きAWSを利用する。一方、Amazonは、社内コミュニケーション全般でSlackをそのためのオプションとして利用することで合意した。

Amazonのスポークスパーソンは本誌に「Amazonの一部は以前からSlackをライセンスしているが、全社員のオプションになるのはこれが初めてだ」と語った。

ここで強調しておきたいのは、この動きは確かにSaaSのコミュニケーションツールがAWSとの関係を深めたという大きな統合だが、それと同時にこの合意はMicrosoftとSlackのライバル製品である同社のTeamsへの対抗策でもあることだ。そのためクラウドではMicrosoftのライバルであるAmazon AWSと手を組んだのだ。過去にSlackのCEOであるStewart Butterfield(スチュワート・バターフィールド)氏は、テクノロジー大手が彼の企業を自分たちの存在を脅かすものと見ている、とからかったこともある。

いずれにしても、Teamsは巨大テクノロジー企業が作った小さなソフトウェアにすぎないが、今回の契約を上記の文脈でみないことはできない。AWSとの関係強化はMicrosoftに対するメッセージであり、インフラサービスであるAzureはAWSと競合している。

もちろんバターフィールド氏自身がそう口にしたわけではない。彼は今回の契約のシナジー効果に関する声明で「AWSと戦略的なパートナーシップを結んだことは、今後の需要に対応するスケール能力を両社に与え、顧客にエンタープライズ級のサービスを提供できるようになる。AWSのサービスをSlackのチャンネル方式のメッセージングプラットホームと統合すれば、開発チームは彼らのクラウドインフラストラクチャのプロジェクトを、Slackを去ることなく容易にそしてシームレスに管理できる」と語っている。

この契約には、AWS Key Management ServiceとSlack Enterprise Key Management(EKM)との統合による暗号キーの管理や、AWSのチャットボットサービスとの連携強化、AWS AppFlowとの直接統合などといったことも含まれている。AppFlowの統合によって、SlackとAmazon S3ストレージやAmazon Redshiftデータウェアハウスとの安全なデータ転送が可能になる。

AWSのCEOであるAndy Jassy(アンディ・ジャシー)氏からみれば、これは純粋な統合劇だ。「AWSとSlackが共同で開発者チームに、フロントエンドのアプリケーションで迅速なコラボレーションとイノベーションの能力を与える。それと同時にバックエンドのクラウドインフラストラクチャに関しても、効率的な管理能力を与える」とジャシー氏は声明で述べている。

良好な契約の例に漏れず、これも明らかにWin-Winの関係だ。SlackはAWSに大きな顧客を獲得し、AWSはそのサービスの多くをSlackに直接統合する。エンタープライズユーザーがこれほどまでもSlackに惚れ込んでいる理由は、フォーカスをあっちこっち変えたり、いろんなインタフェイスを行ったり来たりしなくても、ただ1つの場所で仕事を完了できるからだ。

SlackとAmazonの統合によって、両社共通のユーザーにより多くのメリットをもたらし、その一方で共通の敵を焦らす。まさしく、Win-Winだ。

関連記事:SlackのバタフィールドCEOがマイクロソフトの「比較広告グラフ」を非難

[原文へ]
(翻訳:iwatani、a.k.a. hiwa

ブロックチェーンを活用して複数デバイスでシームレスな個人情報管理を実現するMagicとは?

自分のアプリケーションにアイデンティティ(個人情報)管理を組み込もうとすると、既存の手ごろな選択肢はインターネット上の最大で最もデータに飢えているプラットホームが提供していることが多い。

米国サンフランシスコの小さなスタートアップであるMagicは、ブロックチェーンを利用する分散アイデンティティ管理を提供しており、SlackやMediumのように提供されたリンクをクリックすればすぐにログインできるログインのシームレスなワークフローを作ろうとしている。MagicのSDKを使うとMediumやSlackのような体験を、それをスクラッチ(ぜロ)から作らなくても実現でき、ブロックチェーンのキーペアによる認証を利用してユーザーに、複数のデバイスにまたがる安全なログインを提供する。

MagicのCEOであるSean Su(ショーン・スー)氏は「今やアイデンティティといえば、FacebookやGoogleに管理されていることが多い。でもうちのアイデンティティ管理がクールなのは、それが分散アイデンティティであることだ」と語る。

ステルスを終えようとしている同社は、社名を以前のFortmaticから変えた。そしてPlaceholderがリードするラウンドで400万ドル(約4億3500万円)のシード資金を調達した。このラウンドに参加した投資家はとても多く、Lightspeed Ventures、SV Angel、Social Capital、Cherubic Ventures、Volt Capital、Refactor Capital、Unusual Ventures、Naval Ravikant、Guillermo Rauch、そしてRoham Gharegozlouが名を連ねる。

スー氏は大衆市場に訴求するために、同社の技術のブロックチェーンの部分をあまり強調しないようにしているが、でも同社の初期の顧客はブロックチェーン関連の企業、中でもEthereum(イーサリアム)のアプリケーションが多い。Magicはユーザーが250名未満の企業なら無料で、サブスクリプションは月額79ドルからだ。また完全にホワイトレーベルのエンタープライズ向けカスタムインテグレーションもある。同氏によると、MagicのプラットホームはSOC 2に準拠している。

同社のセキュリティドキュメンテーションによると、ユーザーキーはすべてMagicのサーバーをバイパスし、AWSのKey Management Serviceに暗号化されて保存される。Magicがユーザーのプライベートなキーを見ることはない。同社が今作っているSDKは、認証アプリと、USBキーによるハードウェアベースの認証をサポートする。

同氏によると「Mediumなどとの大きな違いは、ラップトップ上でリンクをクリックしてスマートフォン上のリンクからあらためてログインするのではない。それはとても面倒だから、Magicのリンクのログインではラップトップでログインすればそのリンクをどこからでもクリックできることだ」と説明する。

資金調達のニュースと並んでMagicは、フロントエンドのデベロッパープラットホームであるVercel、CryptokittiesのメーカーのDapper Labs、およびMax Planck Society研究所とのパートナーシップを発表した。

[原文へ]

(翻訳:iwatani、a.k.a. hiwa