Multi-website architecture discussion

Monolithic vs. Microservices Architecture

The web is under constant development. The expansion of traditional brands into the digital world, the growth of new e-businesses and even entertainment make innovations on the web necessary. The increasing popularity of microservices is one of those changes.

Microservice architecture is generally considered opposite to monolithic architecture which came to prominence in the early 2000s. Typical monolithic applications are single-tiered, the user interface is a layer covering the business layer and a persistence layer. What does it mean?

Monolithic or Too-Much-in-One?

Imagine a building where you have everything that your business needs: the manufacturing facility for your product, a workshop to build the tools to make your product, a space to convert raw materials into the working parts needed to build your product. A place to mine the raw materials for your product. As well as a sales office and a marketing office and an HR office and accounting office and a lunchroom... Now imagine the same people work in each office. Jane is responsible for the accounting as well as for tool making and John is responsible for building parts of your product as well as cooking lunch for all the staff. Sure they can do it but they are not the best person for all the job. And If John gets sick nothing gets done because the staff is hungry and there are no parts for your product.

Software architecture

The same situation is happening inside monolithic apps where you have for example:

  • a webpage containing information, 
  • ecommerce tools with order management,
  • e-payment tools,
  • tools for product management.

That’s a lot of things to deal with. Especially if you realize that all of these parts are connected to a single database and they rely heavily on each other to work. Imagine now that one part is broken and affects whole internal infrastructure.

The monolithic app is easy to build, but it is also really painful and cost-generating when changing or expanding. There are some pros: it is a great solution for a start, known as an MVP, and quite good for maintenance if you do not grow, keeping the same number of features, products, customers, and traffic.

The problem appears when it comes to flexibility and scalability. Once the enterprise grows, the expectations and needs increase, and keeping everything under one roof turns out to be limiting and blocking. The solution is microservice architecture.

Microservices

At first sight, the idea behind microservice architecture sounds like a complete novelty however, it is a combination of various successful and proven concepts:

  • Agile software development
  • Service-oriented architectures
  • API-first design 
  • Continuous Integration / Continuous Delivery (CI/CD)
Microservices vs monolithic architecture

An application based on microservices is a set of autonomous services, each of which performs one task - explains our developer Daniel Aniszkiewicz, and further he adds: “These services work together to perform more complex operations”.

Instead of a single, complex system, you can build and manage a set of relatively simple services that can interact in a complex way. One of the key concepts of microservices architecture is that a given service must be designed based on business abilities so that the service handles specific needs and has a well-defined set of responsibilities.

Microservices: What Does It Mean for Your Business?

Microservices are easily adjustable and extensible which makes them much easier to maintain and scale. It is also more efficient for the developers who work on your web application, whether it is developing or deploying new features, functionality or services. The whole web application also benefits from better performance, working faster and being much more secure, as each microservice can be secured individually. If you need a solution which can grow with your enterprise and stay future-proof, microservices are the faster, more capable and much cheaper option.

Our next-generation SaaS CMS Scrivito is a cloud-based solution with an API-first approach, facilitating agile software development, continuous integration, continuous delivery and service-oriented architectures. As a future-proof product, CMS Scrivito is adjustable, flexible and scalable and is designed to work with whatever microservices you need. In essence is it a microservice itself. We do not limit our customers to simple templates and arrangements strictly determined by technical issues. Our CMS runs on Amazon Web Services and uses the best of their microservices. And we do this in a faster and more secure than the traditional monolithic CMS.