オープンロジを支える技術（2020年版）

# オープンロジを支える技術（2020年版）

[OPENLOGI Advent Calendar 2020](https://qiita.com/advent-calendar/2020/openlogi) 最後の投稿です。

[株式会社オープンロジ](https://openlogi.com/corp/)は2013年12月25日が創業日でして本日でちょうど創業7年になります。

サービスリリースが2014年10月なのでそれからは6年立つことになります。
[物流アウトソーシング「オープンロジ」がサービス開始――中小事業者や個人をターゲットに](http://jp.techcrunch.com/2014/10/21/jp20141020_openlogi/)

毎年恒例のコンテンツになりましたが、年の締めくくりとして今年1年間の技術的なアップデートをまとめておきたいと思います。

過去のエントリー
- [オープンロジを支える技術（2019年版）](https://qiita.com/migrs/items/8e38b959c343bbecc47f)
- [オープンロジを支える技術（2018年版）](https://qiita.com/migrs/items/dab171ee613f0c278596)
- [オープンロジを支える技術（2017年版）](https://qiita.com/migrs/items/b1bfd752d3abb0101f59)

## サマリー

今年は、今後の事業拡大に向けてセキュリティー面での見直しを中心に実施しました。
利用サービス的にとくにインパクト大きかったアップデートは以下3つでした。

- Amazon Connect の導入
- Kintone への移行（from Salesforce）
- Datadog への移行（from New Relic / Papertrail）

## インフラ

### Amazon Web Services (AWS)

#### 主なアップデート

- [Amazon Connect](https://aws.amazon.com/connect/) **New**
    - カスタマーサポートのコールセンターをクラウドに切り替えた
- [VPC](https://aws.amazon.com/vpc/)
    - NAT Gateway を導入し多くのインスタンスをプライベートサブネットに寄せた
- [System Manager](https://aws.amazon.com/jp/systems-manager/)
    - Session Manager を利用した運用に移行した
- [Amazon Elastic Container Registry (ECR)](https://aws.amazon.com/jp/ecr/)
    - [Docker Hub](https://hub.docker.com) から移行した

#### 継続的に利用しているもの

- サービス提供
    - [EC2](https://aws.amazon.com/jp/ec2/)
    - [RDS](https://aws.amazon.com/jp/rds/)
    - [ElastiCache](https://aws.amazon.com/jp/elasticache/)
    - [Simple Queue Service (SQS)](https://aws.amazon.com/jp/sqs/)
    - [Simple Notification Serivce (SNS)](https://aws.amazon.com/jp/sns/)
    - [S3](https://aws.amazon.com/jp/s3/)
- QA環境
    - [Fargate](https://aws.amazon.com/fargate/)
    - [Elastic Container Service (ECS)](https://aws.amazon.com/jp/ecs/)
- 運用・監視
    - [Athena](https://aws.amazon.com/jp/athena/)
    - [CloudWatch](https://aws.amazon.com/jp/cloudwatch/)
    - [CloudTrail](https://aws.amazon.com/jp/cloudtrail/)
- 管理系
    - [IAM](https://aws.amazon.com/jp/iam/)
    - [Route 53](https://aws.amazon.com/jp/route53/)
    - [CloudFront](https://aws.amazon.com/jp/cloudfront/)
    - [Certificate Manager](https://aws.amazon.com/jp/certificate-manager/)
- 限定利用
    - [Elasticsearch Service](https://aws.amazon.com/jp/elasticsearch-service/)
    - [API Gateway](https://aws.amazon.com/jp/api-gateway/)
    - [Lambda](https://aws.amazon.com/jp/lambda/)
    - [CloudFormation](https://aws.amazon.com/jp/cloudformation/)

### Google Cloud Platform (GCP)

DWH環境としてより整備され定着してきました。
来年はBIツールの導入などデータ分析環境を整えていこうと思っています。

- [BigQuery](https://cloud.google.com/bigquery/)

### 外部サービス

- [Transifex](https://www.transifex.com/) 翻訳プラットフォーム
- [Pusher](https://pusher.com/) Pub/Sub メッセージング
- [mandrill](https://www.mandrill.com/) メール配信

## アプリケーション

これまではモノリシックな構成で開発・運用していましたが、今後の成長に備えアーキテクチャーの見直しを検討しはじめました。
アプリケーションはどんどん肥大化し、影響範囲は広がり、覚えることも増え、全容把握が難しくなってきてしまいます。道のりは長くなりそうですが、サービスを適切に切り出していき、より見通しの良い構成を目指します。

### サーバサイド

今年も Laravel のメジャーバージョンアップを実施しました。
現在は Ubuntu 20.04 LTS へのアップグレード対応を進行中。

- [PHP](http://php.net/) 7.2
- [Laravel](https://laravel.com/) 5.6 -> 7.0

### フロントエンド

React が少し前のバージョンで止まってしまっているので、来年はアップデートしていきましょう。

- [React.js](https://reactjs.org/)
- [Redux](https://redux.js.org/)
- [Vue.js](https://jp.vuejs.org/)
- [Nuxt.js](https://ja.nuxtjs.org/)
- [TypeScript](https://www.typescriptlang.org/)
- [ES2015](http://www.ecma-international.org/ecma-262/6.0/index.html)

## 運用

モニタリング環境を New Relic + Papertrail から Datadog に切り替えました。
以前から移行検討していたのですが、[New Relic がホストベースからユーザーベースに価格体系が変わる](https://blog.newrelic.co.jp/new-relic-news/new-product-and-pricing/)ことを契機に検証が一気に進む形になりました。
メトリクスとログが一気通貫で見れるようになったり、グラフなども大変見やすくなったこともあり、価格面を除いても、いまのところ良い変更だったと感じています。
今月切り替えたばかりなので、あとはとことん使い倒していこうと思います。

### 開発環境

- [GitHub](https://github.com/)
- [GitLab](https://gitlab.com/)
- [CircleCI](https://circleci.com/)

### 開発・運用ツール

- [docker](https://www.docker.com/)
- [docker-compose](https://docs.docker.com/compose/)
- [capistrano](http://capistranorb.com/)
- [embulk](https://www.embulk.org/)
- [Zapier](https://zapier.com/)

### データ分析

- [Google Data Portal](https://datastudio.google.com/)
- [Redash](https://redash.io/)

### モニタリング

- [Datadog](https://www.datadoghq.com/) **New**

## 情報ツール

今年は新型コロナウィルスの影響によりリモートワーク中心の働き方に一気にシフトしましたが、オープンロジではもともと働く場所に依存しないITインフラを構築していたので、とくに大きな対応を要することなくシフトできたと思います。

また昨年は業務支援プラットフォームとして Salesforce を導入してみたのですが、オーバースペック感ありコスト的にも見合わず比較検討の結果、よりコンセプトとしてシンプルな Kintone に移行することとなりました。
非エンジニアのメンバーでも自走してIT業務改善できるようになり、変化への対応力も高まってきてるように感じます。

- [Slack](https://slack.com/)
- [GROWI](https://growi.org/)
    - [CodiMD](https://github.com/hackmdio/codimd)
- [Google Docs](https://www.google.com/intl/ja_jp/docs/about/)
- [Google Meet](https://meet.google.com/) **New**
- [Redmine](https://www.redmine.org/)
    - [Redmine Agile Plugin](https://www.redmineup.com/pages/ja/plugins/agile)
- [Kintone](https://kintone.cybozu.co.jp/) **New**

## バックオフィス関連

もともと検討していた電子契約は一気に導入進みました。

- [SmartHR](https://smarthr.jp/) 労務管理
- [HRMOS](https://hrmos.co/saiyo/) 採用・人材管理
- [Holmes](https://www.holmescloud.com/) 契約管理 **New**
- [ジョブカン勤怠管理](https://jobcan.ne.jp/)
- [ジョブカンワークフロー](https://wf.jobcan.ne.jp/)

## チーム

ここ一年で新たなメンバーも増え、フレッシュな雰囲気になってきたように感じます。
一方、とくにエンジニアはリモートワークが中心ということもあり、オフラインで話す時間が減り、その分雑談も減ってきてしまっていることから何かしら失われているものはあるのかもしれません。
まだ課題として実感するほど表面化してませんが、大切なものを見落とさないよう新しい働き方にチャレンジしていきたいと思っています。

## まとめ

今年は[シリーズCの資金調達](https://corp.openlogi.com/news/20201022-series_c/)を実施し、いよいよ次のフェーズへのスタートを切ることができました。
これからは、これまでのプロダクトをさらにアップデートしつつ、データを軸に新たな価値の創造に取り組んでいきます。

オープンロジでは、これからのチャレンジを一緒に楽しめる[エンジニアを募集](https://hrmos.co/pages/openlogi/jobs/0000004)しています。ぜひお気軽にご応募ください。