新サービス構築にRustを選んで良かったこと、そしてちょっと苦労したこと
【10-D-8】4年前にRustで新規プロダクトを?!~枯れてない技術の採択にまつわるエトセトラ~
ペイルドはプログラムのエラーが極端に少ない
こうして聞くと、あまり深く考えずにパッと決めてしまったんだなと感じるかもしれない。しかし森氏はRustを選んで良かったと言う。ペイルドが提供しているクラウド管理型の法人カードサービス「paild」は、決済サービスでもある。決済サービスでは「いつでも決済できる」、つまりシステムを止めてはいけないことが当然のように求められる。
「Rustはコンパイラによる静的なチェックが非常に優秀。ペイルドはプログラムに起因するエラーが極端に少ない」と森氏はRustがもたらした利点を挙げた。
そうは言ってもRustは「枯れている」とはとても言えない言語だ。そして森氏もRustを選んだが故に苦労したこともあるとして、一つひとつ話し始めた。
まず、Rustの非同期周りの環境だ。特にランタイムの事実上標準がなかなか決まらなかったこと。有力なランタイムが複数存在し、ユーザーを奪い合っていたのだ。その結果、ライブラリによっては特定のランタイムでなければ動かないことが起こるなど、かなり苦労した。現在は「Tokio」という非同期ランタイムが事実上の標準となったが、ランタイム以外の点でも「Diesel」というORマッパーが非同期に対応していないほか、非同期なトレイトを作ろうとしても言語の標準ではその機能がないなど、まだ苦労はある。
続いて各種SDKの問題。「paild」では認証に「Auth0」というサービスを利用しているが、公式SDKがない。ほかにもいろいろな外部サービスを利用しているが、Rust向けSDKがないので、APIを直接操作するしかないという。
AWSについては、Rusoto(ラソト)という非公式SDKがあったが、ある日突然、Rusotoがメンテナンス・モードに入ってしまった。今後を心配していたが、Rusotoのメンテナの一人がAWSで働いていることを明かし、AWSに掛け合ったところ、AWSが公式SDKを提供することを発表した。しかし、その公式SDKは発表から1年近く経った現在でも開発者向けプレビューの状態にとどまっており、「本番環境では使わないように」というただし書きが外れないそうだ。「Auth0やAWSに限らず、SDKに関してはRustはまだまだ恵まれていない」と森氏はこぼす。
この記事は参考になりましたか?
- Developers Summit 2023 セッションレポート連載記事一覧
- この記事の著者
-
笹田 仁(ササダ ヒトシ)
フリーランスのライター、編集者。IT、特にソフトウェア開発の話が好きです。 趣味はドラムを叩くこと。コロナ騒ぎでリハーサルスタジオに入りにくくなり、ちょこちょこと楽器を買うことでストレスを解消していたら、いつの間にか置き場所に困るほどになってしまいました。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
丸毛 透(マルモ トオル)
インタビュー(人物)、ポートレート、商品撮影、料理写真をWeb雑誌中心に活動。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
提供:株式会社ペイルド
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
