Urgent.News

What's breaking now, across thousands of outlets.

Tech

Day 22 — Microservices vs Monolith — Hype বাদ দিয়ে সত্যিটা বলি

আপনার application এখন ভালোভাবেই চলছে। আপনি এখন আর একা কাজ করেন না। আপনি কয়েকটি team build করেছেন। অনেকদিন ধরেই এই team building-টা চলছে। মোটামুটি ১০০-১২০ জনের team আপনারা operate করছেন। এখন আপনার ইচ্ছা জাগল যে system-টা optimize করা দরকার। এর জন্য শুরু করলেন system monitoring। এভাবে ১ সপ্তাহ monitoring করলেন। ১ সপ্তাহ পর আপনার কাছে সব data চলে আসলো। আপনি কিছু জিনিস খেয়াল করলেন: Feed এবং Chat…

Day 22 - Microservices vs Monolith: Separating Fact from Hype

A company's application is running well with multiple teams, around 100-120 members. The team decided to optimize the system after noticing performance issues. They conducted monitoring for a week, analyzing data on which services were used most and which had higher latency. It was found that feed and chat-related services were the most used, while payment-related services were used less frequently.

Additionally, teams provided feedback indicating performance drops and maintenance challenges due to the monolithic application structure.

In a monolithic application, all code resides in a single codebase and deployment, which simplifies development but becomes problematic as the codebase grows. Issues such as codebase expansion, merge conflicts, and scalability limitations arise, making it difficult to scale individual parts of the application or handle high traffic on specific features like the feed page.

Microservices offer a solution by breaking the application into smaller, independent services based on domains and use cases. Each service functions as a standalone application, with its own logic, implementation, and even database. This allows for independent deployment, scaling, and team ownership of services, leading to easier code maintenance and reduced merge conflicts.

However, microservices also come with challenges such as increased network latency due to communication between services, distributed transactions, and complex debugging. Additionally, the infrastructure complexity rises, making it difficult to manage and maintain multiple services.

For startups, a modular monolith could be a suitable middle ground. This approach combines the simplicity of a monolith with the benefits of modularity, allowing for gradual transition to microservices if needed. A modular monolith structure involves organizing code into modules, each with its own domain and database schema. This allows for easy incremental conversion to microservices when the application scales and requires more independent development and deployment.

In conclusion, the choice between microservices and monolith depends on the specific needs and size of the team, as well as the product's business domain and scalability requirements. Startups should consider starting with a monolith to quickly iterate and understand the domain before transitioning to microservices if necessary.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

How to Merge PDF Files Without Uploading Them Anywhere

Merging PDFs is one of the most common document chores: stitching a cover letter to a resume, combining scanned pages into a single file, or bundling invoices for an accountant.

  • Browser-based PDF merger allows merging files without uploading.
  • No file-size limits, efficient with weak connections.
  • Verify page counts before merging and name output with date.

Practice system design under a 45-minute clock

System design practice can become a collection of memorized diagrams. A better target is a repeatable decision process that still works when the prompt changes.

  • Practice system design within 45-minute limit avoids rote memorization of diagrams.
  • 30-day HLD Practice roadmap focuses on requirements, load balancing, and component utility.
  • Full-scale cases in latter half require structured approach with bottleneck identification.

More from Sunday 27 September →