TNS Makers: Puppet Labs CEO Luke Kanies Says There is No Future with Fewer Servers

Luke Kanies, Puppet Labs: The New Stack Interview, Part One
Alex Williams: I’m here with Luke Kanies — CEO and founder of Puppet Labs — at Puppet Labs’ new headquarters in downtown Portland. Luke contacted me after we ran a New Stack Makers interview with Mitchell Hashimoto.
Mitchell said that he agreed with something you said, Luke: “There’s no future where there’s less servers.” You told me that there’s a story behind that, and I’d love to hear it.
Luke Kanies: Thank you very much for taking the time to come talk.
People come up to me all the time and say, “You’ve got this great business right now, but what happens when people don’t own any servers anymore? What happens when all the companies you work with have all their servers on Amazon instead, and don’t have any servers anymore?” This statement is a response, in some ways, to how silly that question is.
If you look at the long-term of our industry, the longer quote is, “There’s no future in which there are fewer servers, there’s no future in which there are fewer services, and there’s no future in which those services are less important.” No matter how the technology plays out, we’re going to add more servers. They’re going to keep getting smaller, and the services they run are going to keep getting more and more complex, more and more important.
How many services that you use on a daily basis, would you notice within an hour or two hours if they were down? Ten years ago there weren’t that many that you would notice right away, and now it’s tons, right? And if you look a few years out, it’s just going to keep going up and up, especially if you’re a large company. It’s not about the server counts coming down, or the criticality going down; it’s really just about things moving around.
There is a meme or a sticker that I see on Twitter periodically, that says, “There’s no cloud — there’s just other people’s servers,” and that’s the right way to put it. Maybe we as a company would have owned more servers ten years ago. Those servers still exist — they’re just in somebody else’s data center; they’re just being managed by somebody else.
He followed up by saying, and I think it correlates to what you’re talking about, “There’s not less servers, but I believe there’s a future where you yourself are running less servers, because service providers are picking up the functionality for you.”
Luke: Overall I agree with that, unless you’re one of the service providers. Salesforce doesn’t have fewer servers. Dropbox doesn’t have fewer servers. Amazon certainly doesn’t have fewer servers. It’s much more about who has what servers, and what variety of servers you have. The thing that’s absolutely changing for everybody is, there’s a lesser variety of servers within any given organization.
When I was coming up as an admin, we had our mail servers, we had our web servers, our backup servers, our database servers — we had everything. Now, at Puppet Labs, most of our servers are devoted to running the internals of the company. Our QA stack, for example — the stuff that’s necessary to build and test our own software — is our biggest investment in infrastructure. I’ve been at pretty big companies that had fewer servers devoted to their entire company than Puppet Labs has devoted to testing our software. So, you can’t really say we have fewer servers than we would have had ten years ago. What you can say is, we have a lot smaller variety of servers, at least.
Increasingly, the devices that we use anywhere will become, in many ways, as powerful as servers are today. So, it’s a question of how you define a server in this day and age. He also says, “Going back five years, people would say things like, ‘We can never run our database on a service provider because that’s our ground rules,’ or, ‘We own our users’ data, we can’t let that out.’” A lot of startups now are using database providers, and it’s becoming the norm. He cites RDS and Heroku Postgres. What’s your view on that movement as you think about your business?
Luke: We’re an enterprise-focused company. Things that startups do are always interesting, but are seldom indicative of what we expect the future to be, necessarily. Startups do a lot of crazy things — some of those crazy things turn out to be crazy/brilliant, and end up taking over the world in five or ten years.
That’s right — you could put yourself in the startup camp.
Luke: Startups also do a lot of things that end up being perfect for a five-person company that’s all developers, and that has no users and no sysadmins. It’s easy to fall into the trap of thinking, “Well if it works well for a five-person dev shop, then it’s going to work well for everybody.” In this case, I do think that this trend is going to get more and more so. I think that it’s really good for all parties involved. It’s great for the consumer of the service because they get to focus more and more on their core business, and it’s great for the service provider because their core business becomes being a service to you. It’s a function of mutual specialization.
When I was an admin — ten, fifteen years ago — I had to know a little bit about everything that I did. If I were an admin at Dropbox or at Uber today, I could really focus on just managing and running the one piece of software, or the three pieces of software, that we provide to our customers. That allows me to have much greater depth of experience in that one area, and I don’t have to worry about being a mail company, or being a backups company, or any of those.
The counter-argument to Mitchell’s point also shows up in the same place, where you say, “If I am Dropbox, am I going to trust an external service provider to own any part of the stack that is my specialty — the thing that I am particularly good at, the thing that differentiates me and makes me a special, unique and beautiful snowflake? Am I going to let somebody else own that part of my stack? Or, am I going to work hard to outsource at the service layer every other part of my corporation, every other part of my technology stack?” I might work hard to own everything from the user interface to the silicon because that’s my specialty — that’s the thing that makes me different.
There, I think you’re going to find a wider variety of choices than most people realize. In a lot of cases, people start with a Database as a Service — database is a great example. Most people don’t think of database as being one of their core technologies, but data starts to matter pretty quickly, it turns out. That’s going to be an interesting battleground, because I think we’re always going to have a hard time outsourcing Database as a Service. As people get really specialized and incredibly skilled at managing their customers’ data, a lot of people are going to be unwilling to relinquish that control, because it’s part of their core stack.
So, that core stack is a differentiator, let’s say. Do you see that trend changing right now? Are more people saying, “That is our differentiation,” or is that just a fact, that it’s always been the case and it always will?
Luke: It’s absolutely changing now. Again, you’re seeing this transition, from people being an inch deep and a mile wide, to being a mile deep and an inch wide. Look at Zynga, five-ish years ago, and the amount that they had to develop to make their core stack work on Amazon, when they were adding a thousand machines a week. Everything that wasn’t their core business, they just didn’t care about. “We’ll find somebody who can take care of it. We’re not going to think about it. We’re really focused on our core business.” That was the first company that I worked with that was so clearly in this new world.
Almost every company we work with who’s young — every new startup, the Pinterests, the Dropboxes, the Ubers — at their early stage, their core focus is: “What’s the product that I ship to my customers? If my customers can’t see it, I don’t want to invest technology and expertise in it. I want somebody else to own that for me. My customers don’t see the mail servers that I use, so why would I maintain my own mail servers? I’m going to pay somebody else who does that for me. My customers don’t see my calendaring system; they don’t see my background system…” — that’s definitely happening right now.
Among smaller, younger companies who get the chance to start from scratch, we’re seeing a lot of outsourcing services in the enterprise. Workday is doing fantastically because people are saying, “Using HR systems: my job. Managing HR systems: not my core competency…” — they go to Workday. They go to Salesforce for CRM. Servicenow is another one, for process automation.
All three of these companies I named are enterprise-focused, large-scale, SaaS companies, and they’re hundreds and hundreds of millions of dollars in revenue. The companies who are their customers have managed to outsource a lot of non-core competencies at the service layer. But, have they managed to trim their focuses down to the point where they themselves have a clear picture of their core competency, and to where they own a deep, narrow tech stack?
Take, for example, Bank of America, or Allstate Insurance, or any large, mature enterprise. They’ve been around for so long, and they’ve got so many applications — hundreds, thousands, tens of thousands in some cases. It’s great to be able to focus, and to push things off on other people’s services, but you never get to the point where you really only have one application, or where you only have five. Bank of America is never going to achieve the kind of focus that Dropbox is going to achieve, because Dropbox is always a magnitude smaller than Bank of America. So you are seeing it, but you’re seeing it not have the same effect at the enterprise level as it does with a startup.
How about the whole concept of building your own servers?
Luke: Google obviously led the way in this, and then Facebook copied from Google’s playbook of “let’s assemble them ourselves, but then let’s also open-source the assembly so that others can do the same thing.” Servers have ironically gotten both more bespoke and more commoditized at the same time. The server vendors have wanted to provide a higher-value service, so they tried to decommoditize their servers. Especially the large data center purveyors have said, “I want the most commodity hardware you can get; I don’t want to think about it at all.”
We don’t see a lot of people building their own servers in the enterprise. We still see people either working directly with a server provider like Dell or HP — I think HP has for a long time had the largest market share there; the price per server is going down, but it’s not going away; they’re still buying in droves — or, they’re working through a main service provider — you’ve got a data center and you buy your server through them, so it ends up still being an HP or a Dell server. Obviously, the white box servers are coming up, but even then, you’re not really building them yourself; you’re finding somebody who can sell you what amounts to one of those same servers, but for a lower price point.
If people aren’t building their own servers, what are they doing instead?
Luke: In the last ten to fifteen years of VMware we’ve transitioned from no one using virtualization in production to being 80%-95% virtualized. A lot of different things got accomplished in that transition. A big part of it is that the silicon itself doesn’t matter nearly as much. CoreOS is one ultimate expression of that: “Hey, the hypervisor layer is like this little shim, and everything that actually matters is in the container.” That’s one ultimate expression. People who aren’t anywhere near that, which is pretty much the whole market today, start to say, “What matters is the service container that I care about, and I want to isolate, as much as possible, that service container from the underlying OS and the underlying silicon.”
You don’t want to specialize your servers — you don’t want to have special servers. You want to have as boring a server as you can possibly get. If you’re hand-rolling your own servers, you inherently don’t have a boring server. You inherently don’t have something that you can afford to ignore.
Also, there are contradictory trends. On the one hand we see this trend towards ultra-commoditized, white box servers that are as undifferentiated as possible. Then we also see converged data centers — converged infrastructure — where people are paying what amounts to a pretty hefty premium to get the whole thing: storage, network, data, compute.
They want the data kept close to the converged environment…?
Luke: …and they don’t want to have to think about it. They want to say, “I just want a rack. I want it to have these parameters overall from a data center perspective, and I don’t want to think about it. So I’m going to pay you to think about it, so I don’t have to.” Whether it’s Cisco at the super-high-end, or Nutanix in the more early stage market, these people are paying a pretty hefty premium. They’re not paying white box prices for this — especially if you’re buying the converged infrastructure from Cisco, you’re getting top-notch stuff at a top-notch price.
The market’s not Boolean — there’s not one market; there’s not one picture. That also points to how companies are finding ways to always increase the amount of complexity they can manage as an organization. The brain is only a certain size, and humans aren’t getting 100% smarter every year, or even one percent smarter every year; we need our tools to get smarter for us. We need the tools and investments that we make to allow us to manage more and more complexity underneath the hood, at a given level of mental complexity. The way to do that is to find service providers who can make CRM go away for you, who can make HR go away, and who can make thinking about the silicon go away.
So that means a different level of abstraction in many ways, doesn’t it?
Luke: Absolutely. The converged infrastructure market especially is interesting, because in most cases it starts out just being a different wire level of abstraction. The software that runs in them is exactly the same software in a lot of cases; it’s just wired together differently and purchased differently. It’s a purchase order abstraction: I only have one purchase order instead of five purchase orders. Or, I have one less middleman to deal with because I can buy it directly from Cisco instead of having to go through a reseller who’s going to go offsite and wire it all together for me. They’re almost physical abstractions, in some sense. It absolutely is providing abstractions to your customers, so that they don’t have to consume as much of their limited capacity to think about problems that just don’t matter that much for them anymore.
What about the changes in how we view automation?
Luke: It’s an interesting time because there’s so much changing right now; that’s the biggest challenge in the market overall. The biggest challenge in my job is trying to… not predict, but at least understand what’s happening. How do you separate all the stories and myths and drama from what’s actually happening in the market? How do you peel those things away? I’m making multi-million dollar investments on a constant basis. How do I ensure the right combination of investing for the future and being conservative about the present? There’s no secret answer. For me, the only thing you can ever really do is listen to customers and watch their behavior. Watching companies like mine doesn’t really help. Companies that are my size, that are in my world — seeing what they do is not very predictive.
Looking to large insurance companies, large financial companies — really, it’s following the money. Look at people who have customers, who have something that looks like maturity, who are driving real revenue, and see what they do. Which things are they moving away from quickly versus which things are they doubling-down on? Try to draw a line from what the earliest stage of revenue-oriented companies looks like, to that of the more mature or later-stage companies, and say, “Whose checks are driving the industry right now? How are those checks changing? What are the pressures on the companies who are writing those checks? How are those pressures changing what vendors they work with and what things they buy?” It’s not rocket science; I don’t have an MBA to do this work for me. I just talk to people and try to understand what they do.
How are customers thinking about automation versus configuration management, or do they not even think that way?
Luke: I’ve worked hard to never ask a customer to differentiate between the two.
…or within conversations, what behaviors are you seeing in customers that reflect a change?
Luke: The change that’s happening in the customer base today is aligned with what I was talking about earlier: the raising of the abstractions. Not too long ago, it made sense to think about the world in terms of the servers and the resources that ran on those servers. We’re trying to help our customers transition to thinking about the application as a whole, and how to think about a world that’s undergoing constant change.
If you think, “Infrastructure’s a steady state; once a quarter I make some changes to it,” then you think about the world one way, and you manage the world one way. If you think instead, “I’ve got a complicated, large infrastructure that is constantly undergoing change, and some of those changes are life-threatening, and if they go wrong, then they bring the whole service down, and some of those changes are completely innocuous and have no opportunity to cause any damage,” you don’t want to think about trying to understand the change from the perspective of the component parts. It’s like trying to track the state of CPU registers when you really want to think about your data. Your data went through the L1 cache at some point, but you don’t want to pay attention to the L1 cache in your CPU — it’s not a useful metric.
We’re trying to help our customers make that transition from thinking about the individual machines and the processes and applications that run on them, to thinking about the larger application that might be spread across multiple data centers — multiple tens or hundreds of servers: how do you automate at that level of your infrastructure instead of automating at the individual resource level?