自動運転技術とそのサービスを開発、実装するためのクラウドDevOpsプラットフォーム&ツールチェーンである「Web.Auto」。
ティアフォーが開発をリードしている自動運転システムのOSS「Autoware」について、ビルドやシミュレーションを実行して自動運転システムとして評価する開発ツールをはじめ、運行管理や遠隔監視など自動運転サービスを運用するために必要なサービスを提供しています。
今回は、「Web.Auto」のAuthチームに所属する澤田翔太に、ティアフォーで認証認可システムを手がける面白み、今後のチャレンジなどについて聞きました。
私が担っているのは、主に認証認可システムの開発です。具体的にはユーザーのアカウントを管理するID基盤、権限管理の仕組みや全サービスのAPIの認可をしている認可基盤があります。
特徴的といえるのは、「エンドユーザー」と「自社の開発者」、両方に向き合っているところ。
「Web.Auto」を利用するユーザーに対しては、1つのIDで「Web.Auto」のさまざまなサービスにログインできる仕組み、各自動運転のプロジェクトで役割に応じて権限管理(RBAC)できる仕組みを提供しています。
そして、社内のサービス開発者もまた、認可基盤を利用するユーザーです。「Web.Auto」のすべてのAPIリクエストに対し、認可する役割を担っています。サービス開発者は認可の仕組みを利用することで、各サービスで認可の実装をせずに済み、「Web.Auto」としても統一的な権限管理や認可の仕組みをエンドユーザーやAPI利用者に提供することができるわけです。
また、「Web.Auto」は自動運転の開発運用にかかわるサービスを複数提供しており、サービスごとに役割に応じた権限を用意する必要があります。この権限を各サービス開発者が開発とともにメンテナンスできる仕組みを提供しています。
SWADA SHOTA | Web.Auto | Auth Team
機能として一通り揃ってきましたが、まだまだかゆいところに手が届いていないと感じています。エンドユーザー、サービス開発者、そして時々手作業を必要としてしまう自分に対しても、「不便だな」「わかりにくいな」と感じるシーンがあります。これらを一つひとつ潰していって、複雑な権限を扱う「Web.Auto」において、わかりやすく、それでいて簡単に最適な権限管理機能を提供できるようにしていきたいです。
また、今年、ID基盤をリプレースしました。Ory社が開発しているOSSを利用することで、短期間でスムーズにリリースすることができました。しかし、当然ながら未提供の機能や不具合もあります。今後はOSS活動を通して、自社とOSSの発展の両方に貢献していきたいと思います。
ID基盤のリプレースについては、ブログ「ID基盤をリプレースしました」でも紹介しています。
以前は、クラウドソーシングサイトの運営企業で、さまざまな開発経験を経てIT基盤の開発を手がけていました。
スカウトいただいたのをきっかけに、話を聞いたり自分で調べたりして、「自動運転」の開発や実証実験がどの程度まで進んでいるかを知った。「社会を変えていく」「人々の生活を豊かにしていく」ことができそうだと感じ、面白そうだと思いました。
また、これまではシステムを全方位的に手がけていた……と言えば聞こえがいいんですが、「器用貧乏」みたいなところもあって。専門性を持って「自分の得意領域はこれ」と言えるキャリアを作っていきたいという思いがあり、そのビジョンを描けたので、ティアフォーへの転職を決めました。
認証認可のエンジニアといえば、成熟した企業で需要が高い印象を持っていました。ティアフォーのようなスタートアップ企業で、「これから作り上げていく」というフェーズでこのポジションがあるのは珍しい。それもまた、面白そうだと感じたポイントです。
また、認証認可の領域ではOpenID ConnectやOAuth 2.0のようにベストプラクティスが規格化されている部分もありますが、権限やその認可はサービスに合わせて考える必要があります。自動運転というまだ世の中にないサービスにはどんな認可が必要なのか――未知のことにチャレンジできる環境だと感じました。
「自動車」へのイメージから、従来型の技術を使ってカッチリと手堅く作っていくのかと想像していたんですが、意外にも「チャレンジする」環境でした。
「Web.Auto」ではマイクロサービスアーキテクチャを採用していて、小さなチャレンジがしやすい。チャレンジを推奨する風土があります。
そして、議論やレビューの場で、新たな視点を得る機会が多いですね。
ティアフォーには、同じWebのエンジニアでもバックグラウンドが異なる人が集まっています。僕のように中規模の自社サービス開発の現場にいた人もいれば、メガベンチャー出身者、受託開発企業出身者もいます。BtoBの開発とBtoCの開発では考え方がこんなに違うのか、と気付かされることも。
サービスごとに開発者が異なると設計も異なるので、「そういう方法もあるのか」と勉強になります(設計が異なる実装のキャッチアップには苦労もしますが…)。
また、「Web.Auto」は全体的に小さいチームながらも、1チームあたりのカバー範囲が広く、開発スピードも速い。そんな中で、工夫しながら、自分のチームも生産性高い開発を実現し、エンドユーザーや社内外の開発者に使いやすい基盤を提供することで、他のチームの生産性アップも後押ししていける――そんなやりがいがあります。
ティアフォーでは、コア・バリューに「THE PROFESSIONAL」を掲げています。その言葉どおり、プロ意識の高い集団だと感じています。
ティアフォーの今のフェーズでは、一般的には、とにかく早く機能を実装し、リリースすることを優先してしまいがちです。ところが、システムや機能をどの程度しっかり設計し、作り込まないといけないのか、その上でなるべく早く価値提供をするためにどうすればいいのか――という段取りや妥協点を見つけるのがうまい。ビジネスの成長と継続的に並走できる開発カルチャーだと思います。
ティアフォーでは一緒に「Web.Auto」の開発に取り組むエンジニアを募集しています。
入社前の僕自身がそうでしたが、自動運転の会社でWebエンジニアがどんな開発をしているのか、なかなかイメージがつきにくいのではないでしょうか。疑問に思うことは、ぜひ、カジュアル面談でご質問いただければと思います。
オープンソースのソフトウェアを一緒に開発していきませんか?
ティアフォーでは、「自動運転の民主化」というビジョンに共感を持ち、自らそれを実現する意欲に満ち溢れた新しい仲間を募集しています。
Media Contact
pr@tier4.jp
Share the post
LinkedIn | X | Facebook | Instagram