Building Microservices Quotes

5,149 ratings, 4.22 average rating, 443 reviews
Building Microservices Quotes
Showing 91-120 of 130
“I saw used effectively by one of our teams was to delay the implementation of proper persistence for the microservice, until the interface had stabilized enough”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“I find it odd that people pick JSON because it is nice and lightweight, then try and push concepts into it like hypermedia controls that already exist in XML”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“Another principle introduced in REST that can help us avoid the coupling between client and server is the concept of hypermedia as the engine of application state (often abbreviated as HATEOAS, and boy, did it need an abbreviation”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“Remember when we talked about the core principles behind good microservices? Strong cohesion and loose coupling — with database integration, we lose both things.”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“Getting integration right is the single most important aspect of the technology associated with microservices in my opinion. Do it well, and your microservices retain their autonomy, allowing you to change and release them independent of the whole. Get it wrong, and disaster awaits. Hopefully once you’ve read this chapter you’ll learn how to avoid some of the biggest pitfalls that have plagued other attempts at SOA and could yet await you in your journey to microservices.”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“A loosely coupled service knows as little as it needs to about the services with which it collaborates. This also means we probably want to limit the number of different types of calls from one service to another, because beyond the potential performance problem, chatty communication can lead to tight coupling.”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“am a strong believer that great software comes from great people”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“Much of the role of the technical leader is about helping grow them — to help them understand the vision themselves — and also ensuring that they can be active participants in shaping and implementing the vision too.”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“I have also seen many a team’s morale and productivity destroyed by having a mandated framework thrust upon them”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“Making decisions in system design is all about trade-offs, and microservice architectures give us lots of trade-offs to make”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“So our architects as town planners need to set direction in broad strokes, and only get involved in being highly specific about implementation detail in limited cases.”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“To borrow a term from Frank Buschmann, architects have a duty to ensure that the system is habitable for developers too”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“Erik Doernenburg first shared with me the idea that we should think of our role more as town planners than architects for the built environment”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“You’ll also need to think differently about how you scale your systems and ensure that they are resilient. Don’t also be surprised if things like distributed transactions or CAP theorem start giving you headaches, either!”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“You can think of Mountebank as a small software appliance that is programmable via HTTP. The fact that it happens to be written in NodeJS is completely opaque to any calling service. When it launches, you send it commands telling it what port to stub on, what protocol to handle (currently TCP, HTTP, and HTTPS are supported, with more planned), and what responses it should send when requests are sent. It also supports setting expectations if you want to use it as a mock. You can add or remove these stub endpoints at will, making it possible for a single Mountebank instance to stub more than one downstream dependency.”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“Neal Ford puts it, many of our working practices around deployment and host management are an attempt to optimize for scarcity of resources.”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“Robert C. Martin’s definition of the Single Responsibility Principle, which states “Gather together those things that change for the same reason, and separate those things that change for different reasons.”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“Melvin Conway’s paper How Do Committees Invent, published in Datamation magazine in April 1968, observed that: 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.”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“Principles Principles are rules you have made in order to align what you are doing to some larger goal, and will sometimes change. For example, if one of your strategic goals as an organization is to decrease the time to market for new features, you may define a principle that says that delivery teams have full control over the lifecycle of their software to ship whenever they are ready, independently of any other team. If another goal is that your organization is moving to aggressively grow its offering in other countries, you may decide to implement a principle that the entire system must be portable to allow for it to be deployed locally in order to respect sovereignty of data. You probably don’t want loads of these. Fewer than 10 is a good number — small enough that people can remember them, or to fit on small posters. The more principles you have, the greater the chance that they overlap or contradict each other.”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“When we compare ourselves to engineers or architects, we are in danger of doing everyone a disservice.”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“A test suite with flaky tests can become a victim of what Diane Vaughan calls the normalization of deviance — the idea that over time we can become so accustomed to things being wrong that we start to accept them as being normal and not a problem.”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“The example of a client trying to be as flexible as possible in consuming a service demonstrates Postel’s Law (otherwise known as the robustness principle), which states: “Be conservative in what you do, be liberal in what you accept from others.”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“Eric Ries tells the story of spending six months building a product that no one ever downloaded.”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“Gather together those things that change for the same reason, and separate those things that change for different reasons.”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“You should assume that your networks are plagued with malevolent entities ready to unleash their ire on a whim.”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“smaller teams working on smaller codebases tend to be more productive.”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“principal.”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“although experience has shown that it is far easier to push out changes to configuration files than alter live database tables. This is often a very sensible approach.”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems
“Sometimes making one thing slower in exchange for other things is the right thing to do, especially if slower is still perfectly acceptable.”
― Building Microservices: Designing Fine-Grained Systems
― Building Microservices: Designing Fine-Grained Systems