With on premise software, from implementation to running of the solution, everything is done internally; whereby maintenance, safety and updates also need to be taken care of in-house. Once the software is purchased, it is then installed on your servers; requiring additional power servers, database software and operating systems to be purchased. With no third-party involvement, you assume complete ownership.
On premise is mostly priced under an upfront perpetual license fee. In addition to that, the company remains responsible and bears the cost for training, support and updates. However, On premise applications are presumed to be more reliable, secure; offering complete ownership and control.
It's worth mentioning that healthcare organizations, as well as banks and insurance companies, occasionally still prefer on-premise DWs because of the control they have over them. This means, of course, keeping (and funding) their own IT staff to maintain their instances of these solutions and develop new capabilities for them. In fact, many of these organizations have IT teams that iteratively implement new features and bug fixes using agile methods, just like a software organization. This approach works quite well (read: the investment makes the most sense) in cases where there are still legacy systems in production, and when mostly low-level customizations (code, connectors, and configuration changes) are necessary for integration.
Features, Functionality, and Use Cases
On-premise solutions might as well also be called "do it yourself" due to the nature of their deployment. To get going with one, you'll install test instances on your own commodity hardware, run benchmarks to try them out, sell the winner(s) to management, buy the appropriate licenses, and eventually deploy them. And you'll need the staff and expertise on hand to do the work.
Your lifecycle for these solutions could be quite long, and that's something you should think about when considering them. The long lifecycle has to do with this: after you've added your own unique features and invested time and money on sharding, replication, scaling, and maintenance, moving to something else, later on, could be a hard sell. Still, you might have a good thing if customizations are important or you're not starting from scratch (e.g. there are legacy systems in your data pipeline that aren't going away any time soon).
On-premise DW solutions typically offer the following features:
- Support (including customizability) for some legacy systems.
- Ease of access to the nuts and bolts of the system (great for low-level troubleshooting and custom feature development).
- Ease of control over physical data centers.
On-premise DW solutions can, and in some cases still do, serve the following use cases:
- Hospitals, which still occasionally build and host their own data centers.
- Banks, where there are often legacy systems with which to integrate.
- Manufacturing and logistics, which often have data systems as old as the companies themselves.
- Applications where data is proprietary and mostly consumed or accessed inside the organization.
- Organizations with major concerns over accessibility (millisecond response times).
Cloud computing is the delivery of on demand computer system resources, requiring no active management and usually includes applications such as storage and processing power. With a Cloud-based subscription model, there is no need to purchase any additional infrastructure or licenses. In exchange for an annual fee, a cloud provider maintains servers, network and software for you. The information hosted by the vendor can be accessed through a web portal. The dedicated private cloud allows customers to use the platform completely, with no shared resources. They can request additional customization, backup controls and upgrades. With a shared cloud, complete privacy of the client’s data is observed, however multiple tenants share the cloud service. It is a more economical option but offers limited customization.
The big advantage to a cloud-based solution is that, as a managed solution, tasks like sharding, replication, and scaling are done for you with many even happening automatically, in the background! You also have fixed costs (although they tend to be different for each solution, so you'll need to do your research). There is no additional outlay for hardware, nor variable costs when something fails or needs to be upgraded. If you're building your data infrastructure from scratch, then cloud-based may well be the way to go, due to the very low barrier to entry.
Features, Functionality, and Use Cases
Similar to on-premise solutions, cloud-based solutions will still, more than likely, require you to implement connectors, database schemas, and streaming or ingestion mechanisms (like lambda functions or Kafka pipelines). However, it's hands off with a lot of the routine maintenance and scaling activities, and this alone can save you significant time and cost.
Cloud-based DW solutions typically offer the following features:
- No upfront requirement for hardware outlay.
- Ability to massively autoscale.
- Connectors for most major ETLs, data stores, and databases.
- Technical support and maintenance, bundled in.
Cloud-based DW solutions generally best serve the following use cases:
- Any product or company building a data infrastructure from scratch, where there are no legacy systems to accommodate.
- Any product or company building a data infrastructure around fairly standard components.
The most significant difference between on-premise infrastructure and a cloud-computing platform is perhaps how the two systems are deployed. On-Premise software is installed locally and is then deployed within the infrastructure. In other words, the software is hosted only on the enterprise’s proprietary computers and servers. This way, the enterprise takes the sole responsibility for maintaining and handling the procedure involved, and they alone have access to it. At the same time, cloud-based computing can either take place in a public or private cloud.
With on premise software, the company remains responsible for maintaining the solution and related processes. The deployment is done in house using the company’s infrastructure. In a hosted cloud, the service provider maintenance the systems on their server, accessible by the enterprise at any given time with related processes taken care of by the host-cloud service provider.
Those who opt for public cloud are choosing to deploy their resources at the hands of third-party service providers. They are also willingly providing access to other public networks. Others who settle for private cloud, are choosing to deploy their resources as per their requirements but with the ability to establish restricted access. In either of the cases, an enterprise requires access to a web browser to ensure functionality.
In an on premises environment, enterprises enjoy complete control over their systems and maintain 100 percent privacy. These are two reasons why most big organisations choose to stay away from the cloud. In a cloud computing environment, even though the data and encryption keys are shared with the third-party provider, there is shared ownership and accessibility remains an issue if there is to be any downtime.
Data warehouses grow quite quickly over time, which means you'll need to expand your available storage regularly. With on-premise data warehouses, you'll need to add storage space to your data warehouse. This means purchasing and configuring additional storage hardware. If you need to scale down for some reason, you may end up with unwanted hard drives.
In cloud data warehouses, you can scale up by changing your subscription tier. Your service provider can allocate as much space as you need. There's generally no need to make any configuration changes, although your annual cost will increase. Cloud providers often allow you to scale down just as easily.
Cloud-based data warehousing eliminates most up-front costs. Also, you only pay for the resources that you use, which improves operational efficiency. It's no wonder that more and more enterprises are moving their DWHs to the Cloud. A survey of 750 IT professionals for the 2020 Cloud Computing Trends Report revealed that 93% of respondents have adopted a multi-cloud strategy, while 87% implement a hybrid cloud approach. However, there is an ongoing annual outlay on DWH costs when using a cloud service. Over time, this may exceed the cost of an in-house solution.
A system from the ground up requires a lot of effort and comes at a hefty cost. Not just the initial investment, along with the purchase of additional infrastructure and processes but also, the maintenance and operating costs that the company will have to incur on an ongoing basis.
Comparatively, a cloud service is a lot more cost-effective, especially those that are small in size. The setting up and run time is cheaper and faster. Companies have to pay a nominal subscription fee, whereby the updates and maintenance by the cloud host.
Is cloud computing cheaper than on premise?
Cloud computing is cheaper when it comes to setting-up, running, maintenance and overall support costs. On premise, even though costs more initially but when the investment is spread across the entire lifecycle of the system, it may just amount to the same as Cloud computing. However, it depends on the services and space required and the plans vendor has to offer. There is cut and dried answer to this as the cost effectiveness ultimately depends on the needs of individual organisations.
On premise, there are regulatory controls that most companies need to abide by. To meet these government and industry regulations, it is imperative that companies remain complaint and have their data in place. This can easily be if all the data is maintained in-house. When opting for a cloud computing model, companies need to ensure that the service provider is meeting the regulatory mandates within their specific industry. It is important that the data of customers, employees and partners is secure, whereby ensuring privacy.
Cloud solutions can add a degree of latency to your transactions. Your DWH is sitting outside your local network, so request happens at the same speed as other internet transactions. If your entire organization is in a single location, then an on-premise DWH is always going to be faster.
However, if you have a multi-site organization, you may find that cloud services improve overall speeds. The Cloud exists on servers in multiple locations across the country and around the world. SMart routing systems optimized your queries, so everything travels via the fastest server in your area.
As we move towards remote working and people need to access data on the go, Cloud services may turn out to be the fastest option. 5G technology will speed things up further, with higher transfer speeds and almost zero latency.
Data warehouses ingest data from other systems. They require frictionless connections to those systems, either directly or via an ETL process.
With a cloud-based DWH, it's easy to connect to other cloud services. Many services make it easier to digest the data, store it in file systems, and access it. For example, cloud ETL tools allow you to integrate a massive variety of data sources based on ready-made "connectors" and transform and manipulate the data easily for analytics.
An on-premise DWH enables the organization to have absolute control over security, how and when applications interact, and other connectivity or access issues. In sectors where these kinds of restrictions are critical, such as banking or government, on-premise DWH is the more common choice.
On premise ERP systems can be accessed remotely but often requires third-party support to access the solution and a mobile device. This increases the risk of security and communication failures. Requiring several security measures need to be in place if employees to access files on personal devices.
With cloud systems, you need to have internet connection to access your data using a mobile device. Mobility and flexibility thereof is one of the strongest features of this solution. This enables your employees to work from anywhere at anytime, resulting in higher rates of engagement.
Reliability and service availability are major concerns in IT infrastructure/ Cloud-based DWHs offer a Service Level Agreement that guarantees a certain amount of availability.
For example, Amazon promises a minimum uptime of 99.99% availability for its EC2 DWH service. Google promises a monthly uptime percentage of 99.9% for Cloud Storage and BigQuery. Google, Amazon, and other cloud DWH providers will replicate your data across multiple clusters to ensure maximum reliability.
For on-prem data warehouses, uptime is your responsibility. You'll need to invest in reliable hardware and a support team that can resolve issues day or night.
In most cases, cloud solutions are more secure than on-premise solutions in most use cases.
This may seem counterintuitive, as cloud solutions send sensitive data to a third party, while on-premise solutions keep everything within the company's network. However, in practice, data rarely stay within the building. You may need to transmit information to partners such as accountants or legal consultants, or you may need to provide a copy of data to auditors.
But the most common data risk is your staff. Employees will often breach data policy by copying sensitive data to their laptop or a USB drive so they can continue to work at home. If they lose one of these devices, you could face a potential data breach.
Cloud solutions take a security-first approach to external data transactions. For example, Google BigQuery and Amazon Redshift both have swaths of security features to guarantee the safety of your data at every point in its journey. Employees can remotely access data via an approved channel. For example, you can configure a web-based BI tool to connect directly to your DWH.
On-premise data warehouses are the most secure option when supported by a rigid data access policy. But cloud storage offers flexible security that keeps your data safe in the majority of real-world situations. Security is an essential requirement of any organisation when it comes to financial account, customer and employee details. Even though traditional on premise seems more secure as it is in-house, there are multiple measures that need to be taken to fully maintain the security of the data.
With Cloud ERP systems there are very less chances of any hardware, software of infrastructure malfunction that can hinder the entire operation and result in hefty losses. The ERP vendor is more likely to have multiple disaster and redundancy protocols for data security. For both platforms, reliable network connectivity plays a very important role when it comes to remote areas.
Cloud Software Advantages
- With cloud software, applications can be accessed from anywhere at anytime via any device or a web browser.
- With cloud hosting, there is no upfront cost, whereby reasonable payments have to be made on a regular basis like any other operating expense. This includes payment for maintenance, support services, daily backup chargers and licensing.
- since it is a hosted software, there is no need to worry or invest time in the maintenance of the software or the hardware it is installed on. Cloud service provider is responsible for compatibility and any upgrades.
- Cloud service provider employs security measures that the company would find extremely high if it were to be done inhouse. Hence the better the measures, the better security it offers.
- Cloud software can be deployed in a matter of hours or days as it is done via the internet, whereby there is no need for a physical server to be in place.
- Cloud technologies offer greater flexibility as these can be scaled up on demand as per the companies requirements.
- Since the need to maintain on premise servers is eliminated, the cost of power and other resources are not present.
Cloud software disadvantages
- In order to remain productive, there is a need to have access to reliable internet at all times.
- The total ownership cost might be higher compared to an upfront cost if spread over the systems entire life cycle.
- Complex development needs may be sometimes not match a cloud solution.
On premise Advantages
- The total cost of ownership is lower as compared to the recurring payments if spread over the systems entire lifecycle.
- Since it is your hardware, data and software platform, you have complete ownership and control;. Any changes, configurations and upgrades are done on your discretion.
- There is no reliance on external factors such as the internet to access your servers
On premise disadvantages
- There is a large upfront capital cost that has to be incurred, along with support and functional costs.
- Any hardware and software, storage, data backups and disaster recovery has to be maintained on premise. With limited technical resources and budget, this can become an issue, especially for smaller firms.
- As the software has to be installed on servers and individual computers, the deployment takes longer.