Six month before i’ve decided to dedicate all my time to setup from scrach and alone a whole online service.
My goal was to earn enough money to do it the rest of my time. Yes it was really ambitious but it remains great things:
- a service online, in production, 922 users, 7 dedicated servers, web and mobile web version
- some cash, very little cash but some cash expected to lineary progress over time and content
- a great adventure and the opportunity to gain skills, xp and be proud to have done all of this alone
So, after 6 month ?
Agressive roadmap compromise scalabilty
- mongodb and ruby orm mongoid are great but do lot of magic. So you can put a feature in production in less than 2 hours but you shloud really be carefull about all the running queries in the background. But i would said, at this level of the project thats ok. You have to code fast, to push new sutff in prod. But be aware that you need to rewrite a lot of code later. And its not the developer business. its the CTO and CEO business.
- monogDB -> redis -> cassandra + elasticsearch ? so its time for me to scale. What is good with redis: there is no magic. Everything is clear, we can esealy evaluate the cost of each request. So i plan to move many things to redis. I have an eventullay consistent model where i issues most of the performance bottleneck today. I can handle data not up to date, heavy cache and maybe write loss ! This is just playlist ! I hope symplifying models on my side will be a huge step forward dbs like cassandra. Simple data structure, maybe trivial in my case but massive scale, multi datacenter and so on…. elasticsearch is my best friend. Also for key value json document retreival ans of course a really impressive search engine i have lot a remaining tuning task
- you shloud compromise scalability at the beguining. assume things will fails, servers will go down, network will split, hard drive will break. and assume you need to write dirty fast code at the beguining to have an agressive roadmap always adapted to the latest user feedback.
I listen to much people, i need to watch more what people effectively do on my app
- may people said my former project was so great ! but not all of them subscrive to my app. On the other side i see people using differently OnePlaylist. So i guess i had something to develop, i have use cases of my site i didn’t imagine it could give me some cash and user happyness.
- i was ready to mutate my product but not so fast. I think i have spent to much time on the former idea. I thought i should drive the concept to the end but i was wrong. On the other hand, the part raising on my site did take effects only severals days ago. So i have to admit its not easy to know when to change the product.