Knowledge

Monolithic application

Source 📝

20: 83:. Despite their popularity in recent years, monolithic applications are still a good choice for applications with small team and little complexity. However, once it becomes too complex, you can consider refactoring it into microservices or a distributed application. Note that a monolithic application deployed on a single machine, may be performant enough for your current workload but it's less available, less durable, less changeable, less fine-tuned and less scalable than a well designed 398: 106:
In software engineering, a monolithic application describes a software application that is designed as a single service. Multiple services can be desirable in certain scenarios as it can facilitate maintenance by allowing repair or replacement of parts of the application without requiring wholesale
114:
approaches. Code-based modularity allows developers to reuse and repair parts of the application, but development tools are required to perform these maintenance functions (e.g. the application may need to be recompiled). Object-based modularity provides the application as a collection of separate
90:
The design philosophy is that the application is responsible not just for a particular task, but can perform every step needed to complete a particular function. Some personal finance applications are monolithic in the sense that they help the user carry out a complete task, end to end, and are
134:
In its original use, the term "monolithic" described enormous mainframe applications with no usable modularity. This, in combination with the rapid increase in computational power and therefore rapid increase in the complexity of the problems which could be tackled by software, resulted in
51:
which is self-contained and independent from other applications, but typically lacks flexibility. There are advantages and disadvantages of building applications in a
184:
Mishra, Mayank; Kunde, Shruti; Nambiar, Manoj (2018). "Cracking the monolith: Challenges in data transitioning to cloud native architectures".
439: 123:
files). Some object messaging capabilities allow object-based applications to be distributed across multiple computers (e.g. Microsoft's
305: 115:
executable files that may be independently maintained and replaced without redeploying the entire application (e.g. Microsoft's
59:, depending on requirements. Monolith applications are relatively simple and have a low cost but their shortcomings are lack of 233: 335: 468: 189: 262: 234:"Microservices vs. monolithic architecture: When monoliths grow too big it may be time to transition to microservices" 354: 286: 205: 432: 458: 128: 463: 60: 377: 425: 64: 413: 155: 124: 72: 302: 148: 84: 76: 56: 405: 186:
Proceedings of the 12th European Conference on Software Architecture: Companion Proceedings
116: 48: 40: 8: 322: 160: 111: 100: 211: 282: 258: 201: 215: 193: 92: 19: 372: 309: 136: 409: 131:
use specific communication standards/protocols to communicate between modules.
96: 99:
are monolithic applications. These applications are sometimes associated with
95:
rather than parts of a larger system of applications that work together. Some
452: 120: 80: 197: 279:
Monolith to Microservices Evolutionary Patterns to Transform Your Monolith
68: 32: 397: 52: 24: 336:"Cloud Adoption As A Part Of The Digital Transformation Journey" 151:
used for monolithic applications, each has its own trade-offs:
255:
Fundamentals of Software Architecture: An Engineering Approach
28: 71:. Alternative styles to monolithic applications include 110:
Modularity is achieved to various extents by different
183: 450: 433: 23:Monolithic applications can be compared to 440: 426: 18: 371: 227: 225: 451: 365: 231: 352: 177: 392: 249: 247: 222: 190:Association for Computing Machinery 35:: a large single (mono) rock (lith) 13: 14: 480: 244: 396: 301:Information Technology Services 135:unmaintainable systems and the " 381:. Addison-Wesley Professional. 346: 328: 315: 295: 271: 129:Service-oriented architectures 1: 312:Retrieved on 28 November 2019 170: 412:. You can help Knowledge by 355:"dynamic link library (DLL)" 7: 378:The Art of Unix Programming 142: 10: 485: 469:Software engineering stubs 391: 325:Retrieved on 3 August 2007 232:Harris, Chandler (2022). 281:. O'Reilly Media. 2019. 257:. O'Reilly Media. 2020. 166:Microkernel architecture 198:10.1145/3241403.3241440 73:multitier architectures 16:Software design pattern 408:-related article is a 323:Three-tier Application 303:Monolithic Application 149:architectural patterns 125:Component Object Model 45:monolithic application 36: 459:Software architecture 192:(ACM). pp. 1–4. 188:. New York, NY, USA: 77:distributed computing 57:software architecture 22: 406:software-engineering 156:Layered architecture 117:Dynamic-link library 49:software application 47:is a single unified 41:software engineering 464:History of software 112:modular programming 101:mainframe computers 308:2007-09-02 at the 93:private data silos 85:distributed system 37: 421: 420: 476: 442: 435: 428: 400: 393: 383: 382: 373:Raymond, Eric S. 369: 363: 362: 353:Lutkevich, Ben. 350: 344: 343: 332: 326: 319: 313: 299: 293: 292: 275: 269: 268: 251: 242: 241: 229: 220: 219: 181: 147:Here are common 119:(DLL); Sun/UNIX 484: 483: 479: 478: 477: 475: 474: 473: 449: 448: 447: 446: 389: 387: 386: 370: 366: 351: 347: 342:. 2 March 2022. 334: 333: 329: 320: 316: 310:Wayback Machine 300: 296: 289: 277: 276: 272: 265: 253: 252: 245: 230: 223: 208: 182: 178: 173: 145: 137:software crisis 97:word processors 65:fault tolerance 17: 12: 11: 5: 482: 472: 471: 466: 461: 445: 444: 437: 430: 422: 419: 418: 401: 385: 384: 364: 359:techtarget.com 345: 327: 314: 294: 287: 270: 264:978-1492043454 263: 243: 221: 206: 175: 174: 172: 169: 168: 167: 164: 158: 144: 141: 15: 9: 6: 4: 3: 2: 481: 470: 467: 465: 462: 460: 457: 456: 454: 443: 438: 436: 431: 429: 424: 423: 417: 415: 411: 407: 402: 399: 395: 394: 390: 380: 379: 374: 368: 360: 356: 349: 341: 337: 331: 324: 318: 311: 307: 304: 298: 290: 288:9781492047810 284: 280: 274: 266: 260: 256: 250: 248: 239: 238:atlassian.com 235: 228: 226: 217: 213: 209: 207:9781450364836 203: 199: 195: 191: 187: 180: 176: 165: 162: 159: 157: 154: 153: 152: 150: 140: 138: 132: 130: 126: 122: 121:shared object 118: 113: 108: 107:replacement. 104: 102: 98: 94: 88: 86: 82: 81:microservices 78: 74: 70: 66: 62: 58: 54: 50: 46: 42: 34: 30: 26: 21: 414:expanding it 403: 388: 376: 367: 358: 348: 339: 330: 317: 297: 278: 273: 254: 237: 185: 179: 146: 133: 109: 105: 89: 44: 38: 340:kumaran.com 69:scalability 453:Categories 321:Microsoft 171:References 61:elasticity 53:monolithic 27:, such as 55:style of 33:Australia 25:monoliths 375:(2003). 306:Archived 216:52295004 163:monolith 143:Patterns 127:(COM)). 161:Modular 285:  261:  214:  204:  404:This 212:S2CID 29:Uluru 410:stub 283:ISBN 259:ISBN 202:ISBN 79:and 67:and 43:, a 194:doi 139:". 39:In 455:: 357:. 338:. 246:^ 236:. 224:^ 210:. 200:. 103:. 87:. 75:, 63:, 31:, 441:e 434:t 427:v 416:. 361:. 291:. 267:. 240:. 218:. 196::

Index


monoliths
Uluru
Australia
software engineering
software application
monolithic
software architecture
elasticity
fault tolerance
scalability
multitier architectures
distributed computing
microservices
distributed system
private data silos
word processors
mainframe computers
modular programming
Dynamic-link library
shared object
Component Object Model
Service-oriented architectures
software crisis
architectural patterns
Layered architecture
Modular
Association for Computing Machinery
doi
10.1145/3241403.3241440

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.