Tag Archives: Detailed

Adventures in Scaling, Part 2: PostgreSQL

Several months ago, I wrote a post about REE Garbage Collection Tuning with the intent of kicking off a series dedicated to different approaches and methods applied at Miso in order to scale our service. This time around I wanted to focus on how to setup PostgreSQL on a dedicated server instance. In addition, I will cover how to tweak the configuration settings as a first-pass towards optimizing database performance and explain which parameters are the most important. Why PostgreSQL? Before I begin covering these topics, I want to briefly touch on why our application (and this tutorial) is centered on PostgreSQL and not one of the many other RDBMS…
Read More »

12 Comments Filed Under: All, Engineering

Building a Platform API on Rails

Introduction In my last post, I discussed the failings of to_json in Rails and how we approached writing our public APIs using RABL and JSON Templates in the View. Since that post, we have continued expanding our Developer API and adding new applications to our Application Gallery. The approach of using views to intelligently craft our JSON APIs has continued to prove useful again and again as we strive to create clean and simple APIs for developers to consume. We have used the as_json approach on other projects for years in the past and I can say that I have not missed that strategy even once since we moved to…
Read More »

39 Comments Filed Under: All, Engineering

If you’re using to_json, you’re doing it wrong

At Miso, we have been very busy in the last few months building out a large number of public APIs for our Developer Platform. In a short time, we have already seen early versions of applications built on our platform for Chrome, Windows Mobile 7, Blackberry, Playbook, XBMC among others. This has been very exciting to see the community embrace our platform and leverage our data to power additional services or bring our service to a new group of users. In this post, we will discuss how we started out building our APIs using Rails and ‘to_json’, why we became frustrated with that approach and how we ended up building…
Read More »

34 Comments Filed Under: All, Engineering

Adventures in Scaling, Part 1: Using REE

The engineering team at Miso has been quite busy the last few weeks hacking on new features for the site, as well as on experimental ideas regarding the ‘future of social TV’. We are also busy fleshing out the Developer Platform that allows others to build applications using our API and to embed widgets displaying a user’s latest watching activity. [Post on building a OAuth REST API is forthcoming...] As always, we are very focused on infrastructure and stability as our user base grows. There are a lot of important lessons we have been learning as we continue to scale our application. An ongoing theme of this blog will be…
Read More »

9 Comments Filed Under: All, Engineering

Easy Monitoring of Varnish with Munin

If you’re looking for a reverse proxy server, Varnish is an excellent choice. It’s fast, and it’s used by Facebook and Twitter, as well as plenty of others. For most sites, it can be used effectively pretty much out of the box with minimal tuning. Like many decently-sized Rails apps, we leverage a lot of open source code. Dozens of gems and plugins, a variety of cloud services, Varnish and Nginx for caching and load balancing, and various persistence solutions. The point is, as our app usage has grown over the last year, we’ve had our share of stressful, on-the-fly debugging while our app was down. That’s not the best…
Read More »

7 Comments Filed Under: All, Engineering

Engineering at Miso

Recently, the Miso team came to the conclusion that alongside our existing Miso blog, there was an opportunity to discuss an entirely different aspect of what we do. While the official blog covers exciting new features and news, the posts here will have a much more technical and entrepreneurial focus, highlighting the engineering and creative efforts at Miso. As my first post, I wanted to take a stab at a breadth-first overview of the state of things from an engineering perspective at Miso as we begin the new year. Our Development Team We have been very fortunate to put together a great team here and introducing each of us is…
Read More »