On the list of the largest infrastructure cloud providers, one company stands out: DigitalOcean, a six-year old startup that has not only managed to compete with the larger enterprise providers like Amazon and Microsoft, but has established itself as one of the most (if not the most) developer-friendly cloud providers on the market. The barriers to entry—both technical and economic—in the cloud computing market make it incredibly difficult for new startups to gain any traction, yet DigitalOcean has rapidly expanded its market share over the years. Increment sat down with DigitalOcean’s CEO Ben Uretsky and CTO Julia Austin to discuss how DigitalOcean got started, how they managed to position it in the market, how they overcame the technical and economic challenges they faced along the way, and what they’re planning for the future.
Increment: How did DigitalOcean get started, and how did you position the business so that you stood out from the enterprise crowd?
Ben: This is the second company that I’ve started, and the story really goes back to the first business, ServerStack. It was a managed hosting provider, and our big competitor at the time was Rackspace. In 2011, we had a thousand servers worldwide that we were managing for our customers, a few million in annual revenue, and around twenty employees. We noticed that we were losing many prospects that were ideal customers for us to Rackspace, because they had built a strong market position around support and being able to manage the whole application environment. It was kind of frustrating, because ServerStack was able to provide newer hardware and more support at a much lower price point, but customers would consistently choose Rackspace, the market leader. Our biggest existential threat, however, was that Amazon Web Services was becoming mainstream and was challenging the datacenter model on which our company was built. We knew that even if we figured out how to compete with Rackspace, Amazon would jeopardize our five-year future.
This gave us the opportunity to step back and really assess what we wanted to do in the next five years. It was through that process that we began creating DigitalOcean. We knew that cloud was the right way to build modern applications, and so we knew we would definitely build a cloud company. But where our story gets really unique is that we knew we had to create a very differentiated position for ourselves in the market, which was something that our first business didn’t really have.
We were eight years into ServerStack, so we knew how to run a company, we knew how to run business operations, we knew how to run the tech and the infrastructure, and we had great customer satisfaction. The one thing we didn’t have figured out was how to position our company in the market. We wound up reading a ton of books, including all the typical startup literature like The Lean Startup and some cool stuff like Blue Ocean Strategy, and all of the books helped inform the direction we ended up taking with DigitalOcean.
One of the books we read, called Positioning: The Battle for Your Mind, was fundamental to figuring out the direction we should take. We learned three things from it. First, we learned that we didn’t want to compete with a market leader, which was the mistake we’d made with the first business. Second, we learned not to educate: if we needed to explain to our customer why our service was valuable, it was going to take a very long time and a tremendous amount of money to make them see our point of view. Third, we learned to keep it simple, and that if we kept it simple it would be more likely that the customer would develop an emotional connection to the business itself. We were going through the framework in that book and trying to figure out where to position ourselves. We kept saying to ourselves over and over that DigitalOcean had to be simple, and then we realized that simplicity itself could be our differentiation.
Amazon was an enterprise company, and their cloud offering was first an internal service that they developed for their own teams to deliver the Amazon website. They realized that other companies had similar pain points, so they rebuilt and packaged their internal service as AWS, which is meant for much larger companies similar to Amazon that have huge requirements and compliance needs. Instead of focusing on the battle for the enterprise that is now playing out between AWS and Azure, we hypothesized that a developer at a small company or a startup had a totally different set of needs than a large-scale enterprise company. We decided we would create a really simple, easy-to-use developer-oriented service and focus on the user experience. We were able to put the customer first, and work backwards to make the right product for them rather than packaging our own internal services and selling them as an external product.
And what wound up happening is that when a new customer tried DigitalOcean, we delivered exactly to their expectations. Today we have an extremely high net promoter score and customer satisfaction, and we’ve also found that developers are very social—they’ll share on Twitter, they’ll talk on Hacker News, they’ll write blog posts, and we see them saying “hey, have you tried DigitalOcean?”—which has given rise to the rapid customer acquisition we’ve seen. This Summer, we celebrated our one-millionth customer signup, which speaks to the difference between DigitalOcean and the enterprise cloud providers: DigitalOcean allows developers to deliver an application as quickly as possible to the market with no pain.
What are the biggest technical challenges DigitalOcean has faced in the past?
Julia: The biggest challenge we are facing is that we’re building at scale. We have a million customers who are using our product and who are starting to put really sophisticated workloads onto our product, and we’re still trying to maintain simplicity. The drum I’m beating with my team is that we can’t compromise simplicity and we need to create a user experience that nobody else out there offers, but we still need to make our platform robust and secure and able to handle a lot of businesses. It all comes down to performance and scale issues—a lot of backend stuff that our customers should never have to see or deal with—and figuring out how to build an incredible platform for developers to build applications on top of at scale.
We need to maintain that original simplicity while dealing with very sophisticated workloads, which we’re starting to see more and more of. The challenges of scaling and handling these workloads isn’t just related to the number of new customers joining the platform, but also the type of new customers we have: more and more companies are beginning to move their workloads to us and are starting to ask us to do things that we’ve never done before. It’s really fun, staying on top of that while partnering with them and seeing that they understand the importance of running on a developer-friendly platform.
Do you think that your technology challenges will stay the same as you continue to scale and grow?
Julia: Scaling will always be a challenge—it’s something every business has to deal with. For DigitalOcean, the future challenge will be about how developers shift their mindset and trying to stay in touch with developers as they become more and more enabled. There are several CEOs that I coach or work with who have started companies and either already know how to code or are using various platforms that allow them to spin up their applications without needing to know how to code. If we want to be part of the equation, we need to always be thinking about new ways to stand up infrastructure and spin up applications with far less complexity so that founders of companies, engineering leaders, and all developers can just focus on building great software. Coding itself is a fun and creative process, but it’s a challenge so we need to make sure that the infrastructure pieces—the compute, storage, and everything else you need to build an application—are not bogging developers down.
How has DigitalOcean been able to overcome the huge economic barriers to entry that exist in the cloud computing space, and what are some of the economic challenges the company has faced?
Ben: I don’t think this company would be able to exist were it not for our first business, which was the incubator that helped us build DigitalOcean. We were able to provide a set of servers, the technical operations staff, and the monitoring and other systems we had and build the DigitalOcean environment very early on, before we had any outside investment. There was an 18-month incubation period from our first line of code in June 2011 until we had serious traction in January 2013, and around a million dollars came out of that first company and built the second one.
We were always very capital efficient, and being based in New York and dealing with many financial services firms we learned to keep a very close eye on the economics of what we were building. This extended to the pricing model, which is one of the things that really led to our rapid growth. Most companies will typically do a competitive analysis of the prices in the market, and will figure out where they fit in in comparison to everyone else. We took a very different approach.
Because we had already been running a business for eight years, doing essentially the same thing with ServerStack that we wanted to do with DigitalOcean, we were able to figure out the cost structure that it would take to deliver a Droplet (our virtual machine) to the market. We then created a reasonable amount of markup that delivered a 50% margin, and with this unit economics, we were able to build up a scalable business and ensure that the profit we were generating was sufficient to hire the people we needed to grow the company. This enabled us to deliver a price that was way ahead of many of our competitors, so we felt that we were doing right by our customers. Rather than being competitor-centric, we were customer-oriented. This was all one part of the equation.
The second part was that, when we went to raise venture capital, we had already proven our product and its traction in the market. The only reason we were raising capital was that the demand was so high that we didn’t have sufficient funding to ensure we could continue to grow the company. We were facing a very binary decision: we would either raise additional capital and grow the business, or we would have to restrict customer acquisition because we didn’t have the finances to grow the business. We went to venture out of necessity to ensure we could scale the company. When VCs saw the level of traction that we had achieved and the strong unit economics we were able to deliver, they thought it was pretty exciting.
Third, we made very specific decisions around what we would build and own ourselves versus what we should outsource to someone else. We specifically chose not to build our own datacenters and went with industry-leading providers for the physical footprint, but we decided to buy all of the hardware ourselves so that we owned all of the compute, storage, and network resources that we were putting into these datacenters. Another interesting part of our story is that we took a very unique approach to getting this equipment. We’re not using revenue and we’re not using the dollars in our bank account—instead, we have a sophisticated debt structure. This gave us a nice balance sheet where we’re putting equity inside of our company and also growing the debt, which gives us a lot of leverage for us to buy equipment while making sure we can still grow the business.
What do you think the biggest challenges will be for cloud computing over the next five years, and what is DigitalOcean’s mission for the future?
Julia: In the cloud of the future, the platform underneath is going to shift more behind the scenes and become abstracted away. I like to draw a lot of parallels between the cell phone industry and cloud computing. There was a time where the market was all about who had the most cell towers out there, and how many bars you had on your phone mattered—that was really important and the industry was less about the marketplace and the applications that people were putting on their phone. That’s where I think cloud is today. In the future, cloud still has to be there, it still has to be performant, it still has to be scalable and reliable, but the most important thing to developers will be whether they can build their applications on it and whether they can have a marketplace that gives them an easy way to distribute what they’re building. The challenge is to be the market leader there and say, “we’re capable, we’re sophisticated, we do everything you need, but you’re not worried about it, you’re not thinking about it, and you’re not wondering if you’ve got two bars versus five.”
As to what the future looks like beyond 18 to 24 months from now? We know that machine learning and AI are coming, and that they will drive a new set of applications and a new way of thinking about what applications will do. We need to be prepared for that. We have to think about what applications will look like in the next 24+ months, and what the cloud will need to provide.
Ben: What we see for the future is an evolution from a server-based world into an application-based world, but I think it’s going to take more time than many people expect. The best platforms today are still very limited: Heroku’s done a great job at delivering a rails-specific platform, and Google App Engine is great at delivering a scalable application platform, but they’re very limited insofar as you have to program in their language and use their approach. What software developers would love is a scalable application platform that would allow them to use all the same tools they’re familiar with and the patterns and frameworks that they’ve already adopted, while getting away from managing the servers and the infrastructure underneath. That is still very much an unsolved problem.
What DigitalOcean wants to do in the next five years is get application development out of this framework where developers have to translate from the application to their server, and enable them to interact with the cloud in an app-native way. We want them to stop worrying about how many CPUs they have and how much memory they need. What we want to see is a world where we fit in like this: GitHub is how developers store their code and develop applications, Twilio could be the messaging to interact with their users, Stripe could be how they process payments on behalf of their customers, and then DigitalOcean will be the place where they run their app.