5 Comments

Summary:

The popular social network uses devops software deployment smarts to keep all those pinboards up and running in the face of explosive growth and still be able to add features, according to operations engineer (and devops pro) Ryan Park.

Pinterest, the popular “pinboard” social network, knows a little something about meteoric growth. Recent research from Experian Marketing Services shows that, in North America, online visits exploded to 28.95 million per week in July, up a whopping 5,124 percent from 1.27 million visits for the year-ago period.

And Ryan Park, operations engineer for the San Francisco company, knows a lot about what it takes to keep the systems supporting all that growth running. In his view, devops plays an important role there. Devops is the school of thought which mandates that developers and IT operations people work together to deliver new features to end users/customers. Traditionally, developers worked on more monolithic code releases and then threw them over the wall to the operations people who –ready or not — had to deploy the software. In many cases neither camp knew much about what the other did and that tended to lead to deployment issues.

The much-touted advantage to devops is a faster, more efficient delivery of needed new features. More incremental updates and faster fixes means happier end users/customers. What has been less covered is that devops is hard. It is, it’s a new way of doing business, but it’s still worth doing. The learning curve for tools like Puppet Labs’ Puppet (see disclosure) and Opscode’s Chef is pretty steep, but that shouldn’t stop companies from using them, Park said.


Here, from Park, is a boiled down list of what companies should do to make the devops transition as painless as possible and build a solid process that lasts.

1: Use automation. Take a look at the available tools, pick one and use it, Park said.  Pinterest uses the Puppet configuration management tool which automates the process of launching new servers as needed and — perhaps more importantly — configuring them correctly.

“Before there was a lot of manual integration, a lot of tracking names and checking what server was doing what, adding access for new users. It was all by hand and a real pain and it wasn’t always reliable — maybe only 91 of 100 servers got rolled out, automation solves that,” he said.

2: Build a single source of truth. It’s still not easy but the use of the Puppet or Chef dashboard makes it easier to  keep track of which systems are running in house or on Amazon EC2. “It’s important to get in the habit of setting up that source of truth — systems need to know the names of all the servers and which are running memcached [distributed object memory] or other services.” Park said. But to get that all-important repository, that data has to be entered.

3: Mitigate culture clash. Developers and ops people think and  work differently largely because they have traditionally had conflicting goals.  Developers want to deploy the coolest stuff fast and ops people want to make sure the systems that are running now keep running.  It helps to hire software engineers that understand something about operations and operations pros that understand something about development. And both groups need to be aligned with the company’s business goals.

4: Think ahead. Enterprises that already have large dev and ops teams in place have one set of problems getting those camps to work together. Startups have an advantage in that they’re starting smaller, but as they ramp up, it’s important for them to set up their processes and technologies right so that changes and additions down the road come easier, Park said.

5: Embrace the community. There’s a growing number of devops pros out there. Use them.  Get on the right mailing lists, attend meetups and vendor conferences. Pinterest’s Park will speak about devops lessons learned at the Puppet Conference is coming at the end of the month, for example.

 Disclosure: Puppet Labs is backed by True Ventures, a venture capital firm that is an investor in the parent company of this blog, Giga Omni Media. Om Malik, founder of Giga Omni Media, is also a venture partner at True.

You’re subscribed! If you like, you can update your settings

  1. Companies who do agile development and DevOps also need agile support. Trying to support the applications themselves as they rapidly change can be a lot of work!

    Thanks,
    Matt Watson
    Stackify DevOps
    http://www.stackify.com

  2. It’s much more difficult to go from nothing to using something like Puppet/Chef than to start using it from the beginning, even if there is a learning curve. The problem is you can easily just apt-get install a package in a few seconds whereas using Puppet you have to write out a proper manifest but the savings are in the long term when you have to deploy more servers of the same type and want to ensure everything is consistent. There’s nothing worse than trying to debug a problem which is caused by inconsistent packages across servers and you have no idea why something is working on one but not the other!

    It can also help development because you can run Puppet on dev machines so they’re set up identically to production.

    1. @david i do hear that for sure. that initial devops set up is onerous but once it’s done — things get a bit easier… and the quality and speed of rollouts improve tons…

  3. (415) – Asher Bond Tuesday, September 11, 2012

    DevOps is the difference between friction and finesse and scalability is the difference between one and 15 minutes of fame.

    In the early stages from cradle to grave,

    – Asher Bond
    Software Designer at Elastic Provisioner, Inc.

  4. Great article thanks! It’s so wonderful that there’s such a tremendous amount of resources available to Pinterest marketers. An excellent Pinterest Influencer Network I’ve come across that’s been really helpful to my biz is PinLeague. They’re basically a one-stop shop of Pinterest marketing resources definitely worth mentioning. Hope this helps and thanks.

Comments have been disabled for this post