5 ms·
write the MVP in Rails or Django and scale things that need scaling later. you can scale the base app by giving it more hardware, but when you have to batch pr
by jlebrech 9y ago
write the MVP in Rails or Django and scale things that need scaling later.
you can scale the base app by giving it more hardware, but when you have to batch process lots of stuff then think of services (most of the time you can just split that to another server).
- bpicolo 9y ago> most of the time you can just split that to another server Yeah. A starting monolith, some cronnish way to run batches, and some way to listen to queues goes a long way.
- enraged_camel 9y ago>>write the MVP in Rails or Django and scale things that need scaling later. There's a new alternative: write it in Elixir/Phoenix. You'll get the same productivity benefits with none of the performance trade-offs. Elixir apps are reliable and concurrent by default, and the Phoenix framework has none of the "magic" that Rails has, making it very developer-friendly. :) This isn't to say that Elixir/Phoenix are perfect. The ecosystem isn't as mature as that of Ruby/Rails, so finding answers to questions can take a bit longer. But that is changing quite quickly.
- bpicolo 9y agoThis is one where opinions are widespread and mostly the choice doesn't matter so much, hah. Fwiw, I've been pretty intrigued by the idea of dotnet on linux lately (integrates with postgresql and everything). dotnet isn't exactly hip, but C# is fast and it's mature (and has some pretty dope functionalish features. You can run F# if you want to, too). Planning to try how well this works in practice soon. There are things I like a lot about Elixir, but also plenty that I'm not quite a fan of.
- draw_down 9y agoWhat's really important in this context is building something quickly. That's why GP mentioned Rails and Django; they come with many things either built in or built by community, so you can focus on building your first version quickly. To the extent that is true with other tools or frameworks, sure, go for it.
- tedmiston 9y agoI've been wanting to get into Elixir / Phoenix. The biggest tradeoff there seems to be the developer productivity tradeoff you mentioned — the package ecosystem is still pretty immature.
- wolco 9y agoThe application layer is rarely the piece that needs to scale immediately. Usually the first step is to separate mysql or mongo and add more resources or further cluster as visits increase. There is a case to made to switch ruby/rail for php/laravel. Just as rapid for development and easier scaling plus bigger ecosystem. There is also a case to be made for switching Django for vue or even simple jquery in some cases.