Ask HN: Which stack do you use at your startup?
21–30 of 128 posts
Re: Ask HN: Which stack do you use at your startup?
#22We [1] use a Laravel back-end for the main system, hosted on autoscaling EC2 behind a load balancer. Our front-end web application is built on Angular, running on S3 behind CloudFront. Since we process a lot of data, we use background jobs (with SQS as a broker) to perform our analyses. The actual data processing and wrangling is done in Python. We have released some parts of our systems as open source projects [2],…
A couple of questions:
1. Why did you go with Python for data processing instead of PHP?
2. Why not use Redis for queue/background jobs processing?
Re: Ask HN: Which stack do you use at your startup?
#23We use Elixir, Go, C++ for backend and JS, Java / Kotlin, C# for frontend. We also use Postgresql, Rabbitmq and Redis.
How are you managing deployment of these many technologies? What does your CI/CD workflow like?
Re: Ask HN: Which stack do you use at your startup?
#24Re: Ask HN: Which stack do you use at your startup?
#25Amazon S3 for storage, db/redis for queue processing.
Great setup, a lot of the headache is taken out and lets us focus on the development aspects of creating software.
Re: Ask HN: Which stack do you use at your startup?
#26Re: Ask HN: Which stack do you use at your startup?
#27Re: Ask HN: Which stack do you use at your startup?
#28https://fibery.io - Work management platform for SMB
Stack:
Clojure
PostgreSQL
Kafka
React
Javascript
Re: Ask HN: Which stack do you use at your startup?
#29We [1] use a Laravel back-end for the main system, hosted on autoscaling EC2 behind a load balancer. Our front-end web application is built on Angular, running on S3 behind CloudFront. Since we process a lot of data, we use background jobs (with SQS as a broker) to perform our analyses. The actual data processing and wrangling is done in Python. We have released some parts of our systems as open source projects [2],…
Great to see Laravel in this discussion! Beautiful framework. A couple of questions: 1. Why did you go with Python for data processing instead of PHP? 2. Why not use Redis for queue/background jobs processing?
1) At the time, Python (and with it pandas/numpy) seemed to be a good fit for the data we were working with (and the analysis was developed as a separate project from the main system that calls it). If we were to do it over right now (and we well might in the coming months) we would probably move this into PHP as well, which makes writing workers much easier.
2) Cost-wise, SQS makes a lot of sense - the system is highly distributed and cut up into parts (the description in my first comment is a bit simplified) so adding redis to the mix means adding a whole new server. For SQS, we're just paying per-message (and we don't have a _lot_ of messages, so it's cheap). Furthermore, I've built an algorithm to scale up the background workers based on the queue size of SQS. This runs in Lambda, which makes it super easy to access SQS properties versus connecting to a remote redis server. Basically, the algorithm rents new EC2 instances whenever the load is high and terminates them whenever the load is low.