Randy Kern, who we hired, built Autopilot for Azure, Microsoft's automation layer. You need to have that in order to scale, in order to deal with fault tolerance if something fails. Humans are too slow so you need software to catch that and deal with failover. You need software to deal with security, to understand what's going on.
You can't just be monitoring with one person or a handful of people looking at it. You need computers, data science and so it's all about software eating the world, as Marc Andreessen says. Software is eating the data center. I think that's the secret of running at scale.
We built this amazing multitenant service that actually didn't require a lot of hardware. That was pretty cool. So it wasn't a big issue for us. It was great. We have made the most beautiful, multitenant, scalable service but now what we're doing is we're expanding out in some areas like analytics where you want to scale out and file storage, billions of files. We want to scale that out.
As you go to more of these scale-out services, you want more and more automation and more data centers and maybe you want public/private cloud. So I think software, in the short answer, is the key to creating data centers to scale.
At this stage of your growth and going forward, what is the biggest pinch point in the data center that you need to solve?
Harris: Efficiency and just the problems that we're solving. They've had to solve different problems to scale. They buy sets of computers and storage containers, massive amounts of prebuilds, prefabricated. That's where we're moving, to more of the prefabricated.
When it's prefabricated, what is the software to take that and build it from bare metal up, from the box to the files to the operating system? We have lots of different software now that we run, whether it's these small acquisitions, our core, the ExactTarget. How do we bring all those together and run those as heterogeneous services while on a common layer and know that while they're running they'll deal with failover, deal with security.
There's also the demand for international data centers. We launched a data center in the UK. We have one in Tokyo. We're launching one this year in Germany. We're building more in France, in Canada, in Australia. We're building all these data centers worldwide. Automation is really important so that we can go in and create data centers really quickly. Eventually I'd love to have a data center in a box, and just say: 'Great, you need a data center in this place, we're just going to put it there.' Maybe we'll even use public cloud.
You guys made giant leaps in agile development a few years back.
Harris: We did, yeah. I think it was probably eight or nine years ago. We actually had hit a crisis point where we're naturally agile as a small group but we released our software every three weeks, four weeks, then it was every two months, once a quarter. But then it slowed down. It was twice a year, once a year. This was early on and we had a lot of infighting. We said we've got to solve this.
You actually stopped the ship and made this major change over to agile development methodology.
Harris: I did.
Based on your experience running development here, what do you see as the future of development?
Harris: A big project we're working on is developer productivity because I want to make sure the developers who come here feel like they have the best tools, the best services. Part of it is, in the lingo that's being churned out a lot these days, micro services. How do you have a very large service run and yet I can just work on my piece of it and I can compile my piece of it and test my piece of it and release my piece of it and debug in production and have the metrics to know whether people are using my area of service. Why are they not using it?
That's really hard and I think some companies are arguably ahead of us in this. Some we're learning from, some are way behind. We're taking our code base and breaking it down into pieces, creating more services, more APIs, separating out layers, the UI layer separate from our core back-end, changing the UI. I worry a lot less about changing the UI than I do if you change the database, data models, stored procedures -- all the stuff in the back-end where bad things could happen. It could corrupt data.
A lot of things in this world now in development are more and more design led, so how do you have a design-led culture? To be design led you need to be able to build great UIs quickly, iterate, build your piece of the service quickly. That's where we're going. We have a bigger challenge than a lot of companies, I think, because the value throughout our customers is we have one beautifully integrated, multitenant, metadata-driven service. That means it needs to be integrated, the metadata all needs to be integrated. Now I want to take that at the back-end and pull the pieces apart so that people can work on the different pieces and, yet, when it runs, it all c
This story, "How Salesforce.com plans to stay high in the clouds" was originally published by CIO.