SlideShare a Scribd company logo
1 of 15
Modular Monolith
Architecture
Aaron White
Senior Software Engineer
STEM ambassador
What are we
going to cover
• Project requirements at FRF
• Consideration and decision on architecture
styles
• Run through common architecture styles such
as monolith and microservice.
• Our architecture decision, and why its modular
• High level designs and decisions
• What are the drawbacks and how do you
overcome them
• Taking the next steps from a modular monolith
• Reflection + Q&A
Build a cloud native account
management platform to replace a
sunset legacy system.
Constraint and
Considerations
• Speed to market
• Small Team
• Limited DevOps and
microservice knowledge in team
• Small initial user count
• Small initial budget
• On premises services and DBs
• Team replacing/upgrading
another legacy system
What is a monolith?
• Tightly coupled
• Single codebase
• Deployed as a single unit
• Easy to develop and
maintain*
• Can become difficult to
manage and scale effectively.
• Remain a popular choice
What are
microservices?
• Broken down into smaller
components or services.
• Each service is designed to
perform a specific task
• Developed, tested, and
deployed independently of
one another
• More complex than
monolithic architecture
What is modular monolith?
• Hybrid of monolithic architecture
and microservices architecture.
• Each module is designed to
perform a specific task or set of
related task
• Developed, tested, and deployed
independently of one another
• Can address scalability issues
that can arise with monolithic
architectures.
• Reduce complexity
Why modular
monolith?
• Fast to market strategy
• Keep deployment model simple
• Ability to scale in future to meet user
demand – Microservices split
• Cost kept low due to single app
deployment
• Keeps boundaries clear, avoided
premature split of microservices
How we built
it!
Its not all
sunshine
• Code duplication and work arounds in API layer
• EF core migrations
• Mass transit or other package configurations
• IDE performance
How we over came
it
Created Shared module
Created readme
Move to singular API
projects
What’s next for the team?
Own API
Project
1
Containerise
each module
2
Deploy
independently
3
Create
individual
databases
4
Separate code
5
Reflection – When to use modular monolith
NEED TO BE FAST
TO MARKET
SMALL
APPLICATION
TEAM
KNOWLEDGE
BUDGET FUTURE
MICROSERVICES
Q&A
First Response Finance Careers!
https://careers.firstresponsefinance.co.uk/
Get in contact with me!
https://www.linkedin.com/in/aaronwhi/
Slide Share:

More Related Content

Similar to DerbyDev_ModMonolith_290323.pptx

Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Microfrontends Monoreops & Trunkbased based
Microfrontends Monoreops & Trunkbased basedMicrofrontends Monoreops & Trunkbased based
Microfrontends Monoreops & Trunkbased basedVinci Rufus
 
From Monolithic to Microservices in 45 Minutes
From Monolithic to Microservices in 45 MinutesFrom Monolithic to Microservices in 45 Minutes
From Monolithic to Microservices in 45 MinutesMongoDB
 
Discussion About Microservices Architecture
Discussion About Microservices ArchitectureDiscussion About Microservices Architecture
Discussion About Microservices ArchitectureRalph Osmond Rimorin
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Richard Langlois P. Eng.
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services ArchitectureRabbani Mohideen
 
Software architectures
Software architecturesSoftware architectures
Software architecturesAmandeep Singh
 
Undoable architectures
Undoable architecturesUndoable architectures
Undoable architecturesGiorgio Natili
 
microservices-is-it-the-holy-grail-a-perspective.pdf
microservices-is-it-the-holy-grail-a-perspective.pdfmicroservices-is-it-the-holy-grail-a-perspective.pdf
microservices-is-it-the-holy-grail-a-perspective.pdfRichieBallyears
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservicesAnil Allewar
 
Migrating to Microservices Patterns and Technologies (edition 2023)
 Migrating to Microservices Patterns and Technologies (edition 2023) Migrating to Microservices Patterns and Technologies (edition 2023)
Migrating to Microservices Patterns and Technologies (edition 2023)Ahmed Misbah
 
Microservices, Spring Cloud & Cloud Foundry
Microservices, Spring Cloud & Cloud FoundryMicroservices, Spring Cloud & Cloud Foundry
Microservices, Spring Cloud & Cloud FoundryEmilio Garcia
 
Are you ready for Microservices
Are you ready for MicroservicesAre you ready for Microservices
Are you ready for MicroservicesAsiri Liyanage
 
Pros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitecturePros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitectureAshwini Kuntamukkala
 
Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015Ken Owens
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableComsysto Reply GmbH
 
Mobile app-and-microservices-with-ibm-cloud
Mobile app-and-microservices-with-ibm-cloudMobile app-and-microservices-with-ibm-cloud
Mobile app-and-microservices-with-ibm-cloudSrinivasan Nanduri
 
