Please enable JavaScript.
Coggle requires JavaScript to display documents.
Microservice CH-2 Evolutionary Archotracture - Coggle Diagram
Microservice CH-2 Evolutionary Archotracture
Evolutionary Architect
Software architects needs to shift their thinking away from creating the perfect end product , and instead focus on helping create a framework in which the right system can emerge and continue to grow as we learn more
Software will continue to evolve as the way it is used to changes unlike the buildings or roads. Once software gets in to customer hand we will have to react and adapt
Zoning
In software architecture zones means boundary between service. you define different services and define boundary between them. How service will be developed depend upon individual team
Technology stack for specific team can be chosen by development team.
Do not depend upon lots of technology as it is hard to maintain. Netflix use cassandra for almost all the service though cassandra is not suitable for every service. It will help netflix in creating different tooling around cassandra and in maintainability
As a architect, Worry about what happens between the boxes rather than what happen inside the boxes.
Principled Approach
4 more items...
Required Standard
What should be constant from service to service. Defining attribute that each service should have is one way of being clear as to where that balance sit
Monitoring : All Service emits health and general monitoring related metrics in the same way. all data should be in one place and Logging also should be standardize the same way
Interface : Having one or 2 type of integration is good while 20 different style of integration is bad. For http/rest will you use verbs/nouns, how you version endpoints, how you handle paginations all this things should be standardize
Architectural Safety: Can no afford one badly behave service to ruin party of all other service. Circuit breaker are used to handle downstream of one service
Governance through Code : Make sure people follow Guideline
Tailored service Template: Dropwizard and Karyon are 2 opensource JVM based micro-container. Pulling together set of library that provide feature like health checking, serving HTTP or exposing matrix. More batter get something like Dropwizard and add more feature in to it and use as standard in organization.
Exemplars: Example services that developers can run and explore
Technical Debt
maintain a debt log that will be reviewed periodically