Building Your Own Network Automation

There’s an important piece of infrastructure lacking the appropriate level of automation. In fact, without this part you are not connected to the Internet. I’m talking about the network hardware that moves packets between your backend servers and your customers. [Read More]
Tags: neteng archive

Swift: An Introduction to the Language

There was a huge amount of interest in Swift after it was introduced by Apple earlier this year. Not only were iOS engineers at Shutterstock learning everything they could about the new and evolving language, but there was a ton of interest in Swift from across the engineering organization. [Read More]
Tags: swift archive

Stop Using One Language

In any technology company one of the fundamental aspects of its identity is the technology stack, and programming language that it’s built on. This is what defines types of tools that are fair game, and more importantly, defines the types of engineers who are hired and capable of succeeding there. [Read More]

Increase Performance with Automatic Keyword Recommendation

For most large-scale image retrieval systems, performance depends upon accurate meta-data. While content-based image retrieval has progressed in recent years, typically image contributors must provide appropriate keywords or tags that describe the image. Tagging, however, is a difficult and time-consuming task, especially for non-native English speaking contributors. [Read More]

Monitoring High Scale Search at a Glance

One of our key missions on the search team at Shutterstock is to constantly improve the reliability and speed of our search system. To do this well, we need to be able to measure many aspects of our system’s health. In this post we’ll go into some of the key metrics that we use at Shutterstock to measure the overall health of our search system. [Read More]
Tags: archive

Stop Buying Load Balancers

Start Controlling Your Traffic Flow with Software

When it comes to traditional load balancers, you can either splurge on expensive hardware or go the software route. Hardware load balancers typically have poor/outdated API designs and are, at least in my experience, slow. You can find a few software load balancing products with decent APIs, but trying to use free alternatives like HAproxy leaves you with bolt on software that generates the configuration file for you. Even then, if you need high throughput you have to rely on vertical scaling of your load balancer or round-robin DNS to distribute traffic horizontally. [Read More]
Tags: neteng archive

SQL Shells, Rebooted

Like many other Linux/open-source software tech companies, Shutterstock makes extensive use of tried-and-true technologies like MySQL. We are always exploring different database technologies such as Riak and MongoDB, but at the core of our business is a highly available and tightly managed MySQL infrastructure. We started on MySQL with a loosely-designed schema and have been adding to it incrementally over the years. [Read More]

Feersum in the Wild

Perl's Evented Web Server

We use open source software in just about every form it takes: programming languages, operating systems, web servers, databases, and even firewalls. We try to release some of our own software, too. Open source software has all kinds of advantages, but one of my favorite reasons is how easy it is to fix problems if any arise. [Read More]

Why Perl?

At Shutterstock we use Perl, and have built our industry-leading website using a Perl and an open source stack. Here are some reasons we love Perl and why developers feel fanatical about Perl! [Read More]
Tags: perl archive

Our Developer Ethos

Over the years, the Shutterstock development team has grown from two people to almost twenty today. We’ve tried to maintain a consistent development culture during that time because it provides a spirit that makes us want to be here and keep getting better at what we do. [Read More]