OPENLOGI Advent Calendar 2017 最後の投稿です。
株式会社オープンロジは 2013年12月25日 が創業日で本日がちょうど創業4年目の節目になります。
オープンロジのサービスリリースが 2014年10月 なのでそれからは3年程になります。
[物流アウトソーシング「オープンロジ」がサービス開始――中小事業者や個人をターゲットに]
(http://jp.techcrunch.com/2014/10/21/jp20141020_openlogi/)
お陰様でユーザは徐々に増え今年の夏にはシリーズBラウンドをむかえ事業規模も大きくなってきました。
こんなサービスを3年間支えてきた技術や逆に使わなくなってしまった技術を振り返りながら整理したいと思います。
インフラ
何はともあれサービスを運用するにはサーバーが必要ですがAWSなどクラウドインフラのおかげで誰でも簡単にサービスを立ち上げられる世の中になりました。
オープンロジも誰でも簡単に物流サービスを提供したいという思いがあり、物流のAWSと説明させていただくことがあります。
我々は幸い VC から AWS Activate を提供いただいていたため2年間は無料でインフラを提供できていました。
Amazon Web Service (AWS)
ずっと使ってるもの
- EC2
- S3
-
RDS
- Aurora への移行検討しているが、現在 MySQL 5.7 で運用中なので Aurora の 5.7 対応待ち
- Simple Queue Service (SQS)
- Simple Notification Serivce (SNS)
- IAM
- CloudWatch
- CloudTrail
- CloudFront
- Route 53
-
Certificate Manager
- SSL証明書の有効期限を気にする事が無くなったのは革命的
比較的最近導入したもの
-
ElastiCache
- 今まで DB で行なっていた Cache や Job Queue の管理をしていたものを Redis に移行した
-
Elasticsearch Service
- DB Like 検索ではツライ規模になってきた
- API Gateway
-
Lambda
- 一部の簡易的な機能は API Gateway + Lambda で提供している
-
Elastic Container Service (ECS)
- 一部の社内向けプロダクトは ECS で運用している
利用やめたもの
-
OpsWorks
- デプロイが遅すぎてツラかった
Google Cloud Platform (GCP)
AWS Activate の利用期間が切れてしまったので、 極力ロックインされた環境は回避するためにも AWS 以外の選択肢も検討して行きたい。
-
Firebase
- 一部の社内プロジェクトで利用
外部サービス
-
- イベント通知サービス
- Websocket でサーバサイドのイベントをクライアントに伝える
- サーバサイドの処理は非同期ジョブとして実行されているものが多い
-
- マーケティングメール送信
-
- トランザクションメール送信
アプリケーション
サーバサイド
-
PHP 7.0
- 長らく PHP は避けて生きてきたのだが、一回りして悪くない言語に思えるようなってきている
- 柔軟すぎない言語仕様が逆に良いのかもしれない
-
Laravel 5.x
- もともと CakePHP 2.x で実装されていたサービスを早い段階で Laravel に移行
- Laravel が好きだから PHP を使っていると言っても過言ではない
- ミュータブルな処理は全てジョブとして実装しコントローラーなどからはジョブを dispatch するだけのアーキテクチャにしている
-
- 一部の社内プロジェクトでは、サーバサイドも JavaScript ベースで実装している
- フロントもサーバも同じ言語で実装すると幸せになるのかの実験
フロントエンド
- React.js
- Redux
-
ES2015
- Laravel に移行したタイミングでフロントも全て React.js / Redux ベースの SPA 実装に切り替え
- Vue.js
- Nuxt.js
-
TypeScript
- いつくかの新規プロジェクトは Vue.js / Nuxt.js ベースで書かれており、当面の標準構成として検討している
- 型がある世界にロマンを求め始めている
デザイン
運用
ソースコードホスティング
デプロイ
開発環境
CI
BI
-
Redash
- 試しに導入したら、非エンジニア中心にどんどん使われるようになった
- DBの変更に追従させるのがなかなか大変
モニタリング
-
NewRelic
- APM アプリケーション監視
- Browser ブラウザ監視
- Infrastructure サーバ監視
-
Papertrail
- ログ監視
アクセス解析
情報ツール
チャット
ドキュメント
プロジェクト管理
まとめ
利用している技術・サービスを列挙しただけですが、成長・変化を知るためにも年末に棚卸しするのは悪くないかもしれない。
来年はもっとデータ解析・分析の方に力を入れていきたい。
オープンロジでは一緒に物流の未来を動かす仲間を募集していますので興味ある方は気軽にご連絡ください!