DEVNET-1142 Decomposing Monolithic Applications to Microservices
DEVNET-1142	Decomposing Monolithic Applications to MicroservicesDEVNET-1142	Decomposing Monolithic Applications to Microservices
DEVNET-1142 Decomposing Monolithic Applications to MicroservicesCisco DevNet
 
Software Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based ArchitecturesSoftware Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based ArchitecturesAngelos Kapsimanis
 
Client Technical Analysis of Legacy Software and Future Replacement
Client Technical Analysis of Legacy Software and Future ReplacementClient Technical Analysis of Legacy Software and Future Replacement
Client Technical Analysis of Legacy Software and Future ReplacementVictorSzoltysek
 

Similar to DerbyDev_ModMonolith_290323.pptx (20)

Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Microfrontends Monoreops & Trunkbased based
Microfrontends Monoreops & Trunkbased basedMicrofrontends Monoreops & Trunkbased based
Microfrontends Monoreops & Trunkbased based
 
From Monolithic to Microservices in 45 Minutes
From Monolithic to Microservices in 45 MinutesFrom Monolithic to Microservices in 45 Minutes
From Monolithic to Microservices in 45 Minutes
 
Discussion About Microservices Architecture
Discussion About Microservices ArchitectureDiscussion About Microservices Architecture
Discussion About Microservices Architecture
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services Architecture
 
Software architectures
Software architecturesSoftware architectures
Software architectures
 
Undoable architectures
Undoable architecturesUndoable architectures
Undoable architectures
 
microservices-is-it-the-holy-grail-a-perspective.pdf
microservices-is-it-the-holy-grail-a-perspective.pdfmicroservices-is-it-the-holy-grail-a-perspective.pdf
microservices-is-it-the-holy-grail-a-perspective.pdf
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Migrating to Microservices Patterns and Technologies (edition 2023)
 Migrating to Microservices Patterns and Technologies (edition 2023) Migrating to Microservices Patterns and Technologies (edition 2023)
Migrating to Microservices Patterns and Technologies (edition 2023)
 
Microservices, Spring Cloud & Cloud Foundry
Microservices, Spring Cloud & Cloud FoundryMicroservices, Spring Cloud & Cloud Foundry
Microservices, Spring Cloud & Cloud Foundry
 
Are you ready for Microservices
Are you ready for MicroservicesAre you ready for Microservices
Are you ready for Microservices
 
Pros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitecturePros & Cons of Microservices Architecture
Pros & Cons of Microservices Architecture
 
Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuable
 
Mobile app-and-microservices-with-ibm-cloud
Mobile app-and-microservices-with-ibm-cloudMobile app-and-microservices-with-ibm-cloud
Mobile app-and-microservices-with-ibm-cloud
 
DEVNET-1142 Decomposing Monolithic Applications to Microservices
DEVNET-1142	Decomposing Monolithic Applications to MicroservicesDEVNET-1142	Decomposing Monolithic Applications to Microservices
DEVNET-1142 Decomposing Monolithic Applications to Microservices
 
Software Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based ArchitecturesSoftware Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based Architectures
 
Client Technical Analysis of Legacy Software and Future Replacement
Client Technical Analysis of Legacy Software and Future ReplacementClient Technical Analysis of Legacy Software and Future Replacement
Client Technical Analysis of Legacy Software and Future Replacement
 

Recently uploaded

Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 

Recently uploaded (20)

Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 

DerbyDev_ModMonolith_290323.pptx

  • 1. Modular Monolith Architecture Aaron White Senior Software Engineer STEM ambassador
  • 2. What are we going to cover • Project requirements at FRF • Consideration and decision on architecture styles • Run through common architecture styles such as monolith and microservice. • Our architecture decision, and why its modular • High level designs and decisions • What are the drawbacks and how do you overcome them • Taking the next steps from a modular monolith • Reflection + Q&A
  • 3. Build a cloud native account management platform to replace a sunset legacy system.
  • 4. Constraint and Considerations • Speed to market • Small Team • Limited DevOps and microservice knowledge in team • Small initial user count • Small initial budget • On premises services and DBs • Team replacing/upgrading another legacy system
  • 5.
  • 6. What is a monolith? • Tightly coupled • Single codebase • Deployed as a single unit • Easy to develop and maintain* • Can become difficult to manage and scale effectively. • Remain a popular choice
  • 7. What are microservices? • Broken down into smaller components or services. • Each service is designed to perform a specific task • Developed, tested, and deployed independently of one another • More complex than monolithic architecture
  • 8. What is modular monolith? • Hybrid of monolithic architecture and microservices architecture. • Each module is designed to perform a specific task or set of related task • Developed, tested, and deployed independently of one another • Can address scalability issues that can arise with monolithic architectures. • Reduce complexity
  • 9. Why modular monolith? • Fast to market strategy • Keep deployment model simple • Ability to scale in future to meet user demand – Microservices split • Cost kept low due to single app deployment • Keeps boundaries clear, avoided premature split of microservices
  • 11. Its not all sunshine • Code duplication and work arounds in API layer • EF core migrations • Mass transit or other package configurations • IDE performance
  • 12. How we over came it Created Shared module Created readme Move to singular API projects
  • 13. What’s next for the team? Own API Project 1 Containerise each module 2 Deploy independently 3 Create individual databases 4 Separate code 5
  • 14. Reflection – When to use modular monolith NEED TO BE FAST TO MARKET SMALL APPLICATION TEAM KNOWLEDGE BUDGET FUTURE MICROSERVICES
  • 15. Q&A First Response Finance Careers! https://careers.firstresponsefinance.co.uk/ Get in contact with me! https://www.linkedin.com/in/aaronwhi/ Slide Share:

