When implementing business solutions using commercial or third-party solutions, what’s the best software delivery option? Should you look for a solution managed by the application provider? Or do you buy a license and implement it in-house, using your own staff to implement, install, and manage the solution? Of course, the answer is “it depends”. In order to determine what would work best for you, the first step is assessing the options against your priorities as a business. Here are some considerations:
Cost can come in the form of software licensing, hardware equipment, personnel cost, and financial accounting. As a general rule, the upfront investment of choosing a cloud delivered service solution is less than if you were to buy a license and operate it yourself. By choosing a solution managed by the application provider there is no investment in hardware and system operations expertise. Additionally, there are no separate licensing fees for any required 3rd-party components because you are purchasing a full-service rather than an individual software component. In a self-hosted environment, you will need to hire and train staff to be familiar with the solutions and to manage the applications. Depending on the frequency of updates and the level of administration required, any staff you bring on board may never be able to develop the level of expertise and efficiency that someone who is dedicated to the solution and supports it on a day-to-day basis across many customers. Expertise is built on experience and if you only do an upgrade once every 3 months, how expert is your staff going to get? From an accounting standpoint, costs can be consider operations (OPEX) rather than a big time capital expense (CAPEX) to buy equipment, facilities, staff and software licenses.
With cloud services and managed services, you may lose some control over the solution. Upgrades for cloud services are typically scheduled by the service providers with an expectation that you, as the customer, will be responsible for testing and accepting upgrades as they come regardless of your current business situation. Depending on the level of integration you have between the service and other systems and the frequency of updates or upgrades, the testing cycle can become burdensome and costly to you. In addition, with both a managed service and a cloud service scenario, you may not have the control over the application you would like, having instead to rely on the cloud service or managed service provider to make required changes. As a rule, in both managed services and cloud services environment, you will not have direct access to the servers or to the database.
While most cloud and hosting providers will typically have well-documented and established software security measures, if you have different or additional requirements you may be out of luck. You may be able to demand/request different security measures, but not all will be able to comply. If they can, you will likely pay more. As for data security, you need to recognize that access to your production data cannot be completely limited to only your employees. By default, at least a limited number of your services provider’s personnel will have access to the database where your production data resides.
A service-delivered application will tend to offer more flexibility in the way you pay for the software, but usually at the cost of making product customizations. You may not have access for your own staff to make direct customizations, and any desired customizations to meet your specific business flow usually need to be a professional service engagement. However, depending on the business models offered by the provider, you may minimize your early operations costs by paying on a per transaction basis with a cloud delivered solution. Paying as you go only for the transactions you process, allowing your costs to ramp up only as your business grows allows your costs to more closely align with your revenue.
What is most important to your business? Are you willing to give up some of the control and adherence to your security policies in order to reap the financial benefits and improved user experience that come with cloud services? Are you willing to give up some level of access in order to have a vendor manage your applications with more skilled expertise? Or will you give up the cost benefits in order to have the most control over your business critical systems?
The choice is yours. What are the other trade-offs you see between Cloud Services, Managed Services and Self-hosted solutions?