SPIDERPLUS Tech Blog

建設SaaS「スパイダープラス」のエンジニアとデザイナーのブログ

技術ブログ始めます!

みなさまこんにちは!スパイダープラスCTOの藤田智之です。
このたび、スパイダープラスでは創業から27年目、プロダクトのSPIDERPLUS提供開始から13年の時を経て、技術ブログを始めることにいたしました!

スパイダープラスが技術ブログを始める理由

 スパイダープラスが提供するSPIDERPLUSのサービスは、主に建設現場で使われる現場管理アプリです。現在、1,800社以上、68,000人超のユーザーに利用されており、建設現場のDX化に貢献をしています。SPIDERPLUSは、リアルな「現場」で使うアプリであり、メインはiPadのアプリとして提供をしています。大量の図面や写真の管理やオフライン利用など、建設現場固有の業務要件を様々なテクノロジーを活用することで実現しています。

 そんなSPIDERPLUSですが、これまで積極的に技術情報の公開をしていなかった事もあり、皆様にあまり知られていないのが実情です。SPIDERPLUSの提供開始から13年が経過し、公開できるナレッジも蓄積されてきたこともあり、このたび技術ブログにて弊社のナレッジを共有させていただきます。建設現場で活用されているアプリのテクノロジーを皆様に公開することで、建設業界のみならずあらゆる「現場」のDX化に貢献できればと考えています!

※当記事では、プロダクトのことは「SPIDERPLUS」、会社のことは「スパイダープラス」と、それぞれ書き分けていますのでご留意ください。

SPIDERPLUSのすごいところ3つ

 今回は初回という事もあり、SPIDERPLUSの技術的にすごいところを簡単に3つ紹介いたします。

大量の図面や写真を扱える

 建設現場では大量の図面や写真を扱います。従来は紙で持ち歩いていた図面やデジカメで撮影していた写真をSPIDERPLUSではiPadで扱えるようになっています。SPIDERPLUSの基本機能として、図面上の撮影箇所にカメラのアイコンを置いて写真を撮影することで、どこで何を撮影したかが簡単に分かるようになっています。
 建設用の図面は紙にするとA0サイズ*1の大きなものとなり、それをiPad上で表示する必要があります。さらにその図面の上にカメラのアイコンを設置していくことになり、写真が多いときにはアイコンが1,000個以上設置されることもあります。通常の手法を用いて実装をすると簡単にメモリ不足やパフォーマンスの劣化が発生してしまうため、ストレスなく操作ができるよう様々な手法を使ってチューニングをしています。

オフラインでも使える

 SPIDERPLUSが使われる現場には都心であっても地下階や高層階でアンテナが未設置のため電波が届かなかったり、まだ住所もない地点など、通信手段のない現場も少なくありません。こうした環境でもアプリが使えるようにオフラインの対応をしています。
 具体的にはオフラインの際にはiPadのローカルにデータを保存しておき、オンラインになってからクラウドに同期する仕組みになっています。これだけだと単純な話に聞こえるのですが、大規模な現場になると同じ図面に対して複数ユーザーが同時に更新をすることがあります。誤って他のユーザーが作成したデータを上書きすると大切な写真や検査の記録のデータがなくなってしまうため、競合を回避するための仕組みを入れています。

2,000台を超えるサーバーインフラ

 SPIDERPLUSのサービスはSaaSとして提供がされており、iPadで撮影した写真やメモをクラウド経由で他のユーザーと共有できる仕組みになっています。1,800社、68,000人のユーザーにサービスを安定的に提供するためにバックグラウンドでは2,000台を超えるサーバーが常時稼働しています。
 当初はシングルテナントで運用していたのですが、最近は運用効率や安定性の向上のため、AWS環境でのコンテナ化やマルチテナント化の取り組みも行っています。また、24時間365日安心してお客様に使っていただけるようインフラチームが日々運用の改善を行っています。

オフライン/オンラインの切り替えをスムーズに実現するたためにネットワーク監視が実装されています。

次回以降の予告

 今回は本当に簡単な紹介でしたが、次回以降はより具体的な内容を紹介していきますのでご期待いただければと思います!
現時点で予定している次回以降の投稿についても紹介いたします。

  • PHPerKaigi 2024に出展します!
  • チームのブランチ戦略を整備した話
  • iOSで地図画像上に現在位置情報を表示する

引き続きお楽しみに!

*1:開いた新聞紙2枚分