22
How we manage Backend Services at Fusion
It’s been around 1.5months we shifted the entire backend services to AWS, being previously on Heroku. Coming from Heroku background it’s quite different to have your services running on AWS!!
We have 5 different services running on a single Kubernetes cluster with three nodes of t2.medium and all in autoscale mode!!
Also a big thanks to porter.run for making it as simple as Heroku to deploy stuffs!
What all services are currently running at Fusion?
- Event-collector service (tracking engine) — Javascript
- Query Service (query engine) — Javascript
- Email service — Python
- User service — Python
- Payments service — Python
- Chat Service (Currently running on Heroku)
What type of services are these and how much intensive?
- Event-collector (this is the most intensive service bearing a lot of requests being made in a single interval of time)
- Query Service (DB LookUp service)
- Email Service (A SMTP server for email campaigns)
How we do use event collector?
It’s purely asynchronous, also will be adding queuing service of Redis/RabbitMQ. As we can register events in a lazy manner!
How do we use Query Service?
This is something where we are entirely dependent on the DB service/RDS which we use for PostgreSQL. We will be soon shifting to ClickHouse(Column based DB)
How do we use Email Service?
Currently we are only using queuing to scale the email service and this can be used to pretty large number of emails to be sent in a batch!
RDS Used?
Currently we are entirely using AWS RDS for PostgreSQL. But will be soon moving to ClickHouse DB!
How far we are at Fusion?
- #1 product of the week on Remote.Tools
- #1 product of the day on BetaList
- Featured on Product Hunt
What are we trying to do?
We are bringing an open source alternative for Amplitude/Mixpanel, Hotjar/Smartlook, Mailchimp, CleverTap/WebEngage
Also we are open-source, soon to be releasing the newest patch of codes!! Stay Tuned in for more engineering blogs!
22