社会を支えるパブリッククラウドを一緒に作りませんか?
>>さくらインターネットのエンジニア採用情報を見る
さくらインターネットではエンジニアの採用を積極的におこなっています。今回は、2025年2月に入社したクラウド事業本部の藤原俊一郎にインタビューを実施しました。インタビュアーは、一足早くさくらインターネットへ入社したクラウド事業本部 荒木靖宏。前編となる今回は、これまでのキャリアのほか、興味のある技術や開発のスタンスなどを聞きました。

藤原 俊一郎(ふじわら しゅんいちろう) プロフィール
さくらインターネット クラウド事業本部
面白法人カヤック(株式会社カヤック)のバックエンドエンジニア、SREを経て、2025年2月、さくらインターネットへ入社。ISUCON優勝回数4回、出題3回の経歴を持つ。Amazon ECS向けデプロイツール「ecspresso」を始めOSSを多数開発。著書に『みんなのGo言語[現場で使える実践テクニック]』(共著、技術評論社)、『達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践』(共著、技術評論社)。@fujiwara

聞き手:荒木 靖宏(あらき やすひろ) プロフィール
さくらインターネット クラウド事業本部
株式会社インターネットイニシアティブ、ネットビレッジ株式会社(現:株式会社fonfun)を経て、ヒューレット・パッカード研究所でモバイルネットワークおよびサービス基盤の研究に従事。2010年、東京大学基盤情報学専攻 博士号取得(科学)。その後、DeNA(株式会社ディー・エヌ・エー)を経て、2011年にアマゾンウェブサービスジャパン合同会社(AWS)へ入社し、13年間ソリューションアーキテクトとして活動。2024年9月、さくらインターネットに入社。@ar1
さくらインターネットに入社し数日経っての所感

藤原さん、さくらインターネットへようこそ。入社してまだ数日(取材日時点)ですが、実際に働いてみていかがでしょうか。

ありがとうございます。まず、社員のみなさんの人柄がとても素敵だなと感じています。同期の入社が20人以上いたのですが、研修の最初の2日間で「みなさんよい方だな」と思いました。前職でもそうでしたが、この雰囲気は非常によいですね。

オンボーディングプロセスについてはどうでしたか?

ドキュメントがしっかり整備されていて、自分で調べながら進められるのがよかったです。前職はどちらかというとフリーダムな環境で、ドキュメントをあまり残さない文化がありました。

つまり、前職では直接話を聞いて進めるスタイルだった?

そうですね。その文化に甘えていた部分もあったかもしれません。でも、さくらインターネットではドキュメントが充実しているので、自己解決しやすいと感じました。

さくらインターネットでは、ガバメントクラウドなどさまざまな基準にチャレンジしており、文書の整備や管理体制が重要です。その姿勢がオンボーディングにも反映されているのかもしれませんね。

そう思います。
社会を支えるパブリッククラウドを一緒に作りませんか?
>>さくらインターネットのエンジニア採用情報を見る
Amazon ECS向けデプロイツール「ecspresso」など、便利なOSSを次々に開発

藤原さんの経歴についてもあらためてお聞きしていきたいです。

1998年に小さなWeb制作会社に入り、当時の黎明期のWeb制作に携わりました。サーバーのセットアップから、OSのインストール、アプリケーション開発、HTML、CSS、JavaScriptなど、グラフィック以外はだいたいひと通りやりましたね。そうするなかで、どちらかというとバックエンドのほうが好きだと気づきました。

そのころの技術スタックはLAMPなどがありましたね。藤原さんもLAMPスタックをフルに使っていたんでしょうか?

そうですね。Linux、Apache、Perl、データベースには最初はPostgreSQLを使っていました。

前職の面白法人カヤック(以下、カヤック)では、ゲーム関連のWebサービスにも携わっていたと思います。とくに思い入れのあるサービスはありますか?

「Lobi」というゲームユーザー向けのチャットサービスがとくに印象深いです。コンテナ技術が本格化する前の時期で、途中でAWSに移行したんですが、EC2のオートスケールに試行錯誤しました。

私が「藤原さんというすごい人がいる」と知ったのは、AWSでECSというコンテナサービスがあって、そのサービス向けのツールの開発者という形でした。コンテナ技術が出始めたとき、すぐに試しましたか?

