

Our site was featured on CNN and Mashable this week. Here's what I learned. - dshipper
http://dshipper.posterous.com/

======
dotBen
_We originally had our site on a GoDaddy VPS server_

Developer friends don't let other developer friends use GoDaddy VPS/hosting.

~~~
dshipper
Agreed. Awful experience we hope not to repeat.

------
underwater
For anyone looking at his app be warned that it spams your Facebook wall
without asking for permission.

~~~
dshipper
We are about to add something that states that on the home page. Sorry about
that our intent isn't to spam just to spread the app.

~~~
jayzee
An intent to 'spread the app' without notification is _spam_

~~~
dshipper
That's true I guess I didn't express myself as clearly as I could have. What I
meant to say is that our intent in posting was in no way malicious and we are
going to add something that tells you we are posting to your wall. I agree
that it's definitely a necessary addition so that our users know exactly what
theyre getting

------
marcamillion
Congrats on your success...however, I have to point out something. When you
said Rackspace, were you talking about Rackspace Managed Hosting (where you
pay $1k/mo in a yearly contract) ? Or were you referring to Rackspace Cloud
(where you pay per usage) ?

Either would work from a technical point of view, but I think the former
reinforces the notion of premature optimization.

In your case, it was absolutely worth it - but how many people are going to
decide to use InnoDB and memcached and get a trickle of traffic ? Probably the
vast majority.

I think you did the right thing, went with what was best for you at the time
and migrated as needed. Although, perhaps you thought it was crazy stressful,
imagine if you signed a $15K yearly contract and Mashable and CNN never
covered you and you never got that huge influx of traffic.

So yes, in your case, if you had moved to those specific infrastructure stuff
before getting that large spike in traffic, it would have made your situation
much more bearable.

But for everyone else, that there is no guarantee that they will get the
traffic - I would caution against preparing for the best case scenario (when
unfortunately the likely result will be a modest amount of traffic).

Just my $0.02.

------
savramescu
Nice article. I think that first step in getting a start-up is the hardest.
I've been trying for some time, but I'm a programmer to the core. Never
understood design. Whenever I found someone interested in something will
happen for /sure/ and the whole thing goes down. I'm trying to compensate now
by learning to do a basic design so I can jump-start something. I can always
/pay/ someone for a design later if the website gets traction.

/hat tip for the story

~~~
dshipper
Thanks for your thoughts. I really think a key to design is to keep track of
websites that you like the look of and try to make something similar. Once
you've mimicked enough designs you'll be able to do more original things. All
it takes is enough time in Photoshop. Good luck!

------
laf2019
Good going guys! It's great that something you worked on at such a young age
did well. While it is true that you should keep scaling in mind, dont waste
too much time or money worrying about it before you need it. That's what makes
cloud services awesome. By the way, how much did this end up costing you with
bandwidth?

~~~
dshipper
Thanks for your thoughts I really appreciate it. And I think it's gonna end up
being around $200 for the month.

------
wesleyzhao
Great takeaways Dan! Next time we create a fun app again, we will spend 72hrs
awake tending to a whole other set of problems!

Important thing is we'll enjoy the ride and keep learning. Love the post.

~~~
dshipper
Thanks! It's true but I guess it wouldn't be fun if it wasn't difficult. Let's
keep this going.

------
wacheena
Great work. Can you expand on the FB oauth_id comment, how are you storing the
ids now?

~~~
wesleyzhao
This advice was thanks to the fabulous support at Rackspace (specifically
Paul, ask for him). We had been fiddling with changing big queries to little
queries, processing upfront vs behind the scenes, and nothing worked!

All we did was add a couple intval() calls into our php script and changed the
column to big int AND add an index and we had one 30s query go down to 0.6s.

So:

Use ints whenever possible. Index.

~~~
danielharan
/me shakes head in disbelief

"Index" is by far the big lesson here.

Also, 0.6s is still way too high. What kind of funky join are you doing?

~~~
wesleyzhao
We actually have no joins haha. The support always asked if he had joins but
no...I actually don't even know how to do joins. But I hear that Facebook
highly encourages not doing joins anyways...so efficient learning?

~~~
danielharan
WTF mate? 0.6s is WAY too high if you're not doing a join. Catch me on IRC if
you'd like a hand.

