Optimal operation of custom software is a recurring topic in discussions with our clients. In our experience, achieving the best-possible custom solution depends not only on the software but also on how much thought has gone into the operating concept. To put it another way, you can expect to have an efficient and effective custom solution only when the software and operating concept are combined in a manner that makes sense and is appropriate to the company.
In this blog post, we want to shed light on the questions companies should ask themselves when rolling out or migrating a custom solution for system operation. Like the requirements specification that is needed for software development, a “requirements specification” is also necessary for system operation of a custom solution. The specification should include the technical requirements as well as the essential framework conditions, such as resources and in-house expertise.
What do we actually mean by “operation”?
We have chosen a simple model (see the chart below) to make it easier to understand what operation involves. We take a closer look at the operational tasks based on the various levels in the system architecture as well as the operational services provided on each level.
The itemisation of operational responsibilities is what counts
An itemisation of operational responsibilities defines the arrangements for assigning tasks and responsibilities relevant to operation of the system if more than one company is involved in operating the system. How the tasks are distributed essentially depends on whether the custom software is operated on site, by means of hosting made available by a provider, or as an application that is native in the cloud.
If a company takes complete responsibility for system operation, it is relatively easy to manage and coordinate all tasks. The situation is different when operating tasks are divided up among two or more enterprises. In this case it is necessary to draft an itemisation of operational responsibilities. To put it in concrete terms, this means that it is necessary to make clear arrangements for who is responsible for which task and how overlap in the task responsibilities is taken into consideration. It often becomes apparent that trouble-free operation of the custom solution requires that you plan and carry out certain system operation activities only in collaboration with one another.
We present three basic ways to operate below: operating your own data centre (on-premises operation), in the data centre of a service provider (hosting) and native operation in the cloud (cloud). The operational tasks are performed by companies (users), software producers and one or more service providers.
Operating custom software in your own data centre
Businesses operate their systems in their own data centres nearly by themselves. You most frequently encounter an itemisation of operational responsibilities above the level of middleware (see chart), that is, the software producer performs only a few tasks on the application level. In practice, this means that having little need for coordination fosters stable operation of the system.
This itemisation of operational responsibilities allows for a high level of control and flexibility regarding operational details (applying patches, upgrades and so on). However, the user must then have their own data centre and staff with appropriate qualifications. This in turn makes it necessary to make long-term investments that are accompanied by appropriate framework conditions.
Hosting – the conventional approach taken a step further
Hosting takes things one step further. In this case, a hosting provider assumes operational responsibility “from below”, that is, the hardware level and usually also the infrastructure. The hosting provider can offer these services less expensively and with greater flexibility. The operational tasks are highly standardised while also having little or no influence on the application level.
For the user, there is a risk particularly if a hosting system fails to exhibit sufficient stability. If the cause is not clear or if the location of the fault cannot be determined, the user will find themselves sandwiched in the middle, having to coordinate the activities of the hosting provider and software producer. In this situation, neither the hosting provider nor the software producer has a complete overview of the entire system. This can quickly make troubleshooting very complex and time-consuming.
To avoid this scenario, many software producers now offer hosting concepts in which the software producer itself assumes responsibility for hosting – regardless of whether or not hosting is then re-outsourced to another service provider. Responsibilities are more clearly assigned, and this circumstance simplifies operation as well as the contractual situation.
Operating custom software in the cloud
Operating custom software in the cloud is a completely different matter. Numerous functions with which extensive systems can be built are available in the cloud ecosystem. Each function is tightly linked with the operation of the function. This means that in the cloud, a large number of companies can now be involved in operations across all levels. Specifically, this means the following:
- The cloud operator, such as Amazon, Microsoft or Google, always assumes operational responsibility on the hardware level. In this case, the user knows neither the hardware used nor the local configuration.
- The cloud operator also provides large parts of the infrastructure as well as key middleware components.
- The cloud solution providers extend the cloud to include features that are additionally integrated as managed services (see itwissen.info for a definition).
As a consequence, operation of a custom solution in the cloud results in many different agreements on matters including costs, functional scope and availability. Aggregation of all details on the system level requires a high level of expertise in all components and well-founded expertise in dealing with the cloud. Skills in monitoring operations (24/7 monitoring in particular) are also required, along with expertise in the area of security. Only experts who completely understand the system architecture and how the components interact can make sound assessments of the technology and properly manage it.
Companies that want to operate their custom solution in the cloud have to make extensive efforts to build skills and keep their level of expertise high – or outsource operation in the cloud to the software producer.
Conclusion: A great deal of thought needs to go into how custom software is to be operated.
On-premises, hosting or the cloud? Each approach is associated with its own advantages and risks. The first and most important step is to consider the pros and cons of each method of operation and define your requirements.
For most companies, system operation is not a core part of their business. Building up and maintaining the necessary expertise is time-consuming and requires resources. Many companies also want to concentrate on their core business. It is therefore recommended that you outsource the operation of a custom solution. The software producer should assume responsibility for operation of the custom solution so that it runs stably, has clearly defined interfaces and doesn’t overwhelm the user in terms of effort required to keep it going.
For users who want to concentrate on their core business and not be required to think about system operation, Seven2one provides everything from a single source: a complete solution from custom software to system operation.