Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Demystifying Software Architecture: Monolith vs...

Demystifying Software Architecture: Monolith vs. Micro-services

Monolithic architecture often offers simplicity in development and deployment, making it a common choice, especially for startups or smaller applications. However, as applications scale and become more complex, the benefits of a micro-services architecture — such as independent deployment, technology diversity, and enhanced fault isolation — become increasingly appealing.

This presentation will be delivered at #41 TechTalks by Widya Analytic

Avatar for Yusuf Manshur

Yusuf Manshur

November 02, 2022
Tweet

More Decks by Yusuf Manshur

Other Decks in Technology

Transcript

  1. #41 TechTalks Monolithic vs Microservices Which one is better? Muhammad

    Yusuf Manshur Software Engineer at Widya Analytic
  2. Contents Monolithic 01 What is Monolithic architecture Microservices 02 What

    are Microservices architecture Differences 03 Discuss the differences and advantages of the two architectures When is it 04 When is it appropriate to use Monolithic or Microservices architecture
  3. Monolithic Monolithic application has single code base with multiple modules.

    It has single build system which build entire application and/or dependency.
  4. Microservices Involves smaller applications deployed independently as loosely coupled services,

    tied together through application integration. From a software engineering perspective, microservices can be simpler to develop.
  5. How does Microservices works? • Synchronous ◦ REST, RPC •

    Asynchronous ◦ Common Data ◦ Double Queue (request-response) ◦ Event Driven Architecture ◦ etc. • Database per service (recomended) • Shared Database Communication Patterns Database Patterns
  6. How do you build Microservices? The following are the key

    points to think about at that time. 1. Divide data into bounded contexts or data domains. 2. Keep communication between services simple. 3. Build your microservices architecture for failure. 4. Emphasize monitoring to ease microservices testing. 5. Embrace continuous delivery to reduce deployment friction
  7. Distributed Monoliths vs. Microservices: Which Are You Building? Distributed Monolith

    is a system that resembles the microservices architecture but is tightly coupled within itself like a monolithic application. Most people misunderstand the concept of microservices
  8. Running microservices is not a sprint Should be seen as

    a journey rather than the immediate goal for a team. Start small to understand the technical requirements of a distributed system, how to fail gracefully, and scale individual components
  9. CREDITS: This presentation template was created by Slidesgo, including icons

    by Flaticon, and infographics & images by Freepik Thanks Please keep this slide for attribution