オムニスの技術スタック(2020年12月版)
■ はじめに
この度、弊社でもブログを始めることになりました。
今後は、下記のチームで情報を発信していく予定ですので、購読していただければ幸いです。
Tech (Web / AI), Design, 3DCG, PM /Directer (Develop / Business), Corporate
・自己紹介
オムニスでテクニカルマネージャーをしている嶌です。
簡単に経歴をご紹介させていただきます。
2007年 株式会社アエリアに新卒でエンジニアとして入社。
バックエンドを中心に営業など様々なことをやらせていただく。
2009年 株式会社ワンアール(ソーシャルゲームの開発会社)に入社。
パフォーマンスのチューニングなどに尽力後、技術の責任者が独立したため、技術の責任者になる。
2014年 一緒に働いていたエンジニアと新しく会社を作る。
新規サービスの立ち上げつつ、受託をメインとして生計を立てる。
2019年 株式会社オムニスに参画。
現在に至るという形です。
今後は、オムニスがどういった形で開発をおこなっているのか、どんな技術構成を採用しているのかをご説明させていただければと思っています。
・今回の記事に関して
初めての記事なので、オムニスのエンジニア組織でどういった技術を採用しているのかを、簡単に紹介させていただきます。
採用する技術の選定に関しては、
今までは、プロダクトにフォーカスを合わせて採用する技術を選定していました。
今は、プロダクトのみならずオムニス全体にもフォーカスを合わせて、バランスよく技術を選定していくことを心がけています。
■ 採用技術
・web Frontend
TypeScript, React.js, swr, Next.js, Nuxt.js, GraphQL, Apollo client, Electron, CSSModules, Storybook + Chromatic
・Backend
Golang, PHP, Python, Gorm, sqldef, sql-migrate
・Other
gRPC, GraphQL, REST(OpenAPI)
・ Infrastructure
GCP
・ Middleware
Cloud Pub/Sub, nginx, Cloud NAT, Firebase Authentication, Kustomize, Envoy, Ambassador, Istio
・ Database
Cloud SQL, Google Cloud Storage
・ Monitoring
Mackerel, Sentry, Cloud Logging
・ Environment setup (環境構築)
Docker, Terraform, Cloud Build, Container Registry
・ Container Orchestration
Google Kubernetes Engine
・ CI
CircleCI, GitHub Actions
・ CD
ArgoCD
・ Machine learning Library
TensorFlow, Keras
・ CDN
Fastly, imgix
・ Search Engine
Algolia
・ Workflow Engine
Airflow
・ コード管理
GitHub
■ 今後採用したい技術
E2Eテストを効率的におこなうためのCypress + TestRailの採用。
アプリ開発のためにReact Nativeの採用。
3D上での、服のカスマイズシミュレーションを実現するためにthree. jsの採用。