Michael T. Nygard Quotes & Sayings
Enjoy the top 16 famous quotes, sayings and quotations by Michael T. Nygard.
Famous Quotes By Michael T. Nygard
Integration points are the number-one killer of systems. Every single one of those feeds presents a stability risk. — Michael T. Nygard
Software design as taught today is terribly incomplete. It talks only about what systems should do. It doesn't address the converse - things systems should not do. They should not crash, hang, lose data, violate privacy, lose money, destroy your company, or kill your customers. — Michael T. Nygard
What About Object Pooling? In early versions of Java (around the 1.2 time frame), the idea that long-lived objects were good gained currency. I specifically remember being told that "creating an object is the second most expensive thing you can do in Java" (the first being creation of a new thread). The answer, supposedly, was to avoid creating objects whenever possible. Instead, you were supposed to keep objects around and reuse them. — Michael T. Nygard
Design with skepticism, and you will achieve resilience. Ask, "What can system X do to hurt me?" and then design a way to dodge, duck, dip, dive, and dodge whatever wrench your supposed ally throws. — Michael T. Nygard
One of my favorite retailers has a release process that rivals a NASA launch sequence. — Michael T. Nygard
True utility computing centers are on the horizon, but right now, the only real ones are a pale approximation of this vision. In the world that the other 99.9% of us inhabit, production systems are deployed to some relatively fixed set of resources. Applications — Michael T. Nygard
See whether the DBA laughs at the queries If it doesn't pass the laugh test, it shouldn't go into production. Period. — Michael T. Nygard
of The TCP/IP Guide [Koz05] or TCP/IP Illustrated [Ste93] open beside you for this type of activity! — Michael T. Nygard
If your system is difficult or annoying to administer, it will be neglected, deprecated, and probably implemented incorrectly. It might even get sabotaged. — Michael T. Nygard
Bugs will happen. They cannot be eliminated, so they must be survived instead. — Michael T. Nygard
Keep reports out of production Reports can, and should, be served elsewhere. Don't jeopardize — Michael T. Nygard
Most testers I've known are perverse enough that if you tell them the "happy path" through the application, that's the last thing they'll do. It should be the same with load testing. — Michael T. Nygard
I am ambivalent about cluster servers. At the same time, they are marvelous and kludgy. They can add redundancy and failover to applications that weren't designed for it. Configuring the cluster server itself is finicky, though, and applications usually have a few small glitches when failing over. The biggest drawback is probably that these run in active/passive mode. So, redundancy is achieved, but scalability is not. I consider cluster servers a Band-Aid for applications that don't do it themselves. — Michael T. Nygard
The silicon microchips themselves might be cheap (relative to times past, anyway), but CPU cycles are not cheap. Every CPU cycle consumes clock time. Clock time is latency. A wasteful application makes its users wait longer than they need to, and if there's anything users hate, it's waiting. For web systems, latency in the application has a dual effect. The added processing directly increases the burden on the application servers themselves. Suppose that an application takes just 250 milliseconds of extra processing per transaction. If the system processes a million transactions a day, that extra 250 milliseconds per transaction makes for an extra 69.4 hours of compute time every day. Assuming an 80% load factor on each server, you'll need four additional servers to handle this load. — Michael T. Nygard
Want to guarantee nasty conflicts? Take a word with multiple, fuzzy, definitions, force people to strike an agreement on it, attach large amounts of money to it, and then watch them fight about it a year or two later. — Michael T. Nygard