๐ 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.