Evaluating On-premises vs. Cloud Solutions

May 02, 2022

In this video, we'll examine the fundamental differences between on-premises IT solutions and cloud-based solutions.

In this presentation, we'll begin to examine the fundamental differences between on-premises IT solutions and cloud-based solutions. So beginning with on-premises solutions, the primary characteristic is in the term on-premises, simply meaning that all IT infrastructure and software applications are hosted on-site or within the premises of the organization itself.

Now this approach can largely be thought of as the traditional or the legacy method, but it is still very commonly used by many, perhaps even most data centers to this day. In fact, the only reason you might hear the terms traditional or legacy is because of the advent of cloud services. Back when I started in IT cloud services, at least as we know them today, didn't really exist. So this in fact was the only way to implement an IT solution.

Now on-premises solutions still offer many benefits, including complete control over your hardware and software configurations the implementation and application of system upgrades, and any and all changes to any of your systems. In short, everything is up to you. You decide when anything happens, you control how it happens and you control when it happens.

You also have complete control over your own security, because of course many organizations store data and information that is considered to be sensitive, so organizations need to ensure that they have implemented the necessary measures to protect that information. And in many cases that data may be regulated by laws or perhaps just internal policies that dictate exactly how it should be protected to remain in compliance with those laws or policies up to and including the fact that in some cases the data must not leave the on-premises location but for any and all data that belongs solely to the organization with an on-premises solution, it still remains that control over that information and how it's protected is up to you.

So while on-premises solutions certainly offer a very high degree of control, of course there are drawbacks, including the length of time it can take for new implementations of hardware, software applications or development of new services. As a fairly simple example, consider the installation of a new software application, particularly in a very large environment.

Now, there are many ways to make this process as efficient as possible, but with traditional methods the new application must ultimately be installed onto the device of every user who needs it, which in some cases could represent thousands of installations, such a process could take weeks or even months to complete, and that only addresses the installation itself, not the inevitable issues that will arise during that process.

On-premises solutions of course also require significant capital expenditures which we'll examine more closely in just a moment and of course all upkeep and maintenance of both hardware and software must be performed regularly. So taking a closer look at the costs, of course, most notably all hardware and software must be fully purchased by the organization.

Now there may be options to lease equipment or a set up some kind of a payment term with the vendor, but one way or another the infrastructure becomes your responsibility to acquire, implement and maintain, and all of it resides within your own physical premises so that also introduces additional costs, including power and other utilities such as air conditioning and ventilation particularly if your infrastructure is very large.

And of course you need somewhere to put everything so the space itself is another consideration. Now this of course is going to be dependent on the size of your organization and what you already have in terms of space, but again, for larger organizations the space requirements alone or a fully self-contained IT infrastructure can be considerable. So these and other factors are most certainly going to add to the costs of an on-premises solution.

So then to compare that to cloud computing, let's begin with what is perhaps the most notable consideration, which is that as much of the physical infrastructure that you want or need is entirely hosted and maintained by a third-party provider. If desired, an organization can offload every bit of their infrastructure, with the exception of user devices to the cloud provider, and services are provided back to you as a customer or what's more commonly referred to as a tenant on a pay-as-you-go basis literally meaning that you only pay for what you use.

This allows an organization to scale either up or down as circumstances demand without ever having to purchase anything locally. For example, if you need an additional database server, or more user mailboxes, you simply allocate them within the cloud whenever needed. Should you discover that existing resources are no longer required, they can be decommissioned at any time, and your bill reflects only the services and resources that you actually used each month.

So in terms of cost, this can dramatically decrease the capital expenditures of an organization, because nothing needs to be purchased upfront; again, other than user devices. But in some cases organizations may choose to allow their employees to use their own personal devices, which can even further reduce costs.

And due to the pay-as-you-go nature of cloud services, once you have determined exactly which resources you'll need, you'll ultimately settle in, so to speak in terms of usage, which can translate into much more predictable costs, which in turn can further help the organization with respect to budgeting and allocation of funds. Now I do want to clarify that simply because there are no upfront costs and little to no physical infrastructure required with cloud services this does not guarantee that the costs will ultimately be lower.

It will depend on which services you need, the resources necessary to support those services, and of course the volume of activity overall. So for an organization that has already made a significant investment into implementing an on-premises solution migrating that same solution to the cloud may offer some benefits, but it might not actually be any cheaper in the longer term.

So it's important to evaluate all factors when considering the costs. Another significant consideration is the ease of administration. Now, to be clear, someone still needs to manage your IT environment, but with cloud services, much of the maintenance required is reduced because so much of that maintenance in an on-premises solution is centered around the physical hardware and software

For example, if an administrator logs into the cloud services portal and configures a new virtual machine to act as a database server, the management, maintenance and security of that virtual machine does still fall on that administrator and or their team, but the physical server hosting the virtual machine, all associated networking equipment, and any other related physical resources are the responsibility of the provider. So if a hard drive were to fail in the physical server, it's up to the provider to ensure that such a failure disrupts customer services as little as possible, and it's up to them to replace it.

Or to put that another way, as the administrator of the virtual database server, none of that is your concern. Compatibility is also much less of a concern because cloud providers really have no idea which tenants will want which types of services, so they have to ensure that they can provide a very wide array of services to attract more customers. On-premises solutions are often quite proprietary and may require contracts or commitments from the customer, whereas none of that is required in a cloud environment.

