October 25, 2012

LinuxCon Europe Q&A: When the Cloud Model Doesn't Fit

Dave Engberg EvernoteLinuxCon Europeis approaching fast. We'll be gathering in Barcelona, Spain November 5-7, 2012 to help developers, SysAdmins and business executives connect and collaborate while having a great time. One of this year's keynote spakers is Dave Engberg, CTO at Evernote. He'll be sharing a story with LinuxCon attendees about how his company designed a a system for millions of users with Linux and open source best practices and why it didn't fit the cloud model. Here he shares with us more details about what we can expect from his keynote, as well as his thoughts on cloud computing and collaborative development.

You're going to be speaking at LinuxCon Europe about Evernote's service architecture. Can you give us a little more detail on what we should expect?

Engberg: At Evernote, we approach architecture using the principle of Minimal Viable Cleverness. Systems tend to be more stable and cheaper to maintain when you use standard methodologies and stable tools. So we try to only innovate where absolutely necessary.

At LinuxCon Europe, I'll explain how we designed a system for tens of millions of users using 95 percent open source best practices and 5 percent innovation. This required identifying the unique characteristics of our application that don't fit off-the-shelf solutions, and optimizing a deployment around those characteristics.

Finally, I'll compare the costs of our infrastructure to an equivalent cloud solution to show why we feel that our particular service is one of the few that doesn't fit the cloud model.

Tell us about Evernote. What value does it place on Linux and how does the company use and contribute Linux and the community?

Engberg: When I was building Internet services 15 years ago, we'd consider a number of options for operating systems and software. In 2012, you'd need to have a very strong justification to use anything but Linux. It now has the stability and maturity to handle most service tasks, and it would be hard to find experienced staff to run a service on any other platform.

Evernote has contributed to a few open source projects (like Apache's Thrift), but our use of Linux is extremely vanilla; we're using unmodified Debian Stable in almost all of our 400+ servers. As a result, we haven't had much to contribute back to the Linux community other than a few "how we do it" posts on our Tech Blog. One good example is Matt Ackerman's postdescribing how we automate our build processes with Preseed and Puppet.

What is your take on the accelerated pace of cloud computing deployments this year? How important is open source to this market?

Engberg: Cloud computing and open source go together like chocolate and peanut butter.

The existence of mature open source virtualization systems like Xen and KVM on Linux have enabled the rapid deployment and growth of large-scale cloud environments. It's extremely easy to build robust networks of virtualized servers.

On the flip side, the users of cloud platforms have a strong incentive to use open source software on the cloud infrastructure. Commercial software vendors have had a much harder time shifting from a 1999 software licensing model with hardware-specific activation keys and other business practices that aren't friendly for fluid cloud management.

How do you think the rise of collaborative development for building software is impacting the application and services market? What can developers do to take advantage of this opportunity?

Engberg: I think the market is still trying to figure out the right balance between the flexibility of the collaborative development model and traditional business needs like accountability and maintainability. Businesses may be able to get a great deal by doing some shopping in Eric Raymond's Bazaar, but they'll also want the company payroll to be run by someone who they can yell at when they have problems.

How do you think the consumer cloud market differs from the enterprise cloud market?

Engberg: Enterprises have been running applications on network-accessible servers for many years. For most businesses, moving to hosted "cloud" applications is just a finance question: Does it cost more or less to run corporate messaging on Google Apps than an in-house Exchange server? In most cases, enterprise clouds are just a more flexible and cost-effective way to perform the same tasks as before.

Most consumers, on the other hand, never ran their own servers. For them, cloud applications represent a more significant shift to allow them ubiquitous access to entirely new categories of applications. Consumers don't think of cloud applications, such as Evernote, as just cheaper versions of desktop utilities they had in 2002. For them, "the cloud" is more of a sea change.

We're looking forward to seeing Dave's keynote in a couple weeks! To register for LinuxCon Europe, just visit The Linux Foundation events website.