From a Heroku monolith to microservices on AWS EKS; the GetirBiTaksi architecture
Context
A taxi-hailing app that carried 48M+ passengers in its first eight years (company scale). The application ran as a monolith on Heroku; I led a 10-person JavaScript/Node.js full-stack team.
What I did
- Planned and implemented the migration of the monolith to microservices, deployed on AWS EKS with Kubernetes.
- Designed the Go and AWS SQS architecture of GetirBiTaksi, the taxi-hailing service integrated into the Getir app.
- Moved MongoDB hot spots to DynamoDB, legacy servers to AWS EC2 and cron jobs to Apache Airflow.
- Set up CI/CD with GitHub Actions; ran hiring and technical interviews.
Outcome
- 10person full-stack team
- EKSmicroservices on Kubernetes
- Node.js
- Go
- AWS (EKS, EC2, SQS, DynamoDB)
- Kubernetes
- MongoDB
- Airflow
- GitHub Actions
- Before: HerokuAfter: AWS EKS + Kubernetes
- Before: Monolithic applicationAfter: Microservices
- Before: MongoDB hot spotsAfter: DynamoDB
- Before: Legacy serversAfter: AWS EC2
- Before: Cron jobsAfter: Apache Airflow
- CI/CD
- GitHub Actions
- GetirBiTaksi
- Taxi-hailing service integrated into the Getir app · Go + AWS SQS