Building Microservices Quotes

Rate this book
Clear rating
Building Microservices: Designing Fine-Grained Systems Building Microservices: Designing Fine-Grained Systems by Sam Newman
5,149 ratings, 4.22 average rating, 443 reviews
Building Microservices Quotes Showing 31-60 of 130
“Caching can be very powerful indeed, but you need to understand the full path of data that is cached from source to destination to really appreciate its complexities and what can go wrong”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“Be careful about caching in too many places! The more caches between you and the source of fresh data, the more stale the data can be, and the harder it can be to determine the freshness of the data that a client eventually sees. This can be especially problematic with a microservice architecture where you have multiple services involved in a call chain. Again, the more caching you have, the harder it will be to assess the freshness of any piece of data. So if you think a cache is a good idea, keep it simple, stick to one, and think carefully before adding more!”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“A technique I saw used at the Guardian, and subsequently elsewhere, was to crawl the existing live site periodically to generate a static version of the website that could be served in the event of an outage. Although this crawled version wasn’t as fresh as the cached content served from the live system, in a pinch it could ensure that a version of the site would get displayed”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“For a more in-depth discussion of the various merits, take a look at the book REST In Practice (O’Reilly) or read section 13 of the HTTP 1.1 specification, which describes how both clients and servers are supposed to implement these various controls.”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“For every public-facing website I’ve worked on, we’ve ended up doing a mix of all three approaches. But for more than one distributed system, I’ve gotten away with no caching at all. But it all comes down to knowing what load you need to handle, how fresh your data needs to be, and what your system can do right now. Knowing that you have a number of different tools at your disposal is just the beginning”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“For every public-facing website I’ve worked on, we’ve ended up doing a mix of all three approaches. But for more than one distributed system, I’ve gotten away with no caching at all. But it all comes down to knowing what load you need to handle, how fresh your data needs to be, and what your system can do right now. Knowing that you have a number of different tools at your disposal is just the beginning.”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“Be warned, however: this sort of pattern is quite a shift away from a model where a single data store handles all our CRUD operations. I’ve seen more than one experienced development team struggle to get this pattern right”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“Be warned, however: this sort of pattern is quite a shift away from a model where a single data store handles all our CRUD operations. I’ve seen more than one experienced development team struggle to get this pattern right!”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“Such a setup is called eventually consistent, and if you can handle the temporary inconsistency it is a fairly easy and common way to help scale systems”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“This can be disastrous. At the start of a new project, we often don’t know exactly what we want to build, nor do we know if it will be successful”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“Hystrix allows you, for example, to implement bulkheads that actually reject requests in certain conditions to ensure that resources don’t become even more saturated; this is known as load shedding”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“Michael Nygard’s book Release It! (Pragmatic Programmers) shows how the same idea can work wonders as a protection mechanism for our software.”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“Embracing and inciting failure through software, and building systems that can handle it, is only part of what Netflix does. It also understands the importance of learning from the failure when it occurs, and adopting a blameless culture when mistakes do happen”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“In his book Antifragile (Random House), Nassim Taleb talks about things that actually benefit from failure and disorder”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“When you get down to it, we discovered the hard way that systems that just act slow are much harder to deal with than systems that just fail fast. In a distributed system, latency kills”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“Conway’s law highlights the perils of trying to enforce a system design that doesn’t match the organization. This leads us to trying to align service ownership to colocated teams, which themselves are aligned around the same bounded contexts of the organization”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“This model is certainly one I favor. It pushes the decisions to the people best able to make them, giving the team both increased power and autonomy, but also making it accountable for its work”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“Early on, Amazon started to understand the benefits of teams owning the whole lifecycle of the systems they managed”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“In their study, in which they matched similar product pairs from each type of organization, the authors found that the more loosely coupled organizations actually created more modular, less coupled systems, whereas the more tightly focused organization’s software was less modularized.”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“If you have four groups working on a compiler, you’ll get a 4-pass compiler”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“Any organization that designs a system (defined more broadly here than just information systems) will inevitably produce a design whose structure is a copy of the organization’s communication structure.”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“Melvin Conway’s paper How Do Committees Invent, published in Datamation magazine in April 1968,”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“As we’ll learn in this chapter, you ignore your company’s organization chart at your peril!”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“There are automated tools that can probe our systems for vulnerabilities, such as by looking for cross-site scripting attacks. The Zed Attack Proxy (aka ZAP) is a good example. Informed by the work of OWASP, ZAP attempts to re-create malicious attacks on your website”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“As you can see, the choices we made about what technology to use were based on an understanding of the nature of the information being secured”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“This problem, unfortunately, has no simple answer, because it isn’t a simple problem. Be aware that it exists, though.”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“Gateway layers tend to take on more and more functionality, which itself can end up being a giant coupling point. And the more functionality something has, the greater the attack surface”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“If you’re using HTTP, it could populate headers with this information. Shibboleth is one tool that can do this for you, and I’ve seen it used with Apache to great effect to handle integration with SAML-based identity providers.”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“At the time of writing, OpenAM and Gluu are two of the very few options available in this space, compared to a wealth of options for SAML (including Active Directory, which seems to be everywhere)”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“in my earlier publication Lightweight Systems for Realtime Monitoring (O’Reilly).”
Sam Newman, Building Microservices: Designing Fine-Grained Systems