Dockerが登場した2013年ごろから社内で使い始めました。ただ、本番環境で運用するには課題が多かったので、まずはEC2のオートスケール環境でpull型のデプロイをできるようにしていました。そのあと、ECSが安定してきた2017年ごろに本格的にコンテナ運用を始めました。

その流れで、ECS向けのデプロイツール「ecspresso」を開発されたのですね。

そうです。最初はこれはというデプロイ方法がなくて、ecs-deployというシェルスクリプトがあって使えるかなと思ったんですけれど、これだったら自作した方がよいと考え、Goで300行程度の実装をしました。それが割と実用的だったので使い続けて、成長して現在の形になっています。

300行くらいだと、それでもちょっと長くて大変だよという方も結構いらっしゃるんじゃないかと思います。OSS活動として、短くても役立ったコードはありますか?

「shapeio」という帯域制限機能を持つGoライブラリがあります。これは、Goのio.Readerとio.Writerというインターフェースがあって、ioを読み書きするときは基本的にはそのインターフェースでやるんですけど、そこに組み込むとファイルでもネットワークでも帯域制限がかけられるというものです。これはすごく小さくて、9年前くらいの時点で機能的にも完成しているので、いじってもいません。

Goの言語仕様のおかげで、OSSとして公開するハードルは下がりましたか?

はい。Goはランタイム不要のシングルバイナリで配布できるので、動作環境の違いを気にせずに済みます。ほかの言語と比べても、Goでツールを作るのは楽ですね。
ツール開発で大切なのは「自分が使いやすいものを作ること」

「OSSを始めたいが公開をためらっている」という人にアドバイスはありますか?

まずは自分に必要なツールを作ることですね。誰かのために作るのではなく、自分の仕事を楽にするツールを開発することが大切です。その結果として、ほかの人にも役立つ可能性が生まれます。

なるほど。今年1月には「Fujiwara Tech Conference」も開催されましたね。Togetterにまとまっていたコメントを見ると、みんな「こんなふうにして使ってます」「こう役立ててます」「藤原さんありがとう」といった内容が多かったようです。やっぱりみなさんが使っているから喋ることができるし、使っているからこそ、あったとしたら不具合にも、このように改善したいといったことに気がつくことがあって、非常によいループだと思います。

そうですね。「運用の手触りが感じられるからよい」というのも誰かが言っていましたね。実際に運用している人が使いやすいような機能があるだとか、使いやすいようなインターフェースになっているだとか、そういうのがたぶん気に入られるポイントなのかなという気がします。それはやっぱり自分で自分の仕事のために作って、自分の仕事のために日々使っていて、こういう風に使えると便利だなということがあるから、そういう機能を足したりインターフェースを整備したりするんですよね。そこは直結しています。運用している人が作るから、運用している人が使いやすいということだと思います。

CLIツールのUXについて、藤原さんが重視している点はありますか?

レスポンスがちゃんと速いとか、直観的なコマンド体系、あとは設定の柔軟性ですね。そういうものも含めて、触りやすい、触っていて不快ではないというところでしょうか。とくに設定ファイルは、最近は基本的にJSONを受け付けられるようにしています。ただJSONを手で書くのは苦痛なので、YAMLやJsonnetからJSONに変換するようにしています。CUEで書いてからJSONに変換している人もいるようです。1つに決めるよりも、各自が工夫できる余地を残しておくのがよいですね。

藤原さんのコードはどこかのコマンドに組み込まれるとかすることが多いと思うんですが、OSSの開発では、他の人が組み込みやすいように工夫されていますか?

はい。自分が運用するツールだからこそ、自分にとっての使いやすさを意識して開発しています。CI/CDに組み込むことも前提にしていると、気づかないうちに思っていた何倍もそのコマンドが使われたりするから、速度を速くすることにも意味がありますね。

なるほど、ありがとうございます。
続いて、さくらインターネットへ入社した経緯や、今後やっていきたいことなどをお聞きしていこうと思います。

はい、よろしくお願いします。
>>後編を読む:「中の人になってクラウドを”作りたい”」。さくらインターネットへの転職理由とは? 藤原俊一郎(fujiwara)インタビュー【後編】

社会を支えるパブリッククラウドを一緒に作りませんか?
>>さくらインターネットのエンジニア採用情報を見る
(撮影:ナカムラヨシノーブ)