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