Editor's Notes

  1. 10 years experience in enterprise software development Various roles STEM ambassador
  2. Gut reaction - Break legacy system down into microservices and slowly replace them
  3. Speed to market was critical – business slowed without legacy system User count around 20, however project to increase to thousands
  4. Gut reaction - Break legacy system down into microservices and slowly replace them
  5. A monolith architecture is a type of software architecture where all the components of an application are tightly coupled and interconnected within a single codebase . In a monolith architecture, the entire application is deployed as a single unit, meaning that any changes or updates to one component of the application require the entire application to be redeployed. Monolith architectures are often contrasted with microservices architectures, which break an application down into smaller, more modular components that can be developed, tested, and deployed independently of one another. Monolith architectures can be simpler and easier to develop and maintain than more complex architectures like microservices, especially for smaller applications or teams with limited resources. However, as applications grow larger and more complex, monolith architectures can become difficult to manage and scale effectively, leading to performance and maintenance issues. Despite their limitations, monolith architectures remain a popular choice for many applications and development teams.
  6. A microservice architecture is a type of software architecture where an application is broken down into smaller, independent components, or services. Each service in a microservice architecture is designed to perform a specific task, and communicates with other services through well-defined interfaces. Because each service in a microservice architecture is independent, they can be developed, tested, and deployed independently of one another, which can lead to faster and more efficient development. Microservice architectures are often contrasted with monolithic architectures, which deploy an entire application as a single unit. Microservice architectures are generally more complex than monolithic architectures, and require careful planning and management to ensure that services can communicate effectively and that the application as a whole can be effectively monitored and maintained. Despite their complexity, microservice architectures have become increasingly popular in recent years due to their flexibility, scalability, and ability to support agile development practices.
  7. A modular monolith architecture is a hybrid approach that combines the simplicity and ease of maintenance of a monolithic architecture with the modularity and scalability of a microservices architecture. In a modular monolith architecture, the application is still deployed as a single unit, but the codebase is organized into separate modules, each of which can be developed and deployed independently of one another. Each module in a modular monolith architecture is designed to perform a specific task or set of related tasks, and communicates with other modules through well-defined interfaces. Because each module in a modular monolith architecture is independent, they can be developed, tested, and deployed independently of one another, which can lead to faster and more efficient development. Modular monolith architectures are designed to address some of the scalability and maintenance issues that can arise with monolithic architectures as applications grow larger and more complex. While modular monolith architectures can be more complex than traditional monolithic architectures, they can also offer many of the benefits of microservices architectures without the added complexity of managing multiple services. Modular monolith architectures are becoming increasingly popular as a way to balance the simplicity of monolithic architectures with the scalability and modularity of microservices architectures.
  8. Fast to market – Need to replace legacy system, also teams will use our service in future but not now Deployment simple – Limited knowledge in team, helped with getting up to speed Future scale – ability to break way and scale module if needed Boundaries – ability to move to microservice module
  9. Gateway -> Single entry point into application / handles authentication and auth API -> Simple there to configure cross cutting concerns, downside of modular monolith Event bus -> communication between modules On prem façade- strangulate services
  10. EF core migrations – had to fully qualify context, not as quick to developer Package configuration only require one single instance made it difficult to fully separate each module – mass transit Merge issue when all working in close proximity IDE performance will decrease over time -
  11. Can break into more defined modules, i.e. each have own API and startup
  12. Gateway -> Single entry point into application / handles authentication and auth API -> Simple there to configure cross cutting concerns, downside of modular monolith Event bus -> communication between modules On prem façade- strangulate services