Stashfin Tech Stack / Infra
Stashfin Infra Diagram
Tech Stack
- Languages
- Backend - PHP, Python
- Frontend - HTML, CSS, JS, React
- Android - Java + Kotlin, Firebase
- iOS - Swift + Objective C
- Libraries - Pandas, Numpy (other AI models and libraries)
- Frameworks - CodeIgniter 3 for PHP, Flask/FastAPI and Django for Python
- Unit Testing - Phpunit for PHP, Pytest for Python
- Databases - Aurora MySQL (OLTP), Redshift (OLAP), Redis (Caching and Queueing), S3 (blob storage) + Athena (Query layer on top of S3)
- Architecture - Microservices and Event Driven, REST Based
- Testing and QA Tools - Postman, Appium, Selenium
- DevOps - Docker, Kubernetes, Helm, Jenkins, Airflow, Prometheus + Grafana + Loki, Newrelic, Sentry, AWS (Cloud Provider)
- BI Tool - PowerBI
- Dev Tools - VSCode, Gitlab (git - VCS), Slack/Google Chats
Kubernetes EKS Infra / Stashfin Infrastructure and DevOps
Deployment Infra
- Helm package management (client) - Updates - Whatup
- Kubernetes Manifests
- Jenkins (CICD)
- Pipeline
- Self service CICD
AWS
- VPCs
- S3 - Athena
- IAM
- EC2
- Spot Instances
- Savings plan
- Elastic Container Registry (ECR)
- Pinpoint - AWS Firehose for delivery metrics
- EKS
- ELB (Classic LoadBalancers)
- Amazon Rekognition
- Amazon Textract
- Amazon Transcribe
Databases
- Redshift
- Aurora (RDS)
- Redis
- RedisInsight
- Redis Streams
- DynamoDB
- S3 (Blob storage)
Airflow
- Postgres
- Airflow web
- Airflow flower
- Celery Workers
- Kubernetes Executor
Others Used
- CloudFlare
- GitLab
- Kubernetes - Kubernetes Dashboard / BotKube
- Istio - Keycloak
- Sentry (Error Tracking)
- cert-manager and LetsEncrypt
- NewRelic (Application Performance Monitoring APM)
- Prometheus
- Alertmanager
- Grafana
- Locust (load testing)
- Application and Web Servers
- Application Development
- Testing
- Selenium
- Appium
- Postman Runners (newman)
- Languages used
- PHP (Codeigniter)
- Java + Kotlin (Android)
- Python (Fast API / Django / Flask)
- Javascript (React)
- OpenVPN
- JupyterLab
- Analytics
- PowerBI
- Firebase
- SonarQube
- Velero - Disaster Recovery
- Deployment Strategies
- Blue/Green
- Canary
- A/B
- Mirroring
- ExternalDNS
Others Alternatives POC
- TICK
- InfluxDB (device health monitoring)
- InfluxDB (server health monitoring)
- Kapacitor
- Chronograf
- Telegraf
- Kong (dbless)
- Konga
- Vernemq (mqtt broker)
- Druid - Zookeeper