You can experiment with as many options as you like, choose any service you like on any platform, and still only pay for what you actually use. Upgrades are also far less of a concern because again, the physical infrastructure is not your responsibility. So while you may still have to implement virtual servers with newer operating systems or software applications from time to time, upkeep of the underlying infrastructure is the responsibility of the provider.

Security also becomes a divided responsibility coming back to the example of the virtual database server, it would still be the responsibility of database administration to ensure that only the appropriate users have access to the appropriate records, but securing the actual data that resides on the hard drives of the physical server is the responsibility of the provider.

They have to ensure that no unauthorized access to those drives is permitted and that any and all measures to ensure compliance with respect to data privacy are being taken. Other distinguishing factors include the speed with which new services and solutions can be deployed and how rapidly and easily they can be scaled either up or down.

Again, let's quickly go back to the example of the database server, but let's scale it up a little bit to include multiple servers hosting redundant copies of a database and a public website that allows customers to place orders.

At a high level to implement this type of solution in an on-premises environment, all physical servers themselves would have to be obtained and set up with an operating system the appropriate software has to be obtained, installed, and configured the network has to be implemented appropriately with all security considerations taken into account, including firewall configurations and anti-malware applications, and many other tasks will be required.

So depending on the available resources and the scale of the solution itself, it could take days, weeks, even months in some cases to complete. In a cloud environment however, the entire solution could be up and running within a matter of hours, because all of the necessary physical infrastructure is already in place, any given virtual server running any given operating system with either the database management software or the web server component already installed could be created, configured, and running within minutes.

Virtual networks with either private or public access, or both, can likewise be configured in minutes, as can virtual firewalls and anti-malware applications. Even the development of the database and the website could be significantly expedited in some cases, because many on-premises environments might not have the means to implement the development lab. Hence internal developers may have to wait until the actual servers have been implemented before they can even begin.

In a cloud environment the entire development lab itself can also be created in a matter of minutes. So in short, the time to market for almost any type of solution can be dramatically reduced by using cloud technologies. Coming back to scalability, post-implementation you may discover that your database servers are running low on storage or don't have enough memory, or perhaps you need a load balancer to better manage the traffic.

All of those can be added at any time with no more effort than to change the configuration or create a new virtual resource, and if it is just a matter of more storage or memory, the solution can be configured to automatically allocate more or less based entirely on the current workload so that no manual intervention is required.

Again, that type of flexibility and the ability to automatically adapt to changes in demand just isn't available with an on-premises solution. Now, while many of those aspects can be very beneficial in most situations, there are still drawbacks to the cloud, including possible downtime, which of course can happen in any environment but events such as planned maintenance are no longer under your control, and since all cloud services are inherently reliant on having Internet access, a disruption of service at either your location or the providers can result in a loss of service entirely.'

Vendor lock-in can also still be an issue, typically not with respect to committing to any kind of contract but with respect to how difficult it might be to move services from one provider to another. For instance, you might choose provider A, then develop and implement your solutions accordingly but perhaps a year or so down the road, you just aren't happy with their level of service.

So you'd like to move everything to provider B. Well, provider B simply might not support the services that you've already implemented, so you would have to start from scratch, in which case remaining with provider A might just be a better option.

There can still be cost concerns with cloud solutions as well, even though there are no costs in terms of having to purchase physical infrastructure. The services you need can still be quite expensive even on a pay-as-you-go basis. So do what you can to estimate your monthly costs if possible, and I should mention that most cloud providers offer calculators to assist with pricing estimates.

An inherent lack of control will always be present with cloud solutions as well, because of course the infrastructure belongs to the provider, hence all decisions on how that infrastructure can be used, managed, and maintained are up to them. So you might find that certain services simply aren't available to you because end-user license agreements might prevent you from implementing your desired solution on their equipment.

And of course there will always be privacy concerns with respect to data because any data that is stored within the physical infrastructure of the provider is clearly no longer under your control. This in fact still represents a complete barrier to some organizations with respect to using cloud services, because they simply aren't willing or able to hand control over sensitive data to someone else.

Now this is not to suggest that you can't or shouldn't trust cloud providers. In fact, most providers have resources far beyond what any given organization might have and can often implement security measures that are notably stronger than what an on-premises solution might offer. But ultimately you still have to place data on drives that are outside of your physical control, so in some cases that just isn't an option for some organizations.

Now to finish up, it should be mentioned that in differentiating between on-premises and cloud-based solutions there does not have to be only one choice. Any organization that might already have on-premises solutions in place can choose to simply augment or enhance that solution with cloud-based services at any time in what's known as a hybrid solution. For example, an organization might decide to offer a new service, but the local infrastructure currently in place simply does not have the means to support any new services.

It works fine for what it does, but there's just no room for expansion, so the new service can be implemented entirely within the cloud if desired or existing services could be migrated to the cloud, freeing up local resources for the new service. In either case, both local and cloud-based resources are now being used, so depending on your current situation and any anticipated growth or new service offerings being considered, hybrid solutions can be a very viable option.

In fact, many organizations might choose this approach to test the waters, so to speak when considering cloud services, to begin with. New services may be slowly introduced in the cloud, followed by the migration of existing services if the initial projects proved to be beneficial. In any case, there is no one-size-fits-all answer when it comes to comparing on-premises and cloud-based solutions, so be sure to weigh all available options and consider as many factors as possible to determine which type of solution will best suit the needs of your organization.