Last month, Wamda met with Adrian Cockcroft, VP of cloud architecture strategy at Amazon Web Services (AWS), to discuss the importance of establishing a healthy corporate culture early on, maintaining it as the company grows, and what this actually means as you build software. Cockroft works with AWS cloud native customers and leads the AWS open source community development program. Prior to joining Amazon, he played an instrumental role when it comes to evolving the global cloud ecosystem as a cloud architect at Netflix. He also spent time as a VC identifying new companies for investment.
You start a number of your talks with a quote from The Little Prince: ‘If you want to build a ship, don't drum up people to collect wood and don't assign them tasks and work, but rather teach them to long for the endless immensity of the sea’. Why is this quote particularly important?
That quote is from the Netflix culture deck. It’s one of Reed Hastings’[Netflix founder] favorite quotes: If you want to build a ship, don’t tell people to go out, cut down trees, and follow a detailed plan. Teach them to yearn for the endless sea, and then they’ll go out and build a better ship than you’ll ever make. Inspire them with a purpose, and then get out of their way. A lot of the Netflix culture is built around that idea.
[When I was with Netflix], every staff meeting began with a 10-minute discussion about what we saw on TV and the latest movies. We were infrastructure people, operations people, having a discussion about movies in a staff meeting because it’s ‘in the brand’. Even if the meeting is actually [for] a team building infrastructure, it connects you to the purpose. This particular quote came from a talk I did on ‘Systems for Innovation’. After I left Netflix, I started reading some books on systems thinking, and realized instead of writing down processes, [Netflix] created systems with feedback loops that caused the right outcomes to happen but without being prescriptive on how you should do A, B, and C.
How does this make it easier to scale the business?
This makes the company extremely rapid at getting things done. There was an unreasonably large number of projects that were finished under budget and undertime, by a ‘tiny’ number of people. [Teams like this have] a very high talent density, and excluding what they call the ‘brilliant jerks’, there’s very little questioning of decisions. If you want to do something, they trust that everyone has good judgement, so it’s an extremely high trust structure, and they try to scale that to be as large as possible across the company. That’s very difficult to do, but if you are building a startup, my advice is to be extremely intentional about the culture, figure out what it should be, because culture will just happen to you. It’s like whatever the first few founders believe in [...], but what they did at Netflix is that they wrote it down and curated a very specific outcome very early on, when the culture was still malleable. You can modify the culture when there’s 10 people in the room, but it becomes very hard to modify when there’s a thousand people spread around the world.
Also, you get the culture you pay for [...] The compensation model and the incentives that are built into the organization just need to be aligned with the culture for it to work. This goes in line with what Patty McCord, who’s the chief talent officer, did for Netflix. She interviewed everybody who joined the company [Netflix] for a long time, and she acted as the quality control. If she didn’t like someone, it would be very hard for him to get hired. So she set up a culture.
I think the thing that’s very distinctive and that hasn’t been copied from Netflix, is the fact that there’s a lot of bravery there in the sense of [being] institutionally brave: People are not afraid to be the first to do something in a new way. Lots of enterprises try to copy Netflix but that doesn’t work. You can’t [easily] make a large complex organization have that much of a unified culture.
What I typically point people to is the way Amazon has done this, which is an example of a very highly skilled, hyper, and highly unified culture. I can go to anybody that works for Amazon anywhere in the world, and that’s over half a million people, and start talking about the 14 Principles, and they would exactly know what I’m talking about, and can relate what they’re doing to that principle. That’s a unified, more appropriate cultural way of getting a common language for describing the things that we hold important. Are you following the right leadership principles in the right way? Which leadership principles you need to work around to become better, and what are your superpowers? Which ones are you really outstanding at? All of the discussion is done in those terms so that builds a cultural model. Again, that’s very hard to do, and Jeff Bezos did that early.
Pulling it all together, to have a common way to talk about everything we do, that’s incredibly powerful. Relatively, few organizations are that single minded about doing it. But I think it's one of the reasons Netflix and Amazon have got on really well with this. [...] It is very important to weave that culture in the fabric of your company, and both companies are very much like that.
[When you are a startup] you’re so busy trying to stay alive, that you [barely] have time to have discussions about culture. There’s a point where you typically get involved and you start realizing you’re late. So the point where you write it down is usually later than it should be. I think that’s another mistake people tend to run into: They wish they could have done it earlier.
Tell us what the mindset change that occurred was, as Netflix decided to move to the cloud?
Netflix was the first all-in customer AWS had. Before that, it was small startups. The first enterprise agreement that was negotiated, and the first sales rep AWS hired, were for the Netflix account back in 2009. [...] The outcome was that Netflix and AWS together learned how to do an all-in transition to the cloud. Now, you’re seeing new customers and new areas. [For example], Capital One, a few years ago, decided [they] want to teach AWS how to build a bank in the cloud, and that [they] want to get out of building data centers just the same all-in kind of thing. And then they said they want to be the Netflix of banking. [Now] they have a substantial proportion of their banking infrastructure running on AWS, and it’s going from audits to training banking auditors, and other cloud-banking related services.
Then you look at companies like Expedia in the travel industry, and again, they wanted to figure out how do you run a travel company on the cloud, and what does that look like. So in each market we go into, we try to find an early adopter that’s got the appetite to work with us. Healthcare is another one, and manufacturing is another one. [AWS is working with both GE and Honeywell and manufacturing]. When it comes to the region, we have some customers who are willing to work with us, like Al Tayer. Now, we’ve got a pattern. We’ve done lots of new regions, lots of new parts of the world, and we’ve gone into developing markets all around the world and broke them up. [...] So it has become a more predictable model as you go into these [new] markets.
What do you see happening in a 10-year time?
Ten years from now, we [AWS] will be in most of the regions that people care about. We will get further into the regions, and have a way to have the cloud wherever you need it. I think to have AWS-managed cloud services is a trend that will be deployed broadly, but what we are running on those cloud is going to change radically. The big driver is going to be video and machine learning, or a combination of the two. It is so CPU-intensive to process videos at all, and when you start processing it with deep learning, you’re off the scale. If you have enough compute capacity to do video understanding, everything else out there is a bit of noise on the side. Back when the internet started, we were just passing text files around, then we started sending still pictures, and we blew up our internet T1 lines that couldn’t cope. Now, the internet is provisioned at a capacity for doing live video streams. The proportion of the internet industry and the HTTP traffic are minuscule. That’s where the business traffic and the value are. When you have video you have enough capacity to do everything right. [...]
Cameras are everywhere, and they’re recognising you, and they’re recognizing everything around you. So, I think we’ll get to a world where things which we treat as stuff that only humans can do now becomes normal: Self-driving cars is an obvious example right now and we see it happening, and it’s happening even faster than some people thought it would happen, but there’s a trend there. I’ve driven around in a Tesla which steers itself. After a while you get used to it. If you ever get stuck in a traffic jam, it’s fantastic. I think we’re just at the beginning of an extremely radical shift. I spent most of the last year trying to understand machine learning and deep space. I think people should just play around in it.
Five or 10 years ago, if you wanted to get into IT, you had to buy an expensive computer. But if you wanted to learn how to operate datacenters, you had to get a job with a datacenter hands-on, these billion dollar machines, or work for a vendor. If you wanted to play with machine learning, you had to be at a research university.
Nowadays, it’s all available for free: If you have a web browser, you have everything you need to understand machine learning, deep learning, and cloud infrastructure. All you need is time and the ability to browse and look around and learn. The ‘democratization of access’ is incredible, and it’s so recent that the educational institutions have really caught up with it. I think we’re going to see a lot of disruption driven by that, and maybe education is something that’s going to be extremely disrupted over the next decade. I don't know if it will make sense to go to a university in 10 years because by the time you’re 12, you should be a useful programmer with a whole bunch of web services running in your cloud account.
I did a blogpost once that communication is disrupting hierarchies. [This leads us to rethink] why is there a 1,000 year old university? It’s because you had to be sent there to meet the people and get tutored. There wasn’t a way to do it remotely. But you don’t anymore. The ability to communicate directly has just blown apart the main reason that we had them in the first place. They have the information, they have the legacy, they won’t go away, they are social institutions, where you meet colleagues, but I don't think it makes sense that it’s the only way you can learn how to do things. It’s more about being organized finding out what you want to do without being distracted. That generation of children will be completely digitally educated, and we have already started to see that happen.
What advice would you have for startups’ CEOs/CTOs that are looking into implementing AWS, what should they be thinking about?
Most of the startups I’ve seen in the US adopt the cloud-first [approach]. It’s very hard to find somebody that has raised enough money to actually run on an infrastructure, so in the cloud-first, they’re running on laptops and few machines. It’s like if you’re spending more on coffee rather than on computing. It doesn’t really matter. In the first phase [of the lifecycle of a startup], it’s all [about the development time]. The laptop is the most expensive piece of infrastructure we have, and you’re writing code and sitting around with a handful of people. In that phase, the cloud is useful. You can use cloud-based email, and you just build the company using cloud-based services. You don’t have to hire all the people and set up an infrastructure to do the bits and pieces you need to do to organize the company.
The second phase is where you start getting serious spend, few customers, and it’s when the cost of operation becomes something you need to figure out. That’s where we [AWS] have a set of trusted advisors. Doing a proper optimization starts to make a difference: It’s usually about the level where your monthly spend is at the same order of magnitude as what it costs to employ another engineer. Once your infrastructure spend starts to be comparable to the burn rate, we have a credits program for getting startups going, things that would tune your usage down, and then you can hire another developer at the same burn rate. But it has to be significant before it’s even worth spending the time tuning.
From the infrastructure point of view, going from infrastructure to cloud at small scale, and quite often you’ve started off with something like Ruby on Rails [a programming framework], you’ve got a monolithic app that you’ve built, and it’s got a MySQL database and it’s got a frontend. The first thing you do is scale the frontend out, and then MySQL starts to keel over [...].
There’s quite often a rewrite of whatever it was written in to stick to a language that is a bit more structured. Usually, somewhere in a rewrite, you hire people who are more experienced programmers.
Lastly, what do you think the role and responsibility of AWS is regarding its contributions to tech?
I manage the team that runs the open source program for AWS. When I joined AWS, they were doing this [auto-scaling] piecemeal across the organization but there is a product team that owns the database. So we started creating the team. I hired a bunch of people [from the open source community]. [...]
When you looked at the AWS website, there was no page for open source, so, we created one. We also needed to start telling people about what we were doing, so we created a blog where we can talk about all the different projects. We reorganized our GitHub, and we got 800 repositories, we started organizing it, highlighting the things that are most interesting, and made them searchable so people could find them. Internally, we reached out to all the AWS and Amazon engineering, saying that if you have something that you can contribute, we can help you engage with the community. We were able to maximize the outcome across all the different service teams, and we’re starting to see some interesting projects come out from this. We also did an AWS Open Twitter account, we blog once or twice a week and we started setting up or [sponsoring] conferences. [..]
We also joined the Open Source Initiative and we are in the process of joining few other organizations.
One of the hot projects right now is Kubernetes [a managed service that makes it easy for you to run Kubernetes on AWS without needing to install and operate your own Kubernetes clusters], and it contains a space, and we are working through the process of getting that into a product. For the meantime, people can learn about Kubernetes on AWS, so we created a workshop and we open sourced the project on GitHub. So if you go through the workshop, and you find that the documentation is out of date, you write an issue, and you file a request, and we correct it. The workshop is a living document, so every time somebody uses it to get something done, it improves itself, catches up, and debugs itself.