“ In a factory pipeline, if the system is suspended for some reason, we don’t throw away all the half-built cars and start over again; we pick up production where we left off. This is because we know what we are making, and can test when we’ve arrived at that state (what I call the GPS approach to building verifiable outcomes). We do not have to start from the beginning to trust that we will get to the right end.
The advantage of this model-based approach is that it doesn’t matter how many changes and rebuilds you do, you will always follow the most efficient and consistent approach, and as soon as you see a change to some part you can initiate the remainder of the pipeline without delay. Thus, one of its side-effects is to increase the throughput: a major point in the argument for continuous delivery. „
“ It’s tempting to argue, logically and step by step, why your new product or service is better than the one that’s already on the market. It’s far more likely, though, that your story will resonate most with people who aren’t seeking functionality but instead were happy with the thing they had, but now, thanks to you, believe it has become obsolete. Our neophilia is a powerful desire, and buyer’s remorse is its flipside. „
“ Hence, one could argue that Nest or self-driving cars (and the next big hardware move that Google does) are not really about understanding ‘information’ in any sense, and certainly not about advertising, but about finding ways to deploy being very good at machine learning and, say, connected systems, just as GE’s business is to be very good at making big complicated precision-engineered pieces of capital equipment. In that sense, Tony Fadell’s vision is very apt - to ‘take unloved things’ and connect them to the software revolution than my new boss Marc Andreessen talks about. If software is eating the world, then much of what is eaten is probably running software that’s at least partly in the cloud (especially if it doesn’t really have a screen), and that can benefit from machine intelligence and big data, and isn’t that what Google does? „
“ From the HRP studies mentioned above, we discovered that winning comes from Task Cohesion. And, while Social Cohesion helps, it is not necessary for success. Success or “winning” comes from mutual respect and the understanding of a common goal. You don’t need to be friends, but you do need to believe everyone is moving toward the same objective. „
One approach – the one used by Google when I worked there – was to define a constraint language that ultimately had hundreds of possible parameters, and then treat it as a classical optimization problem, trying to optimize over all of it. The good side of that is that it meant that every program at Google could express its requirements exactly. The bad side of it was that the constraint system was incredibly complicated, and almost no one could predict what results a given set of constraints would produce. Configuration turned into a sort of game, where you’d make a guess, look at what the borg gave you, and then modify your constraint – repeat until you got something satisfactory.
At Twitter, Mesos is our cluster management system. It takes a completely different approach. Basically, it takes the borg-like approach and turns it upside down. Mesos itself doesn’t try to do constraint satisfaction at all. What it does is talk to components, called frameworks, and it offers them resources. It basically says “Here’s all of the possible ways I can give you a fair share of resources in the clusters. Tell me which ones you want.”.
Each framework, in turn, figures out how to allocate the resources offered to it by Mesos to individual jobs. In some ways, that might seem like it’s just deferring the problem: don’t the frameworks end up needing to do the same allocation nightmare? But in fact, what you do is write a framework for a particular kind of job. A framework needs to work out some constraint satisfaction – but it’s a much simpler problem, because instead of needing to satisfy every possible customer with one way of expressing constraints, each framework can decide, on its own, how to allocate resources to one particular kind of job. Map-reduce jobs get one framework that knows how to do a good job scheduling map-reduces. Services get a framework that knows how to do a good job allocating resources for services. Databases get a framework that knows how to do a good job allocating resources for storage and bandwidth intensive processes. As a result, the basic Mesos cluster manager is dramatically simpler than a one-size-fits-all scheduler, and each of the component frameworks is also much simpler.