Skip to content

Latest commit

 

History

History
executable file
·
19 lines (12 loc) · 2.42 KB

File metadata and controls

executable file
·
19 lines (12 loc) · 2.42 KB

Tradeoffs

Depending on which model we choose, each one will have their own set of tradeoffs:

Tradeoffs Description Monoliths Microservices
Development Complexity Effort required to deploy and manage an application.
  • one programming language
  • one repository
  • enables sequential development
  • multiple programming languages
  • multiple repositories
  • enables concurrent development
Scalability Scaling up or down, based on the incoming traffic.
  • entire stack is replicated
  • heavy on resource consumption
  • single unit is replicated
  • on-demand consumption of resources
Time to deploy Time to deploy encapsulates the build of a delivery pipeline that is used to ship features.
  • one delivery pipeline that deploys the entire stack
  • more risk with each deployment leading to a lower velocity rate
  • multiple delivery pipelines that deploy separate units
  • less risk with each deployment leading to a higher feature development rate
Flexibility Ability to adapt to new technologies and introduce new functionalities.
  • low rate
  • entire application stack might need restructuring to incorporate new functionalities
  • high rate
  • since changing an independent unit is straightforward
Operational Cost Represents the cost of necessary resources to release a product.
  • low initial cost
  • one code base and one pipeline should be managed
  • cost increases exponentially when the application needs to operate at scale
  • high initial cost
  • multiple repositories and pipelines require management
  • to scale, the cost remains proportional to the consumed resources at that point in time
Reliability Reliability captures practices for an application to recover from failure and tools to monitor an application.
  • in a failure scenario, the entire stack needs to be recovered
  • the visibility into each functionality is low, since all the logs and metrics are aggregated together
  • in a failure scenario, only the failed unit needs to be recovered
  • there is high visibility into the logs and metrics for each unit

Back to first page