- Hardware
- A
What is more profitable - your own hardware or the cloud?
Hello, tekkix! Small businesses and large companies have long been asking the question: what is more profitable - cloud resources or your own equipment? The cloud seems like an ideal solution, but upon closer analysis, it is not so straightforward, especially in the long term. At ServerFlow, we compared the most popular configurations in the cloud and on-premise, noting the pros and cons of each option for working with equipment. Details are in the article!
Hello, tekkix! The question from the title has long been of concern to both small businesses and large companies. At first glance, the cloud seems like an ideal solution: you don't need to invest in hardware right away, you can scale quickly, and easily access new technologies. However, if you dig a little deeper, the picture becomes not so straightforward. Especially when it comes to long-term prospects and finances.
Today at ServerFlow we will try to figure out what is really more profitable: renting cloud resources or buying your own equipment. To begin with, let's compare the most popular configurations in the cloud and on-premise (own hardware), as they are the most in demand in the market. And we will talk about things like colocation, private cloud, hybrid, and other options some other time - in a separate article.
Soaring in the Clouds
Everyone knows that any business starts small: today you hire your first employee and issue invoices through online accounting, and tomorrow terms like 1C, CRM, Dev, Test, and Prod are floating around you, and the company's staff needs to be replenished with a whole list of new vacancies.
In an attempt to find answers to all the arising questions through search engines, targeted advertising algorithms timely offer the services of cloud providers. In their offers, the clouds promise to take care of everything: install the OS, set up the network, and install the necessary software. And all this for a "small" monthly fee.
In most cases, the above-mentioned conveniences attract potential clients, and the cloud provider establishes long-term relationships with the client. However, sometimes the laws of economics take their toll, and you decide to calculate how much the cloud costs, and you may come to rather ambiguous conclusions.
Today we will discuss clouds and compare them with our own IT infrastructure. We will question both paths of company development and try to conclude which path to choose.
Nuances of Cloud Services
Overcommit
Many providers use a technology called "overcommit", the essence of which is that more virtual resources are allocated than they physically have. The logic of the mechanism is this: not all clients will use resources to their full capacity simultaneously, which means that part of their resources can be allocated to those who need them more. Either by default, with seemingly identical characteristics, depending on the tariff, overcommit will be configured differently, providing more resources to those who pay more. As a result, you may find that your virtual processors are not running at full capacity, and performance drops at the most inopportune moment.
Virtual Machines with 5GHz Frequency
Sometimes there are more controversial marketing moves. For example, virtual machines with a processor frequency of 5 GHz are advertised. It sounds impressive, but if you understand the server processor market, it becomes obvious that such indicators are practically unattainable within the framework of an economically efficient data center.
Server processors are easily scalable by increasing the number of computing cores, however, increasing the clock frequency remains a challenging task for chipmakers. High frequencies require increasing the operating voltage of the cores, which sharply increases the heat dissipation (TDP) of multi-core chips. It is also necessary to maintain a high level of chip rejection, which in turn significantly increases the cost of the final CPU.
In most cases, the 5 GHz frequency turns out to be the ill-fated Turbo Boost frequency, which is simply unattainable under significant server load.
And what kind of hardware do we have?
In addition, it is often difficult to know exactly what hardware your virtual machines are running on. Providers do not always disclose complete information. You may not know exactly which processors are used, what their real frequency is, what the server architecture is. All this can significantly affect the performance of your applications.
Checking the real frequency of the processor in the cloud is often not easy. The lscpu command may not display accurate information. You may see something like:
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Model name: "QEMU Virtual CPU"
CPU MHz: 3400.000
Hypervisor vendor: KVM
Virtualization type: full
As you can see, there is no 5 GHz here. As a result, you may be paying for resources without getting the performance you expect.
Own equipment: the path of company development
Now let's move from theory to practice, using the example of a business and its IT infrastructure needs. In Russia, the path of many companies begins with the implementation of 1C, and the choice between the cloud and their own server becomes one of the first serious decisions for entrepreneurs. This choice can significantly affect the development of the business, its flexibility, and financial performance. Let's consider how IT infrastructure needs change at different stages of business development and what advantages own equipment provides.
Configuration for a small business or startup:
Imagine a small startup developing mobile applications. A team of five rents a modest office and starts their journey. The founders understand that they need a reliable system for accounting, project management, and code storage, but the budget is limited. Most likely, in this case, the choice will fall on a similar configuration:
Dell PowerEdge T140 server platform
Processor: Intel Xeon E-2286G (6 cores / 12 threads, 4.0–4.9 GHz)
RAM: 64 GB DDR4 ECC UDIMM
M.2 SSD Samsung PM983 PCIe 3.0 at 960 GB (for databases)(50K IOPS)
2× SSD Intel S4510 at 960 GB in RAID 1 for OS and backups(36K IOPS)
DELL iDRAC interface for remote system administration
The cost of such equipment will be: about $1,752.58
This configuration handles 1C tasks perfectly, allows you to store project source code, run a task management system, and a small portfolio website. The processor's performance is sufficient for code compilation and running several virtual machines for testing. SSD drives provide fast work with databases and the file system.
In the cloud, similar resources would cost $515.46 per month. Thus, the own server pays off in 5-6 months. But it's not just about money. Own equipment gives the team full control over the data and the ability to fine-tune it to their needs. For example, developers can experiment with various configurations without fear of overspending on cloud resources.
In addition, having your own server allows the company to ensure a high level of data security. This is especially important when it comes to developing applications for corporate clients who are very sensitive to privacy issues.
Configuration for medium-sized businesses with high loads:
Three years have passed. The startup has turned into a successful company with a staff of 50 people. There are large clients who require high performance and system reliability. The company develops not only mobile applications but also complex web services with high loads.
Supermicro AS-2024US-TRT server platform
Processors: 2× AMD EPYC 7F72 (24 cores / 48 threads, 3.2–3.7 GHz)
RAM: 256 GB DDR4 ECC REG
5× U.3 SSD Intel D5-P5530 1.92 TB (75K IOPS)
6× SAS HDD 1.8 TB 10K RPM (RAID 5 for backups)
RAID controller: LSI 9361-8i 1GB
IPMI 2.0 for server management
Total cost: around $8,041.24
This system is capable of handling large volumes of data, high-load databases, and numerous simultaneous users. It ensures the smooth operation of the company's complex infrastructure: CRM, ERP, analytics systems, and much more.
Two powerful AMD EPYC processors allow for running multiple virtual machines, which is ideal for the microservices architecture the company uses in its projects. The large amount of RAM ensures fast database operations and caching of frequently used data.
SSDs are used for frequently requested data and operating systems, while HDDs are used for storing large volumes of data such as logs and backups.
Renting a similar configuration in the cloud would cost $1,500 - $2,061.86 per month. Owning a server pays off in 4-5 months, giving the company full control over its data and the ability to flexibly configure the system to meet its needs.
It is important to note that such a powerful system allows the company to quickly deploy new projects and experiment with new technologies without having to approve cloud resource expenses each time. This significantly speeds up the development process and the launch of new products to the market.
Configuration for virtualization:
The company continues to grow. Branches are opening in other cities, and there is a need for isolated environments for development, testing, and production. In addition, some employees are starting to work remotely, and they need secure access to corporate resources.
Server platform H3C UniServer R4950 G5
Processors: 2× AMD EPYC 7713 (64 cores / 128 threads, 2.0–3.675 GHz)
RAM: 512 GB DDR4 ECC REG
4× U.3 SSD Intel D5-P5530 1.92 TB (75K IOPS)
4× SAS HDD 1.8 TB 10K RPM (RAID 5 for backups)
RAID controller: Broadcom 9560-16i 8GB
HDM (IPMI 2.0) for server management
Total cost: about $10,206.19
This solution allows you to deploy multiple virtual machines for different tasks: separate environments for development, testing, and production, isolated systems for different departments. Remote employees get access to virtual desktops, which increases the security and convenience of work.
AMD EPYC processors are excellent for virtualization tasks due to the large number of cores and support for modern virtualization technologies. This allows you to effectively isolate the working environments of different projects and departments, while ensuring high performance for each virtual machine.
Operating systems and virtual machine databases are placed on SSDs, which ensures their fast operation, while large amounts of data are stored on HDDs in RAID 5, where storage reliability is more important than access speed.
A high-performance RAID controller with a backup module provides an additional level of data protection, which is critical in situations where multiple virtual machines with different projects are running on a single physical server.
In the cloud, similar resources would cost from $2,989.69 per month. The payback period for own equipment is 4-5 months. But the main advantage here is not in saving money, but in flexibility. The company can quickly create new virtual machines for new projects, allocate additional resources where they are needed, and quickly scale the infrastructure without additional costs.
Configuration for machine learning and neural network tasks:
The company becomes a market leader in its segment. Management understands that to maintain leadership, it is necessary to implement innovative technologies, in particular, artificial intelligence. A decision is made to integrate AI into the company's products and use it to optimize internal processes.
Server platform Supermicro SYS-1028GR-TR
Processors: 2× Intel Xeon E5-2699v4 (22 cores / 44 threads, 2.3–3.6 GHz)
RAM: 512GB DDR4 ECC REG
2× SSD Intel S4510 1.92TB in RAID 1 (36K IOPS)
4× NVIDIA Tesla A100 40GB
IPMI 2.0 for server management
Total cost: about $35,030.93
This powerful system is designed for working with artificial intelligence, big data analysis, and computer vision. It allows the company to develop its own AI models for content personalization, sales automation, customer support improvement, and business process optimization.
Intel Xeon processors provide high performance for data preprocessing and machine learning process management. A large amount of RAM allows working with large datasets without constantly accessing the disk subsystem.
The main feature of this configuration is the presence of four powerful NVIDIA Tesla A100 GPUs. These cards are specifically designed for machine learning tasks and provide phenomenal performance when training neural networks. This allows the company to experiment with the most advanced neural network architectures and process large amounts of data in real-time.
SSDs in RAID 1 provide fast data access and protection against data loss in case one of the disks fails. This is critical considering that the process of training neural networks can take days or even weeks, and losing intermediate results would be catastrophic.
Renting comparable resources in the cloud would cost from 900,000 to $12,371.13 per month. At such prices, own equipment pays off in 3-4 months. But it's not just about saving money. Owning your own machine learning equipment gives the company several key advantages:
Full control over data. In an era when data is becoming a key business asset, the ability to store and process it on your own equipment is becoming critically important.
No time usage restrictions. In the cloud, the cost of renting a GPU can be very high, which limits the possibilities for experiments. With your own equipment, the team can conduct long experiments without looking at the meter.
Ability to fine-tune. By owning the equipment, the company can optimize its operation for its specific tasks, which is often impossible in the cloud.
Cost predictability. Cloud providers can change prices or introduce new tariffs. With your own equipment, the company is protected from such surprises.
Advantages of own equipment
When you have your own equipment, you know exactly what is installed and can customize everything for your tasks. No surprises with "cut-down" processors or limited memory channels. You know all the costs in advance - no hidden fees or unexpected rate increases.
Your resources belong only to you. There is no problem of "noisy neighbors" when other clients can consume most of the server's power. Data is stored on your equipment, you control access to it and are responsible for its safety. You can add resources when needed, upgrade the system, change components. And all this without extra overpayments and dependence on the provider.
Flexibility and scalability: myths and reality
The cloud is often advertised as an infinitely scalable solution. But in reality, the picture may not be so rosy. Additional resources may not be available at the right time, or their cost may be unexpectedly high. With your own equipment, you plan scaling in advance, add components as your business grows, and always know what it will cost.
For example, if you urgently need to increase power during a peak period, a cloud provider may offer to do this, but at a higher rate. With your own equipment, you can plan for capacity in advance, without fear of any restrictions, except for high initial costs.
What is often forgotten
When evaluating the cost of the cloud, additional expenses are often overlooked. And they can be significant. Many providers charge for incoming and outgoing traffic. Under high loads, this can become a significant expense. Data backup services are often paid for separately. Extended support packages and SLAs can also significantly increase the final bill.
For example, if your application processes large amounts of data, the cost of traffic can make up a significant portion of the total expenses. Some providers charge for both incoming and outgoing traffic, which can be an unpleasant surprise at the end of the month.
Disadvantages of on-premise solutions:
Despite all the advantages, on-premise solutions also have their drawbacks, which should not be forgotten.
High initial costs
The first thing a company faces when switching to its own equipment is significant initial investments. If in the cloud you pay gradually, here you need to immediately lay out a large amount. For small companies or startups, this can be a serious obstacle. However, do not forget about such options for financing equipment purchases as leasing, installment plans, and credit, the monthly payment for which can be similar to the tariff of a cloud provider, and at the end of the payments, unlike the cloud, you will not lose access, but will fully own your hardware.
Besides, it is necessary to consider not only the cost of the servers themselves, but also the costs of organizing a server room or colocation in a data center: cooling systems, uninterruptible power supply, fire extinguishing systems, etc. All this requires additional investments.
Personnel issue
For small and medium-sized businesses, personnel costs for maintaining their infrastructure are often limited to a single sysadmin or DevOps engineer. However, even for small and medium-sized businesses, the infrastructure grows and becomes more complex over time. Also, small businesses tend to become medium-sized over time, and medium-sized businesses become large, and here a single DevOps/sysadmin can no longer physically cope.
Larger infrastructure requires more qualified maintenance. You will need additional system administrators, security specialists, and possibly even an entire IT department. This means additional costs for salaries, benefits, and staff training. At the same time, there is a shortage of truly qualified personnel in the IT field in the labor market. Finding a good specialist who can competently set up and maintain your infrastructure can be difficult. And if such a specialist leaves, replacing them can become a serious problem.
On the other hand, in large companies, no one will entrust cloud infrastructure solely to a cloud provider, and you still can't do without your own IT department. Moreover, the number of employees needed to maintain growing capacities does not increase exponentially, but gradually, sometimes even reaching a plateau thanks to automation and process optimization.
Responsibility for Infrastructure
When you use cloud services, the responsibility for the infrastructure's performance lies with the provider. In the case of on-premise solutions, all responsibility falls on you.
You need to independently ensure:
Uninterrupted operation of equipment
Timely software updates
Protection against failures and attacks
Data backup and recovery
Scaling to meet growing business needs
Any failure or downtime can lead to significant financial losses and reputational risks. And the only guarantee of stability in this case is you and your team.
Scaling Challenges
Although we talked about the flexibility of on-premise solutions, in some cases scaling can be a problem. If you suddenly need to significantly increase capacity, it may take time to purchase, install, and configure new equipment or upgrade old ones. In the cloud, this process usually happens much faster. However, if you have pre-organized a cluster with excess capacity, then scaling its resources will not be difficult for you, and the process will be comparable to renting a cloud.
Conclusion
So, what is ultimately cheaper and better - your own hardware or the cloud? There is no definite answer. It all depends on the specific situation, needs, and capabilities of your business.
Own equipment can be more cost-effective in the long run, especially with high and stable loads. It provides full control, predictable performance, increased security, and flexibility in customization. However, it requires significant initial investments and qualified personnel for maintenance.
The cloud, on the other hand, allows you to start with minimal costs, easily scale, and not worry about infrastructure maintenance. But with long-term use and high loads, it can be more expensive. Additionally, you lose some control over your data and depend on the provider.
The optimal solution often lies somewhere in between. Many companies choose a hybrid approach, combining their own infrastructure and cloud services. This allows you to get the benefits of both options and minimize their drawbacks.
Whatever path you choose, the main thing is to carefully analyze all factors and make a decision that best meets the needs of your business.
What choice would you make? Share your thoughts and experiences in the comments. We are interested to know how you address the choice between the cloud and your own infrastructure.
Write comment