IoT Software Distribution Models: Cloud Based and On Premises
Software distribution models have historically been on premises, however, as industry has become more digital, cloud-based solutions have become increasingly popular, including SaaS and its variants, IaaS and PaaS.
See our previous article covering cloud computing and the IIoT:
Our previous article covered basic concepts about cloud computing and the Internet of Things (IoT). In this article, we will talk about software distribution models, deep diving into how cloud computing is changing control automation and manufacturing industry practices.
The topic of software distribution models has a critical business aspect that cannot be overlooked. Historically, software applications were primarily on premises, meaning they had rigid licensing and cost structures. Then, the practice moved towards a more flexible on-demand cost structure with cloud-based applications.
Figure 1. On premises and cloud hosted are software distribution models used in automation.
Before defining the different distribution models, let's establish why it is important for automation engineers to understand these concepts. Traditionally, words like on premise and cloud hosted had belonged in the IT world. The arrival of things like Industrial IoT devices, Industry 4.0, and cloud applications for control systems, however, meant these software practices had penetrated the automation arena.
An automation engineer working with modern control systems will likely encounter these concepts. For those who have decision-making responsibilities in the design of control systems, it is essential to have deep knowledge of these concepts and the advantages and disadvantages of each one.
In our previous article, we discussed how the hybrid cloud model for manufacturing industries is the preferred model. This means that businesses in the manufacturing industry are very likely to have a combination of on-premises and cloud-hosted applications. This combination also represents the automated systems within these businesses. Therefore, control engineers must know what application follows what model and why a model was chosen in each case.
There are numerous reasons to choose one model over another for a specific software program. The most evident reason is that only one distribution model is available for an application. In control automation, when this happens, it is typically the on-premises option. This is because the industry is still in the early stages of adopting cloud computing, and there is still resistance from some customers to abandon traditional IT practices.
Let's now take a look at each of the software distribution models.
On premises is the first software model created, and it was the only one available for decades before the invention of the cloud. An on-premises software application is installed and maintained by the customer. The customer is also responsible for designing and building the hardware infrastructure to support the application. Also important, data security falls almost entirely into the customer's hands.
Figure 2. On-premises software still has its advantages, including convention and ownership. Image used courtesy of Canva
Running an on-premises software decentralizes the software distribution and licensing costs. However, sometimes these applications get installed in environments that are fully isolated from internet access, which results in losing the ability to get automatic updates and validate the customer's license status remotely.
As cloud-based applications continue to improve upon the underlying technology, on-premises solutions will likely continue shrinking in market share. On-premises applications offer few advantages over cloud hosting, and the main reason they remain predominant in industrial automation and manufacturing is convention.
However, let's not overlook another important advantage of on-premises solutions: ownership. When a business has enough expertise to handle the IT functions required for on-premises software management, it is understandable that it would prefer to own these processes instead of delegating them to the cloud providers. Also, the ability to fully control what to do in terms of data security and any security-related incidents is an important reason why these businesses continue to feel more comfortable using on-premises software.
Software as a Service (SaaS)
Saas is synonymous with cloud-based applications. With SaaS applications, nearly all the hardware and infrastructure are in the cloud and the data centers hosted by the application. SaaS customers typically pay a monthly or annual subscription fee to access the application and continue hosting it in the cloud, hence the name of software as a service.
Figure 3. Cloud-based applications like SaaS are a more affordable and scalable solution over on-premises software. Image used courtesy of Canva
SaaS applications have numerous advantages over on-premises hosting. The cost of SaaS hosting is significantly less because the investment required in hardware infrastructure is minimal compared to on-premises, even when including the subscription fees. Also, SaaS applications are easier to scale because any additional storage or processing power needs are readily available in the data centers. The customer only needs to request making use of the increased resources.
For small and medium-sized businesses that do not have or cannot afford to have expert IT management in house, SaaS is ideal because the critical IT functions required are transferred to the cloud provider. Then, these businesses only need to cover essential IT functions. Also, remote support is handled by the cloud vendor, which means these businesses can count on resources in case of any incidents or problems.
Infrastructure as a Service (IaaS) and Platform as a Service (PaaS)
Let's briefly discuss two more SaaS model variants: IaaS and PaaS.
IaaS is the method for managing computer resources, network infrastructure, and storage capacity in the cloud. It is based on the SaaS model but with a different focus and uses other applications and tools. It offers very similar advantages over performing these functions entirely on-premises.
PaaS is the cloud answer to managing software product development. PaaS focuses on providing development and testing environments in the cloud. In addition, PaaS enhances collaboration among multiple parties by providing virtual development environments that can be accessed from anywhere in the world.
Flexible and Scalable IoT Data Security
While on-premises software installations are the traditional preference of many end users, the recent benefits of cloud-based solutions can influence a buying decision. Concerns over data security cause many people to be cautious about using software that is not located on the physical premises, but the relief that comes with a large company managing security can be a huge benefit.
The models that employ software being provided to a company as a service can provide more flexibility and scalability as business grows. This flexibility, along with the support of a development team to craft individual solutions for each customer, can be a convincing reason to investigate software, infrastructure, and platforms as a service to allow your own company to grow and evolve to meet modern customer demands.