Heroku’daki monolitten AWS EKS’te mikroservislere; GetirBiTaksi mimarisi
Bağlam
İlk sekiz yılında 48 milyonu aşkın yolcu taşıyan taksi çağırma uygulaması (şirket ölçeği). Uygulama Heroku üzerinde monolitik bir yapıdaydı; JavaScript/Node.js kullanan 10 kişilik full-stack ekibe liderlik ediyordum.
Üstlendiğim iş
- Monolitin mikroservislere geçişini planlayıp hayata geçirdim; servisleri Kubernetes ile AWS EKS üzerinde yayına aldım.
- Getir uygulamasına entegre taksi çağırma servisi GetirBiTaksi’nin mimarisini Go ve AWS SQS ile tasarladım.
- MongoDB darboğazlarını DynamoDB’ye, legacy sunucuları AWS EC2’ye, cron işlerini Apache Airflow’a taşıdım.
- GitHub Actions ile CI/CD kurdum; işe alım ve teknik mülakatları yürüttüm.
Sonuç
- 10kişilik full-stack ekip
- EKSKubernetes ile mikroservisler
- Node.js
- Go
- AWS (EKS, EC2, SQS, DynamoDB)
- Kubernetes
- MongoDB
- Airflow
- GitHub Actions
- Önce: HerokuSonra: AWS EKS + Kubernetes
- Önce: Monolitik uygulamaSonra: Mikroservisler
- Önce: MongoDB darboğazlarıSonra: DynamoDB
- Önce: Legacy sunucularSonra: AWS EC2
- Önce: Cron işleriSonra: Apache Airflow
- CI/CD
- GitHub Actions
- GetirBiTaksi
- Getir uygulamasına entegre taksi çağırma servisi · Go + AWS SQS