Hello folks! 👋
In my last blog post, I wrote a bit about on-prem infrastructure and some of its associated 'headaches'. As a follow-up to that post, I tweeted about some of the benefits of on-prem Infrastructure as well because it is essential to understand the options available in the context of IT infrastructure and computing.
The term "on-prem" or "on-premise" describes the traditional way of managing the core components of an infrastructure which are compute, network and storage. Before the rise of cloud computing, organizations would purchase computer hardware and set it up in a data centre located in the company's physical site or a third-party (like a company providing data centre services to other companies) co-location site.
This post is dedicated to glorifying on-prem infrastructure, so I'll be sharing some of its benefits and why some organizations would want to use it instead of using public cloud platforms.
Complete control of data and security 🕹️
This point alone is why some organizations still operate their physical infrastructure, especially those bounded by local or regional data laws. The organization can apply custom security configurations to meet its specific data security and management requirements while also complying with the various security standards.
Security in an on-premises infrastructure offers organizations greater control over server, network, and application security. The organization can decide on the network architecture that suits its purpose and build it from the ground up without relying on the network service provided by a public cloud platform. Furthermore, the traffic generated for and by the organization is typically confined to its network infrastructure, unlike public cloud providers who handle traffic from numerous customers and users simultaneously, increasing the risk of malicious activities due to its public nature and shared model.
With adequate support and dedicated physical infrastructure, on-premise setups assure that their server, network, and application are secure and available, therefore they do not need to entrust data protection to another company.
Maximising performance ⚡
Architecting and tuning your infrastructure (either on-premise or cloud) effectively is the key to meeting the needs of your customers and users especially when your service begins to experience immense growth. On-premise infrastructure gives you the flexibility to position your infrastructure at strategic locations that will reduce latency effectively by removing the need to route your traffic through the cloud ➡️ internet ➡️ user or via a longer path.
Netflix is a good reference for this point as highlighted in this post by Brandon Butler, although they operate on the AWS Cloud, they also manage their own Content Delivery Network which is typically data centres hosted very close to their users. An excerpt from the post by a Netflix spokesperson reads:
“The best way to express it is that everything you see on Netflix up until the play button is on AWS, the actual video is delivered through our CDN"
Full access and management ⚒️
The ability to manage and access your infrastructure in the absence of an internet connection has been under-emphasized since the rise of cloud computing. Regardless of where the data centre or infrastructure is located (on-site or off-site), you can walk into the premises and log into your systems anytime, especially when there's a problem.
Access to public cloud platforms is mainly dependent on the internet, therefore a customer can be shut out of their systems if any disruptions happen to the network connection on the customer or provider side. There are also scenarios where the public cloud providers experience outages to some of their services. This kind of event can be rare but it happens to big cloud platforms like Amazon Web Services (AWS) and Microsoft Azure.
Also, unlike in the public cloud platforms where customer workloads are typically shared across a pool of resources, organizations have full, unfettered access to utilize and manage all the resources in their dedicated on-premise infrastructure.
Savings and cost efficiency 💰
In some cases, it can be expensive to set up the physical infrastructure to meet an organization's computing needs but it can also pay off in the long term if an organization already has the required hardware and network.
I once worked for a company that provided internet services, this meant that they already had some of the primary components required for setting up their private cloud such as power and of course networking. They already had data centres in multiple locations, so from an operating cost perspective they only needed to purchase compute and storage servers to run their cloud. Over time in cases like this, opting for a private cloud can prove to be significantly more cost-efficient than continuously paying monthly fees for utilizing external servers on the public cloud.
When it comes to public cloud costs, if you ask around you will most likely NOT find a customer who hasn't run into an unexpectedly 'high' bill. This is because costs can vary greatly and become unpredictable depending on factors such as usage patterns, storage fees, and charges for data egress. The cost to run an on-prem or private cloud would be the same each month regardless of the number of servers, size of the data egress or ingress traffic, or amount of storage used.
Wrapping up 🥁
Cloud computing continues to rise in popularity and public cloud platforms continue to dominate the IT industry because it has some huge benefits like elasticity and ease of use. A lot of start-ups and SMEs have benefited from the public cloud because it has enabled them to start small and grow their infrastructure with their business with just the click of a button. But in recent years we've seen some companies that moved away from public cloud platforms due to various reasons that are unique to their business.
It is important to understand that some companies' business model aligns well with the concept of purchasing hardware and then depreciating its value over several years. In other words, investing in and owning physical hardware for an extended period fits well with their financial strategy and goals.
37Signals and Dropbox left the cloud because it made sense to them financially. Dropbox was already familiar with managing their data centres and since the company already specialised in storage systems it was essentially straightforward for them to make a reverse and achieve even greater performance by running their storage servers. Ahrefs also recently 'rejected' the cloud and has gone on to experience 'massive' performance and financial benefits. It might not be as straightforward for other companies to leave the cloud especially those whose apps and services rely heavily on cloud native technologies.
To be honest, from my experience as a network and systems engineer, there was a lot of complexity in running a data centre. It would take weeks to purchase new hardware, I'd then spend hours setting it up with power, networking, and storage, before finally configuring it with the required software. Many years back most of the configurations were static and manually/administratively intensive. But in recent years, the software used to run on-prem infrastructure has now evolved and is more dynamic and intuitive enabling organizations to create their own intelligent private cloud infrastructure, especially with the adoption of technologies like software-defined networking (SDN) and the latest Hypervisor software for running clusters of Virtual Machines (VMs).
In summary, a company must assess its computing needs in alignment with its business model to make the best decision on where to host their services. It will be interesting to see what the future holds for cloud computing. In any case, on-prem infrastructure still has its unique offerings and I anticipate a slight resurgence is around the corner.