Is the cloud really better than on-premises deployment?
Blog posts comparing on-premise vs cloud deployment are quick to throw stats about cloud adoption at you. But the reality is, this choice isn’t as clear-cut as a simple “cloud is better than on-prem infrastructure, for everyone, all the time.”
Unfortunately, the real answer is, “it depends.” On what, you may wonder?
Our DevOps engineers and software architects rely on three primary and seven secondary criteria when advising our clients. These criteria are the framework our SaaS development company developed over the past decade and applied to our 200+ delivered projects.
We sat down with Clockwise’s engineers to prepare this checklist for choosing the proper infrastructure for your needs.
On-premises software is the software deployed in your data center. You are responsible for setting up and managing the physical infrastructure. Cloud deployment, in turn, means the software is stored on third-party infrastructure. The vendor takes care of data center management and maintenance.
When comparing your on-premise vs cloud options, first focus on three main criteria: costs, security, and management. Most decisions are based on these three.
These factors represent a trilemma, i.e., a three-way tradeoff. For example, opting for lower costs correlates with less hands-on control but lower security.
On-premises | Cloud | |
Costs | Upfront costs: Facility, hardware, installation
Running costs: Hardware operation, software licensing, hardware upkeep and replacement, labor costs Best for: Large enterprises that can absorb the costs and already have on-prem infrastructure |
Upfront costs: Data transfer fees (if applicable)
Running costs: Cloud service fees (including data storage, computing, retrieval, and tool fees) Best for: SMBs and startups that need scalable infrastructure without high upfront costs |
Security | Complete control over security, including physical access and network security
Best for: Organizations that operate in a heavily regulated industry |
The vendor handles physical security and develops security tools. You’re responsible for setting up and configuring identity and access management tools, encryption, etc.
Best for: Organizations that don’t have strict regulatory requirements for physical security |
Management | You’ll need a team to run the on-premises data center
Best for: Organizations with enough resources and unusual requirements for data center management |
A cloud service vendor takes on data center management from A to Z
Best for: Businesses without enough resources for data center management and with run-of-the-mill requirements for physical infrastructure |
Let’s break down what each of these three decision-making criteria entails.
The cost structure is the main difference between on-premise and cloud computing environments:
Let’s compare upfront and ongoing cloud vs on-premise costs for:
If choosing to deploy your solution to an on-premises environment, you’ll need to invest in several things at the start:
For example, 37signal spent around $600,000 on 12 servers and their setup in colocation centers. Servers combined provide 4,000 vCPUs with 7,680 GB of RAM and 384TB of NVMe storage.
Now, how much will all these cost to run the small SaaS app?
If you run a small app with no more than a few thousand monthly users and no more intensive data processing, the upfront cost will be around $6,000-8,500. Here is a breakdown:
Component | Description | Cost |
Space | Renting space for your server in a colocation center | $80-150/month |
Server hardware | A modest physical server with 2-4 cores and 16GB of RAM | $1,500-2,500 |
Storage system | 1TB SDD for the app storage and RAID-enabled 5TB HDD for the backup | $1000-1,500 |
Networking equipment | Routers, switches, firewalls, etc., for handling traffic and secure connectivity | $1,500 |
Labor costs | Hiring specialists to set up the infrastructure | $2000-3000 |
But let’s be frank here:
It’s irrational to spend that much on hosting a small app. The CapEx and OpEx will be higher than the revenue a small app can generate. If you want to go on-premises, you can try a trade-off — a virtual private server (VPS). VPS hosting simulates having a dedicated server, but you access it over the cloud and pay way less than for personal physical servers (and no upfront costs).
When it comes to deploying your solution to the cloud environment, there are almost no upfront expenses. It may only entail small costs, such as data transfer fees. For example, Google Cloud charges $0.0125 per GB for agent-based transfers to or from file systems.
A small SaaS product is typically between 1GB and 10GB in size. So, an agent-based transfer to Google Cloud will entail negligible costs ($0.0125 to $0.125).
Bottom line: Upfront cloud computing costs, if present, are negligible compared to those of on-premises deployment.
On-premises infrastructure isn’t without its operating costs:
Hardware operation costs: generated when your hardware is in use (power and cooling costs, data center space rent, spare parts in case some hardware needs replacement, etc.).
The server and networking equipment for the small SaaS app will create $70-125 monthly expenses or $800-$1500 a year. Plus, a monthly fee of $80-150 for a colocation center we mentioned earlier, or $950-1,800 a year.
Maintenance labor costs: employing one technician full-time would cost you between $80,000 and $90,000 a year (more on that below). But if you colocate your server, a colocation center usually has an on-site technician who will handle issues with your server, so you can avoid hiring full-time specialists.
Software licensing fees (e.g., Windows Server 2025 costs $1,176 for Standard Edition and $6,771 for Datacenter Edition)
So, total ongoing costs to run a small app will probably amount to around $87,500-$98,000 a year — around 90% of this sum will be hiring a technician to manage on-prem infrastructure. If you rent space in a colocation center, the cost will be more modest: $3,000 to $10,000 a year.
And if you go with the VPS option for a small app, your expenses will be $15-50/month.
To find out expenses for the large app, let’s stick to the 37signals example. They claim to spend around $60,000/month or $720,000 a year for power, bandwidth, and renting space in the colocation center.
Cloud and SaaS services come under the pay-as-you-go or one- or two-year commitment pricing. It’ll be a sum of data storage and cloud computing fees, plus:
The fees for cloud storage and computing resources depend heavily on the location of the servers. For example, Google Cloud’s Standard Storage costs $0.020/GB in South Carolina (US) but $0.030/GB in Santiago (Chile).
Here is a basic breakdown of storage and computing fees for three major cloud service providers:
AWS | Google Cloud | Azure | |
Cloud storage | For US West (N. California), S3 Standard:
First 50 TB/month: $0.026 per GB Next 450 TB/month: $0.025 per GB Over 500 TB/month: $0.024 per GB |
For Los Angeles (us-west2):
Standard storage: $0.023 per GB/month Nearline storage: $0.016 per GB/month Coldline storage: $0.007 per GB/month Archive storage: $0.025 per GB/month |
For West US, Hot plan:
First 50 TB/month: $0.021 per GB Next 450 TB/month: $0.02 per GB Over 500 TB/month: $0.0191 per GB |
Cloud computing | Amazon EC2 On-Demand:
From $0.005 to $122.90 per hour |
Compute Engine, on-demand, South Carolina (us-east1):
$0.03465 / vCPU per hour $0.003938 / GB per hour |
General purpose Cloud Services, pay-as-you-go, West US:
From $0.02/hour to $0.64/hour |
Running a small SaaS application with low to moderate use in the cloud will cost around $50-150 per month. That translates into $600-$1,800 in annual costs.
Here’s a breakdown of those costs based on the vendor:
AWS | Azure | Google Cloud | |
Cloud computing | Amazon EC2:
$8-12/month (t3.micro) |
Azure Virtual Machines:
$10-15/month (B1s with 1 vCPU, 1 GB RAM) |
Google Compute Engine:
$7-10/month (e2-micro with 1 vCPU, 1 GB RAM) |
Managed database | Amazon RDS: $15-25/month
(db.t3.micro with 1 vCPU, 1 GB RAM) |
Azure SQL Database:
$5-10/month (basic, up to 2 GB) |
Cloud SQL:
$10-15/month (db-f1-micro with 1 vCPU, 0.6 GB RAM) |
Storage | Amazon S3:
$2.50-3/month for 100 GB |
Azure Blob Storage:
$2-3/month for up to 100 GB |
Google Cloud Storage:
$2-3/month for up to 100 GB |
Content Delivery Network | Amazon CloudFront: $85-100/month for 1 TB of data transfer per month | Azure CDN:
$90-100/month for 1 TB of data transfer per month |
Cloud CDN: $85-100/month for 1 TB of data transfer per month |
DNS service | Amazon Route 53:
$1/month for basic DNS hosting |
Azure DNS:
$1/month |
Cloud DNS:
$1/month |
Load balancer | Elastic Load Balancer: $18–25/month (basic) | Azure Load Balancer:
$20-30/month (basic) |
Global Load Balancing:
$18-25/month |
Monitoring and logging | Amazon CloudWatch: $5-10/month (basic) | Azure Monitor:
$5-10/month (basic) |
Google Stackdriver:
$5-10/month |
Want to learn more about the differences in pricing and offers between these three vendors? Check out our blog post comparing AWS with Azure and Google Cloud
When it comes to big-scale platforms, the cloud may also be a cost-effective option, but only to a certain extent.
For example, 37signals spent $3.2 million per year on running their apps in the cloud. Around $2.3 million was spent on cloud-based app servers, cache servers, database servers, search servers, and the work. If comparing with their expenses when they moved to on-prem infrastructure ($720,000/year), the savings from leaving the cloud are huge. They claim this decision will save them $7 million in 5 years.
Bottom line: Cloud running costs tend to be lower than those of on-premises software because vendors can leverage economies of scale that are inaccessible to most smaller companies. But, while it’s the case for small and mid-size applications, on-premises infrastructure can be cost-effective for big-scale platforms.
Whenever you need to add computing capacity on-premises, you’ll have to order the extra servers and racks, wait for them to arrive, and install them. All of that takes time. You’ll also have to pay for the said equipment and its installation.
If you rent a data center, however, ramping up computing and storage resources can be a bit faster. Its owner may have servers already installed and available for an extra fee.
Still, adding them isn’t instant. In the meantime, you risk downtime or performance dips. Those can cause indirect losses as users turn away from your product or forego making purchases.
If you opt for cloud computing, the cloud service provider can give you access to more computing resources almost instantaneously.
Bottom line: Right-sizing resource consumption is faster and cheaper with the cloud.
With an on-prem data center, you’re on the hook for all the maintenance and support. So, you’ll need to retain a team for ongoing support, which includes:
According to PayScale, hiring one data center technician in the U.S. will cost you $64,685 per year in salary alone, on average.
N.B. True employment costs are usually 1.25x to 1.4x higher than the salary because of payroll taxes, insurance, and other additional expenses.
But, the expenses are lower if your server is set up in the colocation center. You can hire on-site technicians only when needed, paying around $250/hour.
Cloud infrastructure, on the other hand, is maintained by the vendor. So, you don’t need to hire a team to handle any of the tasks listed above.
Bottom line: Cloud computing relieves you of direct data center maintenance costs.
Overall, on-premises is more expensive in terms of both upfront and ongoing costs. It only makes sense when the other two criteria – security and management – outweigh the costs.
Cloud services require virtually no upfront investment and come with more affordable ongoing costs, complete with the flexibility of pay-as-you-go pricing.
For example, our client, Attention Experts, needed to balance high scalability with a tight budget. After discussing budget constraints, we settled on AWS so the platform could scale as needed without upfront investments into physical hardware and premises.
On-premises software gives you the ultimate control over the security system. You control all of the on-premises security, including:
This is a crucial advantage for organizations in highly regulated industries like finance and healthcare. After all, they deal with highly sensitive data and massive security risks. Having the ultimate control over security reduces the risk of data breaches and attacks.
However, ensuring the security of on-premises solutions requires time and money. You’ll need security specialists to monitor systems, update them, and respond to incidents.
Cloud solutions, on the other hand, can’t enable a hands-on approach to maintaining security. At the end of the day, the cloud service provider handles the physical access to the hardware. The vendor is also responsible for:
One key vulnerability of cloud systems is that they can always be accessed remotely. Although providers like AWS offer specialized solutions for high-compliance sectors, the cloud often comes with inevitable trade-offs to consider. So, if you operate in the healthcare or government sector, the cloud may not be a good solution.
That’s not to say that you can’t make your solution highly secure if you choose cloud technologies, of course. Our experience with BackupLABS and Attention Experts are just two good examples here.
One of our projects was creating BackupLABS, a tool for backing up data from platforms like Github, Gitlab, and Trello. As you can imagine, our client must ensure that all user backups remain fully secure.
While offering ultimate security, on-premises deployment would require 24/7 connection with third-party services. It would also make serving end users around the world challenging.
The cloud computing environment was the obvious solution for connectivity and global service challenges. However, security was a critical requirement for our client.
Even though our AWS solution came with the vendor lock-in as a trade-off for robust security and scalability, the client was satisfied with our security implementation. It included:
As a result, all encrypted data is stored safely on AWS servers. Even the development team can’t access the encrypted data.
We also had to consider security for another client, the SMM platform for **Attention Experts. **The platform would handle sensitive data (e.g., login credentials), so our client was concerned about the proper security measures and infrastructure decisions.
On-premises infrastructure, although it offers great security, wasn’t a good option:
So, cloud infrastructure was our choice, and we worked hard to make it secure. To protect data, we implemented AWS’s Identity and Access Management to provide granular control over who can access and modify sensitive data. We also added two-factor authentication and security tokens to prevent unauthorized access to the platform.
If you opt for cloud computing, you won’t need a team to manage the data center yourself. The cloud provider takes on the data center management from A to Z.
Setting up an on-prem data center, however, means you’ll also need to hire at least one specialist to manage it. This person will:
As described above, a data center technician receives a median annual salary of $64,685 in the U.S.
Around 95% of cloud computing vs on-premises decisions are based on costs, security, and management capabilities. However, some businesses have to consider the downsides and benefits of cloud vs on-premises in several secondary aspects.
Does your business fall into those 5%? Find out below.
Cloud solutions have almost unlimited, near-instant scalability. You don’t have to buy and install extra servers to increase your capacity. Similarly, you don’t have to maintain servers that remain unused due to a dip in the load.
That’s why cloud computing is ideal for fast-growing SaaS startups and products with constantly changing resource requirements.
RemoteWorx was one such product. Early on, we realized that our client would see a rapid increase in requests. So, this platform for remote teams had to be highly scalable. Otherwise, it’d just stop working during sharp increases in requests. That’s why we opted for AWS cloud-based services instead of on-premises deployment.
Does your application require lightning-fast calculations? Or processing large data volumes? If so, on-premises infrastructure may be more suitable for minimizing latency.
That said, cloud computing solutions can also rise to the challenge. For that, they have to follow the best practices of cloud design and SaaS architecture. Common performance-optimizing techniques include throttling, queue-based load leveling, gateway routing, and asynchronous request-reply.
For instance, our client BackupLABS was aiming to expand into other markets. So, our client asked us to ensure optimal performance to sustain the future growth of the user base. We chose the AWS S3 storage and the microservices architecture to ensure performance stability under high loads.
There are two types of compliance requirements you should consider when comparing on-premise vs cloud infrastructure:
You can maintain compliance with both types of regulations within the cloud computing model. Major cloud vendors tailor their services and offer compliance with various data security standards (e.g., FedRAMP, SOC Type I/II/III). If you have strict requirements for data residency, cloud vendors can also ensure the data doesn’t leave a specific jurisdiction.
For example, AWS offers GovCloud for government organizations. Azure has a dedicated offering for healthcare organizations.
On-premises infrastructure, on the other hand, gives you full control over where and how the data is stored and processed. The same goes for physical and network security. This can be a considerable advantage for complex regulatory compliance cases.
Think of the cloud as a network of servers spread across data centers – because that’s what it is. So, cloud service vendors can easily provide clients with built-in backup and disaster recovery tools to minimize downtime. For example, you’ll be automatically redirected to backup servers in case of an incident.
However, if you opt for on-premises deployment, you’ll have to create and implement the business continuity strategy yourself. That means setting up and maintaining backup servers, which translates into additional complexity and costs.
The cloud is the way to go if your solution requires integrations with modern software-as-a-service systems. That’s because it supports a variety of APIs, connectors, and messaging protocols. For example, a cloud-based ERP system can be easily integrated with a SaaS solution that collects data from IoT devices on the factory floor using APIs.
Integrating an on-premises solution with other modern systems, in turn, is not always as straightforward. It may require customization and, therefore, extra resources.
The cloud software approach made integrations with social media platforms much easier during our work with Attention Experts. Social network APIs are already complex as-is: each of them has specific implementation rules. We ensured that API integrations imposed no limitations on the platform’s functionality. Cloud also allowed us to implement cross-channel analytics.
What if two years after the SaaS product launch you realize the vendor doesn’t meet your needs anymore? Well, cloud migration to a different provider can be taxing.
Cloud providers usually offer unique services and APIs. So, if someday you want to move from, let’s say, AWS to Google Cloud, this SaaS migration will require:
This can take months – and it won’t be cheap, either.
On-premises solutions, in turn, minimize the risk of vendor lock-in. You can also enjoy more freedom when selecting software vendors and technologies.
In data centers, energy efficiency directly impacts electricity bills. The more energy goes to waste, the higher the bill.
That’s why cloud providers invest millions in maximizing energy efficiency. Achieving the same efficiency level in an on-premises data center on your own may cost a small fortune.
On top of that, cloud providers like AWS, Google Cloud, and Microsoft Azure take steps to reduce their carbon emissions. For example, Google Cloud matches 100% of its electricity consumption with renewable energy purchases. So, choosing cloud computing can help you achieve your sustainability goals.
Considering the cloud vs on-premise pros and cons, on-premises infrastructure remains a realistic solution only for:
In a nutshell, cloud software is a better way to go if your case doesn’t fall into the ones listed for on-prem infrastructure.
That said, cloud computing isn’t a single, monolithic service offering. Private, public, and hybrid clouds have their pros, cons, and use cases.
Let’s break them down.
Under the public cloud model, you share the cloud vendor’s infrastructure with other customers (i.e., tenants). This makes public cloud services typically the cheapest option on the table. Microsoft Azure, AWS, and Google Cloud account for over half of the market.
Learn more about different types of public cloud computing services from our guide on PaaS vs IaaS vs SaaS.
Pros:
Cons:
Suitable for:
A private cloud is a cloud environment that is accessible only to your organization – and no one else. It can be hosted in a third-party data center (for example, AWS offers Amazon Virtual Private Cloud) or on-premises.
Pros:
Cons:
Suitable for:
Under the hybrid cloud solution, specific workloads that require strict security measures reside in a private cloud or on-premises. Other workloads not bound by such requirements are deployed in the public cloud.
Think of this approach as a way to get the best of both worlds. You enjoy the scalability and cost-efficiency of the public cloud – and the security and granular controls of the private cloud or on-premises deployment.
Pros:
Cons:
Suitable for:
Today, the cloud beats on-premises in scalability, cost-efficiency, and simplicity. It also doesn’t require high upfront costs or hands-on data center management.
On-premises deployment, on the other hand, remains a viable option only for organizations in highly regulated industries.
Our experience confirms this trend: 99% of our 200+ projects over the past 10 years were deployed to the cloud.