Monolithic Applications Definition & Meaning
Monolithic applications, also referred to as monolithic architecture, describe a single-tiered software application where different components are combined into a single application on a single platform, thus making it self-contained and independent from other applications. Components can include:
- Authorization: Manages authorizing users
- Presentation: Handles and responds to HTTP requests
- Business logic: Manages the application's business logic
- Database layer: Data access objects responsible for accessing the database
- Application integration: Integration with other services or data sources
- Notification module: Manages sending email notification when needed
The application is not responsible for one particular task, but rather can carry out every step needed to complete a particular function. Monolithic applications are simple to develop, test, deploy, and scale. A couple drawbacks include needing to redeploy the entire application on each update and having difficulties adapting to new and advanced technologies.
Monolithic vs. microservices applications
Microservices split your application into a set of smaller, interconnected services as opposed to building a single monolithic application. Each microservice is a small application with its own hexagonal architecture that would expose a REST, RPC, or message-based API. A monolithic architecture is best for simple, lightweight applications. If your team is small and your applications don't require much business logic or scalability, the monolithic approach works well. In contrast, microservices is best suited for complex, evolving applications. It requires specific skills and expertise, but if you're looking to scale and add capabilities to your application, choosing a microservice architecture is the best route.
Monolithic vs microservices vs containers
Containers are a way of packing applications and thus are independent of monolithic applications and microservices. A container could be used to deploy and run a monolithic application, for example.
Stay up to date on the latest developments in Internet terminology with a free newsletter from Webopedia. Join to subscribe now.
From A3 to ZZZ we list 1,559 text message and online chat abbreviations to help you translate and understand today's texting lingo. Includes Top... Read More »Huge List of Computer Certifications
Have you heard about a computer certification program but can't figure out if it's right for you? Use this handy list to help you decide. Read More »
Computer architecture provides an introduction to system design basics for most computer science students. Read More »Network Fundamentals Study Guide
Networking fundamentals teaches the building blocks of modern network design. Learn different types of networks, concepts, architecture and... Read More »The Five Generations of Computers
Learn about each of the five generations of computers and major technology developments that have led to the computing devices that we use... Read More »