こんにちは!! vivit で SRE をやっている 宮本 です。
今回は vivit で使用している技術スタックを全部まとめて紹介します 🎉
全体図
GCP の Kubernetes マネージドサービスである GKE が中心となっており、マイクロサービス構成となっています。
言語、インフラ含め相当モダンな環境になっているかと思います!!
以下、分野ごとに解説します。
Frontend
TypeScript/Next.js/Vue.js
TypeScript で書かれた Next.js が基本となっています。
Jest, Cypress を使いテストも書いています。
hinata media の一部で Vue.js も使っていますが、今後使用範囲を拡大していく予定は無く、Next.js に統一していく流れです。
Backend
Go/gRPC/GraphQL/Ruby/Ruby on Rails
Go で書かれた gRPC サーバーが基本となっています。
hinata media のみ、バックエンドに Ruby on Rails を使っています。
gRPC サーバーとフロントエンドマイクロサービスの間に BFF として Go で実装された GraphQL サーバーがある構成です。
Infrastructure
Kubernetes/GCP/AWS/Terraform
一部 AWS も使っていますが、ほとんど GCP を利用しています。
GCP の各種サービスを組み合わせて基盤を構築しており、Kubernetes が中心です。
インフラは IaC を実践しており、 Terraform でコード化されています!
その他
- Datadog
- ログ管理、サービスのモニタリングなど
- SRE だけでなく、アプリケーション開発者も使いこなしています
- GitHub Actions
- テスト、静的解析、Docker イメージのビルドなどの CI を行っています
- CiecleCI
- GitHub Actions ではカバーしきれない部分の CI として、一部 CircleCI も使っています
- Shopify
- hinata store は shopify をベースに作られています
- エディタ/IDE
- 自由に選べますが、Visual Studio Code, IntelliJ IDEA を使っている人が多いです
- ArgoCD
- Kubernetes の CD ツールです
- GitOps については こちら に詳しく記事を書いています
- Nginx
- リバースプロキシとして、各マイクロサービスの前に配置しています
さいごに
vivit では、エンジニアを積極採用中です!
ポジションも様々用意しておりますので、今回の記事で書いたような技術スタックに興味を持って頂いた方は、是非カジュアル面談にお越しください。
新卒採用
キャリア採用
皆様とお話できるのを楽しみにしております!!