見出し画像

大規模イベントのためのアプリをFirebaseとBitriseでサーバーレスに。長岡花火公式アプリの内側

代表取締役をはじめとして、フラーには多くの新潟出身者がいます。
そのため、日本三大花火大会の一つ・長岡まつり大花火大会は、私たちにとって身近であり特別でもある、とても大切なイベントです。

2017年から長岡花火財団様にご依頼をいただき、フラーは長岡花火公式アプリを制作しています。
リリース初年も2年目も、ストアの無料ランキング(App Store:旅行カテゴリ、GooglePlay:旅行&地域カテゴリ)にて1位を獲得。ユーザー様からの評価も、記事執筆現在、App Storeでは4.7、Google Playでは4.4と、高いスコアをいただいています。

しかし現状に満足することなく、開発陣は継続的にアップデートを重ねています。今年は大きな新機能追加を行いながら、同時にFirebaseとBitriseを使ってサーバーレス化を進めました。

この記事では、技術的な裏側や開発メンバーのバックボーンなどについて、メンバーに直接お話を聞いていきます!

画像2

スマホビジネス共創事業部
伊津 惇

━━フラーでのお仕事内容と、今回の長岡花火公式アプリでの立ち位置を教えてください。

伊津:
基本はiOSエンジニアです。ただ、最近は見積もりやシステム構成など、開発の調整もやっています。「iOSで実現できるのかできないのか」なんて判定も私が。
純粋なプレイヤーとしてのエンジニアというより、プレイングマネージャーっぽくなってきた感じはありますね。

とはいえ、いかに楽に現実的に実現できるか検討し、実装するのがエンジニアの仕事だと思うので、今の立ち位置にもやりがいを感じています。
コードを書くことは少なくなりましたが、iOSなら細かいところは直したりしていて、ゼロではないです。何かしらの形でコードは書き続けたいですね、楽しいですから。

長岡花火では、いわゆるテックリードとして全体を見ています。また、今回はサーバーレス化における実際的な作業も担当しました。


━━サーバーレス化を進めたというお話ですが、もともとはどういった形だったのでしょうか。また、どうしてそこからサーバーレスへ?

去年まではAWSを使ったクラウドサーバー構成でした。しかし、長岡花火財団様のコスト面での負担をすこしでも軽くできないかなと思いまして。

フラーのアプリ開発は単なる受託とは違い、共創事業という形をとっています。指示された通りに作るのではなく、当事者意識を持って、どうするのが最善かクライアント様と一緒に考えていく……そんなやり方なんです。

それで色々と検討し、「サーバーレスで構築してみるか」という話になりました。
サーバーレスなら機能を使った分だけ料金を払えばいいので安く済みますし、管理画面の開発・運用コストもカットできますから。
言い出したのは私で、実装も私が担当しました。

とはいえ、アプリに関係するすべてをサーバーレス化できたわけではありません。
今回手をつけたのは、データ保持のためのデータベース、画像などを置くためのストレージ、それからアナリティクスの部分です。それらの機能をFirebaseを利用してサーバーレスで構築しました。


━━工夫した点などはどんなところでしょうか

管理画面なしで運用するために、ちょっとめずらしい形でBitriseを活用したことですね。
簡単にいうと、各種情報が書き込まれたCSVファイルを管理するGitHubとFirebaseの橋渡しに使っています。

画像2

例えば、駐車場の満車情報を管理するとき。
まず駐車場の名前や緯度経度の書かれたCSVファイルを作り、GitHub上で管理します。
そしてGitHub上のCSVファイルを更新すると、そのアップデートを感知したBitriseが、Firebaseへデータを渡してくれる……という構造です。そうすると、アプリで確認できる駐車場情報が最新のものに更新されます。
Firebaseへデータを渡すための、Bitrise上で動くスクリプトは私が書きました。

サーバー構築と管理画面作成の人手と工数が削れたほか、運用の面でも優れていると思います。
CSVファイルへのデータ書き込みはGoogleスプレッドシートで行えるため、非エンジニアにも簡単です。なので、現場の詳しい情報を知っている長岡花火財団のスタッフさんに、直接の入力をお願いすることができます。


━━ちなみに、伊津さんは新潟出身なんですか?

