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 61-90 of 130
“Suro is Netflix’s data pipeline and operates in a similar space. Suro is explicitly used to handle both metrics associated with user behavior, and more operational data like application logs”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“Riemann is an event server that allows for fairly advanced aggregation and routing of events and can form part of such a solution”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“Teams now measure themselves not in terms of how many points they complete, but instead optimize for how long it takes for code to get from laptop to live”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“Some of these libraries, such as Hystrix”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“Libraries exist for a number of different platforms that allow our services to send metrics to standard systems. Codahale’s Metrics library is one such example library for the JVM”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“If you are interested in reading more about testing, I recommend Agile Testing by Lisa Crispin and Janet Gregory (Addison-Wesley), which among other things covers the use of the testing quadrant in more detail.”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“All too often, considerations about CFRs come far too late. I strongly suggest looking at your CFRs as early as possible, and reviewing them regularly.”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“The term nonfunctional never sat well with me. Some of the things that get covered by this term seem very functional in nature! One of my colleagues, Sarah Taraporewalla, coined the phrase cross-functional requirements (CFR) instead, which I greatly prefer”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“The work to shadow production traffic can be complex, though, especially if the events /requests being replayed aren’t idempotent.”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“Originally just for Ruby, Pact now includes JVM and .NET ports”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“This situation worsens if we fall into the trap of adding a new end-to-end test for every piece of functionality we add. Show me a codebase where every new story results in a new end-to-end test, and I’ll show you a bloated test suite that has poor feedback cycles and huge overlaps in test coverage”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“The more moving parts, the more brittle our tests may be, and the less deterministic they are. If you have tests that sometimes fail, but everyone just re-runs them because they may pass again later, then you have flaky tests”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“I worked on one monolithic system, for example, where we had 4,000 unit tests, 1,000 service tests, and 60 end-to-end tests. We decided that from a feedback point of view we had way too many service and end-to-end tests (the latter of which were the worst offenders in impacting feedback loops), so we worked hard to replace the test coverage with smaller-scoped tests.”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“I would say that in my experience the smarter the PaaS solutions try to be, the more they go wrong”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“When PaaS solutions work well, they work very well indeed. However, when they don’t quite work for you, you often don’t have much control in terms of getting under the hood to fix things. This is part of the trade-off you make”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“This balance, between production-like environments and fast feedback, won’t be static. Keep an eye on the bugs you find further downstream and your feedback times, and adjust this balance as required.”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“But once we run our deployment process, what happens if someone comes along, logs into the box, and changes things independently of what is in source control? This problem is often called configuration drift — the code in source control no longer reflects the configuration of the running host.”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“We can focus our efforts, then, on automating the creation and deployment of these images. This also becomes a really neat way to implement another deployment concept, the immutable server”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“Packer is a tool designed to make creation of images much easier”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“During this time of churn, changes across service boundaries are more likely, and what is in or not in a given service is likely to change frequently. During this period, having all services in a single build to reduce the cost of cross-service changes may make sense.”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“using this approach, which it then open sourced as the Aegisthus project”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“A great place to start is to use a tool like the freely available SchemaSpy, which can generate graphical representations of the relationships between tables.”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“In his book Working Effectively with Legacy Code (Prentice-Hall), Michael Feathers defines the concept of a seam —”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“Much like with our example of fronting the CMS system with our own code, with a strangler you capture and intercept calls to the old system.”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“Many implementations of CRM tools I have seen are among the best examples of adhesive (as opposed to cohesive) services.”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“The danger with this approach is the same as with any aggregating layer; it can take on logic it shouldn”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“This pattern is sometimes referred to as backends for frontends (BFFs)”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“This pattern — of implementing a reader able to ignore changes we don’t care about — is what Martin Fowler calls a Tolerant Reader.”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“Another key to deferring a breaking change is to encourage good behavior in your clients, and avoid them binding too tightly to your services in the first place”
Sam Newman, Building Microservices: Designing Fine-Grained Systems
“I recommend REST in Practice (O’Reilly), which covers the topic of REST over HTTP in depth”
Sam Newman, Building Microservices: Designing Fine-Grained Systems