Why Dataverse is superior to most systems - from an architecture perspective
- 5 minutes read - 924 wordsRecently I had the opportunity to click around in a Legacy System. This got me thinking about the evolution of IT systems and how legacy systems still are in use even though there is newer technology out there. Changing IT systems truly is a painful thing, and it is even worse for a business-critical system. This article aims to first compare Dataverse to legacy systems and then advise on how you can improve your legacy system by making some architectural changes.
So what is a Legacy System you might wonder?
According to Gartner a Legacy system is a system based on outdated technology, but critical to day-to-day operations. Most companies have some sort of Legacy System, and most companies find it hard to replace this system with newer technology.
While I was using this system, it was inevitable to start comparing it to Dataverse. This led me on a path of thinking more deeply about how Dataverse actually works and what sets it apart. In this post, I will try to dissect the architecture of Dataverse and explain why I believe it is superior to most systems.
Legacy system architecture
Most legacy systems consist of two parts: A client application (usually installed on the user’s PC) A Database This is called a two-tier architecture. The client application makes requests to the database and presents the data to the user. Usually, there is no separation between business logic and data. All business logic lives as stored procedures and triggers inside the database. As a consequence of this, heavy user activity in the system means a heavy load on the database and bad performance.
Two-tier architecture.
Drawbacks of a two-tier architecture
Because the business logic lives in the database, patterns such as Object Oriented Programming and Onion Layer Architecture are hard to achieve. To make matters even worse, two-tier systems lack a proper API and all integrations have to be made from Database to Database or through the development of a custom API.
Maintaining and adding new features to this kind of system is hard and takes a lot of effort and time. Understandably customers of these kinds of systems don’t get much value per invested dollar since even the simplest initiative will drive thousands of dollars in costs. The drawback of this architecture:
- Costly to run and maintain
- Bad performance
- No API
I started thinking about what Dataverse does better than these legacy systems and what sets it apart. This thinking made me appreciate the decisions that the designers of Dataverse made and I discovered what makes Dataverse stand out from most of the competition.
Dataverse architecture
Contrary to most Legacy systems Dataverse is split into three parts (a three-tier architecture). Consisting of:
- An in-browser client application
- A web app/API handling all the requests
- A database (or several different types of storage)
The fact that Dataverse is a three-tier application based on Azure infrastructure and nicely integrating with other Azure Resources is what sets it apart from the competition!
The power platform can be seen as a UI powered by the different sections in the image above. The Compute section is where the web app/API is. The storage section is where the database and other storage types are.
The power platform can be seen as a UI powered by the different sections in the image above. The Compute section is where the web app/API is. The storage section is where the database and other storage types are.
Why do we need a web application?
The Web App is what will transform our legacy system from a two-tier architecture to a three-tier application. It lets us separate the UI and the Database by having a middle tier in between called the domain. The domain is where the business logic will live and where we do all the logical operations. This means the Database does not need any triggers or stored procedures.
With the business logic in the Web App we can improve the performance of the entire system. All requests to the database will go through the Web App and the Web Apps can be scaled up and down depending on the number of requests coming in.
What our Two-tier architecture would look like as a Three-tier architecture
What our Two-tier architecture would look like as a Three-tier architecture.
Benefits of a three-tier architecture
So if you have a legacy system, it is pretty obvious what you should do in order to modernize it. Do what Microsoft does, introduce a third tier by introducing a Compute layer to your system.
The benefits are:
- Separation of concerns between business logic and data
- Better performance
- Ability to scale up and down capacity as needed
- Load balancing
- Better maintainability
- Cost savings
Summary
I hope I was able to convince you that Dataverse is superior to most systems. However, the system in itself is not the superior component. Its architecture is what is superior to most systems.
While the benefits are huge, transforming a Legacy system from a two-tier to a three-tier architecture is no simple operation. Usually, companies already have a custom API interacting with the system. In that case, all they need to do is migrate the business logic from the Storage layer to the Compute layer. But even this is easier said than done.
If you still want to ripe the benefits of a modern three-tier application you could consider adding modern supporting systems around your legacy system. The Power platform is a great option for this, providing both scalability and flexibility through its low code framework.