新潟出身で、現在フラー新潟支社で働いてます。
長岡高専に入って、専攻科まで行って、そこから新潟県内で就職。六年ほど勤めた後にフラーの新潟支社に転職したので、ずっと新潟にいますね。


━━前職もアプリ関係ですか?

いえ、ソフトウェアエンジニアではありましたが、アプリではなく組み込みをやってました。自動車業界です。
スマホのアプリ開発は、フラーに入るまでやったことがありませんでした。


━━アプリと組み込みシステムの開発では、分野の違いを感じませんでしたか?

違いはありました。
組み込みは当然ながらハードが低スペックで、私がいた時は動作周波数80MHzとかでした。なので、そこをもっとも考慮してシステムを組む必要があります。
対してアプリはハードがリッチなので、わかりやすさやメンテナンス性を重視する必要がある。
だから、なんだか時代を超えた感すらあります。

ただ、根本的なプログラムの書き方は変わらないと思っています。リッチな環境に合わせた表現さえ学んでいけば適応はできます。
転職時にはもちろん勉強が必要でしたが、エンジニアとしてやっていく限り、それはずっとやることです。もちろん今も、ずっと勉強をしています。

それから、組み込みの知識が無駄になるわけではないと思っています。これからIoTがどんどん発展していきますが、あれは組み込みです。だから、スマホのためのアプリとIoTでの組み込み、両方いける自分は強いんじゃないかなと。


━━前職を退職してフラーへ入ったのはどうしてですか?

このままだと時代に取り残される……そんな危機感があったというのが、大きな理由の一つです。
前の会社は伝統的な企業で、それまでのやり方をずっと変えないようなところでした。しかし、世の中では新しい技術や方法がどんどん出てきている。

一番衝撃だったのはグーグルの自動運転の記事を見たこと。仮想空間の街の中で車を走らせてデータをとっている、と書かれていました。
それと比べて自分の職場は、いまだに古風な、手でパターンを入力するテストをやっていました。これでは厳しいと思わざるを得なかった。
しかし、情報系に強い会社でもなかったので、社内でこの危機感について理解を得るのも難しく、自分なりにできることはやったのですが、限界がありました。

組み込みのスキルに関しても、職場で得られる知識はすべて得てしまい、いつの間にかすっかり教える側に入ってしまったので、成長はもうできそうになく。

そんなとき、長岡高専時代の同級生だった渋谷(注:フラー代表取締役CEO兼社長)と久しぶりに話す機会がありまして。彼が長岡に講演会に来ていたので、飲みに誘ったんだったかな。
そこからどちらからということもなく、話がフラーのことになって。

渋谷からは、フラー創業時にも誘ってもらっていたんです。就職したばかりの私のところへ、突然、「もうそろそろ会社辞めた?」なんて電話をかけてきて。
私は確かそのとき彼女とゲームをやっていて、「自分たちは今から世界を変えるのに、なんでお前は彼女とゲームなんてやってるんだ!」と怒られましたね。その頃から興味はありました。
ただ、当時はまだ自分にスキルがなく、ベンチャー企業でどんな仕事ができるかが思い描けなかった。だから入る決心がつかなかった。

でも、今度は「今入らないと死ぬ直前に後悔する」なんて思いました。だから入社を決めました。
また、新潟で働きたかったので、新潟に拠点があったのも決め手の一つですね。


━━働く上で大切にしていることはなんですか?

環境ですね。働く場所や時間、一緒に働く人。
前職では、自分が学んだ新しいことや興味のあることを周りへ説明してもなかなか響かず……それはちょっとやるせなかったです。
今の環境は、みんな好奇心が強いので面白い。たとえ自分の仕事に直接関係のない技術についてでも、話せばわりと食いついてくれる。
また、いろんなバックボーンを持った人がいるのもいいですね。


ーーーーーーーーーーーーー

お読みいただき、ありがとうございました。
明日は、Androidエンジニアのお話を掲載いたします。

フラーについて興味を持っていただけましたら、ぜひぜひこちら↓をご覧ください!




みんなにも読んでほしいですか?

オススメした記事はフォロワーのタイムラインに表示されます!

最後までお読みいただきまして、ありがとうございます!もっと詳しくフラーを知ってみませんか?