π Microservices are often built to increase complexity and decrease performance, rather than for their intended benefits.
π‘ Monolithic architectures are not inherently bad and can be impressive feats of engineering.
π The speaker, working for a company called particular software, has gained insight into various systems and their implementations through support.
π There are different ways to approach system architecture, and microservices are not the only option.
π The Strangler fig pattern is a common technique for transitioning from a monolith to microservices.
π The throughput of a system can be affected by the introduction of microservices, especially due to network operations and resource contention.
π Moving from a monolithic system to a distributed microservice system introduces additional coupling and performance issues.
π‘ Big bang rewrites of complex systems often fail due to the decreasing rate of adding new functionality over time.
β° Developers are not good at estimating project timelines, and distractions and lack of documentation further complicate the estimation process.
π Maintaining multiple systems in production increases the chance of old system issues affecting the new system.
π A big bang rewrite may work for small systems or for personal career advancement, but it is often difficult to estimate and emotionally challenging.
β Introducing a queue system can help prevent long live calls waiting for responses, but it can also lead to financial losses and processing issues.
π Building a custom microservice system brings joy through working on cool engineering problems.
π Not invented here syndrome leads to creating numerous JavaScript front-end frameworks.
π Focusing on custom solutions limits the delivery of business functionality.
𧩠Microservice architecture is like building a puzzle with pieces from different places to create a seamless experience.
π Service boundaries should be defined based on nouns, not verbs, to optimize system interaction.
π Replacing the search service with a search engine using the engine pattern can eliminate data duplication and improve system design.
π The microservice system consists of three interfaces: product interface, price products interface, and track orders interface.
π» Each service can implement the interface it wants, enabling flexibility within service boundaries.
π The system allows separate deployment of assemblies while maintaining logical boundaries between services.