Techniques for Building a Microservice System: Challenges and Pitfalls

Discover the challenges and pitfalls of building a microservice system, including big bang rewrites and estimating development time.

00:00:00 Discover the top 5 techniques for building the worst microservice system ever in this engaging talk by William Brander at NDC London 2023.

๐Ÿ“Š 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.

00:05:54 A talk about techniques for building a terrible microservice system, including the Strangler fig pattern and the impact of distributed computing on system throughput.

๐Ÿ“š 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.

00:11:48 This video discusses the challenges of building a distributed microservice system. It explores the issues with big bang rewrites and the difficulties of estimating development time. The speaker emphasizes the importance of understanding the business domain and the limitations of developers. Overall, it highlights the complexity and potential pitfalls of building a microservice system.

๐Ÿ”‘ 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.

00:17:39 Discover the challenges of building a microservice system and the pitfalls of integration and big bang rewrites. Learn about the potential issues with message queues and dead letter queues in maintaining system functionality.

๐Ÿ“‹ 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.

00:23:20 Learn how to build a dysfunctional microservice system by avoiding existing frameworks, prioritizing cool engineering problems over business functionality, and constantly adding new features without considering system performance.

๐Ÿ”‘ 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.

00:29:12 This video discusses techniques for designing a microservice system based on nouns instead of verbs. It explores the use of dedicated services for specific tasks and introduces the engine pattern to minimize data duplication.

๐Ÿงฉ 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.

00:35:03 A talk on building a microservice system with separate logical and physical boundaries for scalability and flexibility.

๐Ÿ” 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.

Summary of a video "Top 5 techniques for building the worst microservice system ever - William Brander - NDC London 2023" by NDC Conferences on YouTube.

Chat with any YouTube video

ChatTube - Chat with any YouTube video | Product Hunt