Site availability and performance lessons from MoviePass

Movie subscription service MoviePass has been in the news this week. The service has been around for several years, and this week the company announced they are reducing the price of their subscription service to $9.95 per month.

We can argue all day about how exactly MoviePass is going to make money by selling $10 plans that allow subscribers to see a movie per day in a movie theater. We can debate if the service will scale, how they’ll make money by selling data, and so on. But this isn’t that kind of blog.

Hammer Brother Going after MoviePass' websiteWhat we can dig into is what’s happened to MoviePass’ website this week.

It’s gotten hammered.

It has been several days since the announcement, and the website is still suffering sluggish performance, intermittent outages, and  lots of broken images and icons. Let’s do a quick look at their infrastructure.

Quick fixes

I believe there both large and small things that MoviePass can/should have done to keep the site online and accepting new customers. After all, without customers, they won’t have a service very long.

Hosting

MoviePass HostingIn looking at their IPs, it looks as if they’re hosted by eNOM. This may not be 100% true, as during a period of downtime earlier this week, it looked like the site might be hosted at Linode. So we’re unsure on this one, but whatever plan it was, it wasn’t enough.

If it were me, I would have a site like this live at a cloud provider like Amazon Web Services or Google, where I would be able to set up a load balanced arrangement and add servers as needed to meet demand, then scale them off when demand dropped. After this initial rush, you may not need 10 web servers, but for now, you probably do.

Content Delivery Network

All the images and the all the javascripts except for one are hosted in an Amazon S3 bucket. That’s very good – a nice way relieve traffic on  your application server. The good news is that s3 traffic is relatively cheap. Again, if it were me, I’d go a step further and serve those assets from Cloudfront, which will distribute them and serve them from the closest data center to the user. S3 will only serve content from the datacenter where the bucket was created. That means users in Seattle will have to pull data from Virginia, for example.

404s and API Errors

There are several 404 errors and some API errors from Google. Those will also slow down the site as the images are asked for, and the API returns errors instead of content. Tweaking those will increase page draw speed and reducing errors is always good.

MoviePass errors

Transactional Email

These 404 errors also carry over to the welcome email you get as a new customer. Yes, I totally signed up. I love movies and figured I’d try it out. These broken images doesn’t make for a very welcoming experience. See:

MoviePass email message

Kudos to MoviePass for using a 3rd party transactional email sending service like SendGrid. I’m a SendGrid customer, and the service is great, but with a bit of setup, you can get rid of the “via sendgrid.info” message in the header. Most users probably don’t notice that, but I do and its easy to fix. I’ve written about outsourcing your transactional email before.

I’m excited to try the service out, and I hope MoviePass makes it. Guys, if you need any help with your site, hit me up. I’ll trade you for some free movie passes.