If you spend much time talking to other P21 ERP users about an issue you are having with Epicor Prophet 21, you are likely to be asked something like: “Are you using fat clients or thin clients”. These are the two common architectures for putting the P21 ERP Software into your environment. I have come across very new users that are not clear on what these terms mean. I have also come across many system administrators who are not sure which is the right way to go. Today, we are going to try and shed some light into the conversation so you can weigh the options and make the best decisions for your environment.
P21 ERP Fat and Thin Client Defined
When people refer to fat clients, this is when you have a normal desktop or laptop computer with the full Prophet 21 ERP software package installed on it. This is no different than any other application, like Microsoft Outlook for example, being installed on your computer. The P21 application executes locally on your computer, and then communicates with the database over your network.
By contrast, a thin client deployment is any configuration where Prophet 21 executes remotely. In other words, users are logging into some other computer (usually a server) to get to the P21 ERP application. This would include Microsoft Remote Desktop, Citrix, VMWare, and any other type of virtualization deployment. A key feature of a thin client architecture is that screen updates from the server where P21 ERP resides are what transmits over the network. There is no local installation of Prophet 21 in this setup.
Is P21 ERP via Fat Client Right for Me?
I bet you already know the answer…it depends. Choosing the model for your P21 ERP deployment is not a decision to be taken lightly. Everyone’s situation is different, and trying to absorb a variety of opinions on the subject can be overwhelming. Let’s take a look at some features of the fat client deployment.
- If you already have users that all have desktop or laptop computers, installing another application on the machine might make sense. It is an extension of what you are already doing.
- There are certain types of updates, for instance changing a business rule DLL that might be easier to manage from a productivity standpoint, because you can update one user’s computer at a time, avoiding having to kick everyone off at one time.
- On the other hand, updates to P21 ERP and things like business rules have to be pushed to several computers. So the more you tinker with updates and business rules, the more install & update processes you will have.
- If your network performance is sketchy sometimes, both deployments will suffer, but fat clients are going to be less susceptible to keyboard buffer latency. This is that annoying condition where you type a key and there is a delay before it appears on screen. This is commonly known as “input lag”.
- If you are uncomfortable with administering a remote desktop server environment, fat clients may be the way to go. There is no question that the thin client environment adds another layer of complexity.
- Fat clients have a very simple licensing model. You are not paying for an additional set of server licenses or RDP client access licenses so users can log into P21. On the server side, you have a Windows server license for the database server and it’s SQL Server license. That’s about it.
- Chances are, not all of your computers are exactly the same, nor are they all going to have CPUs & hard drives that are tuned for P21 ERP. This will lead to users getting a different experience from one machine to the next. This can make troubleshooting a little more challenging since there are more variables in the equation.
Should I Go With Thin Clients for P21 ERP?
The thin client setup for P21 ERP is a “remote deployment”. In any event, there are aspects of the thin client architecture that may suit your particular situation better.
- If your users are already on a “dumb terminal“, this is pretty much a no-brainer. A local install of P21 cannot exist, so thin client is the only option.
- If your client computer fleet is aging or under-powered, your users may get bad experience on fat clients. You can overcome this by having them connect via remote desktop.
- If you have a diverse operating system environment, some Windows, some Mac, etc., then you may have to look at a thin client environment for at least a portion of the user base. The P21 ERP desktop application only runs on Windows.
- I think it is fair to say that maintenance is faster in the remote desktop deployment. Kick out all the users, apply the update, let them log back in. While downtime affects everyone at the same time, it also ends for everyone at the same time, and usually it is a shorter window.
- User experience is normally more consistent in the remote environment. This is because everyone is using an instance of the same computer for Prophet 21. The main variable is network consistency.
- I believe that overall, fewer resources get consumed. You put cash into higher end servers that are optimized for the P21 ERP application and then client performance almost does not matter. This reduces the spend per device on desktops and laptops, since they do not need to be high performance machines for P21.
- There is additional licensing cost, and also additional expertise required to administer the remote environment. You will have to have access to the expertise to manage the virtualization layer your are using to deliver P21 ERP.
- If the remote desktop server crashes, everyone disconnects from P21. Your downtime, like your updates, become more of an all or nothing proposition. Having said that, I would never recommend a deployment with a single application server. That’s just asking for trouble. Either run two or have one powered off and ready to go at a moment’s notice.
- P21 ERP is a database intensive application. Clients need to be able to access the database server quickly and efficiently. If network connectivity and consistency is a problem, containing this client-server communication within your server stack might make more sense, especially if the rack is offsite or you have many remote locations & users.
So What’s Best for My P21 ERP Setup?
I am sorry to tell you there is no perfect answer. Truly, it depends. You have to weigh all of your options, take an honest look at your strengths and weaknesses for administration, and make the best choice for your particular needs.
You might find that the best answer is “both”. There is a case for using one way in your main office for example, and another way in a smaller branch office. Depending on the expense and availability of resources at each site, one P21 ERP architecture may work better at one location than it does in another. I would say proximity to the database server is a big consideration. If the client can connect to the database on a LAN, fat client is probably OK. However, if you need to connect via VPN or some other remote access, you might find performance to be unacceptable with fat clients.
The the last thoughts I will leave you with are these:
- Its not a “forever” decision. You can deploy one way and ease into the other over time as time passes.
- Epicor is slowly steering the variables you need to consider in this decision. They have made it clear that eventually development will cease on the desktop application and the web (and hybrid) client is where everyone will end up if they continue to update their P21 ERP software. This has a trade off. Your CPU processing horsepower on the server side is more valuable. The database and middleware servers will do most of the compute work. That said, there will almost certainly be more traffic on the network becuase the API will send more data than a simple screen refresh via remote desktop.
Best of luck choosing your P21 ERP deployment architecture. Hopefully you have the facts you need to make the best decision possible.
Visit the P21 Knowledge Base on FreeingERP.com for more Prophet 21 information