Introduction:
Enterprise Resource Planning (ERP) Systems are key components used to run critical business processes in many of the big corporates around the world. SAP ERP Systems like ECC or lately S/4 HANA started in the market for more than 40 years which means there is a huge number of analysts and developers which build applications around these technologies.
Due to the increased use of these systems and this high number of developers, many companies build custom applications around this core component. In the ideal scenario, development happen on dedicated platforms like separate ABAP or web applications hosting systems. However, due to the cost associated with these platforms and due to the integration cost added, many companies prefer to develop their custom application directly on top of the ERP systems.

Problem:
Although this saves the cost of hosting, it increases the cost of maintenance and operation. The reason behind this is that when you perform upgrades, you have to take care of all of custom development requirements. Also, the stability of the system might decrease due to any of the badly developed apps.
Some companies already invested in development of tens of custom applications hosted on ERP system. Thus, although cost is not an issue, it is very hard to re-write their applications to be hosted on a separate platform. So, they suffer from the additional cost of maintenance and the instability of platform.
Solutions:
So, what to do to solve such issue?
Short Term:
ERP systems should be treated as a platform which means that very strict rules on custom applications need to be set. The restriction of applications will increase the stability of the systems is increased but the maintenance cost during migrations will continue.
In this approach companies need to look at the ERP system completely differently. Platforms are usually designed to prevent any offensive applications from affecting others to increase the platform stability and hence the stability of other applications.
In order to achieve this, a control application which manages custom applications need to be built. This control application will perform the following tasks:
- It will restrict any custom application from running more that it should be.
- It will restrict consumption of the platform resources by one application. This include both application servers, and DB layers. This include CPU, Memory, and Even application layers resources like locks, transactional RFCs, Queue RFCs, SM13 updates and so on.
- It will ensure strict retention of custom application data.
In addition to the control system, there are multiple parameters which help avoid impact by single applications on the ERP system. For example, retention period for updates can be controlled. Also, maximum number of sessions per user can be controlled. Further more the session time-out can be implemented more aggressively to maintain the health of the system.
Once this control application is in place, system stability can be increased by far compared to uncontrolled ERP system with custom applications.

Long Term:
companies should have a strategy to have pure ERP systems in order to increase the stability and reduce the maintenance cost. The first step to achieve that is to ensure any new applications are built on a separate platform (PaaS, or a local dedicated application hosting).
Once the new development on the ERP system stops, companies should start a long-term plan to migrate their applications to this platform until the ERP system becomes completely native.

Conclusion:
With the decreasing cost of infrastructure and hosting and with the availability of virtualized and cloud environments, it makes more since now to host custom applications in separate platforms on-premise or on cloud (like SAP BTP or SCP). Old and legacy application should put a strategy to move to this direction to reduce cost of operation of ERP systems.