Cloud Infrastructure
Last modified on Fri 05 Jul 2024

A long time ago, before cloud computing, companies typically relied on on-premise IT infrastructure. Well, maybe not that long ago, but lightyears in terms of technology evolution. On-premise technology meant that a typical company had numerous physical servers typically on location of the business in order to function.

What’s a server?

A server is essentially a beefy computer, engineered to simultaneously handle complex tasks for a large number of users, usually under heavy load. Servers usually have high-performance processors with dozens of cores, an extreme amount of gigabytes of RAM and hard disks, and advanced cooling systems.

Pre-Cloud era

Some 20 years ago, businesses needed to have numerous physical servers in order to work and collaborate in a modern way we often take for granted today. The infrastructure required to support basic business operations was both complex and expensive. Each service usually required its own server(s) and upkeep.

For email communication, businesses needed dedicated mail servers, usually running Microsoft Exchange.

For customer relationship management (CRM) businesses required application and database servers, as well as for web and e-commerce businesses that were required to host their own website and provide the infrastructure, which usually also included a dedicated server for hosting and a dedicated server for the database and backend services.

Sharing data was usually done by having a network drive, which is essentially a hard disk you would access from your computer, and navigate through folders to get to a file you require. VPNs, still used today, were required to gain access to company infrastructure, like aforementioned network drives.

Network security and operations required some additional servers for managing the network traffic and security, which included firewalls, load balancers, DNS servers, to name a few.

Disaster recovery was a big challenge, as to safeguard against data loss large businesses would have redundancy systems in place, usually being an exact copy of all the servers, physically removed from the business, often in another city.

Cloud era

The shift to cloud-based services revolutionized the way businesses manage their IT infrastructure, simplifying and enhancing efficiency. Businesses today utilize various cloud computing infrastructures like Amazon Web Services, Google Cloud, or Microsoft Azure. These services are commonly referred to as IaaS, or Infrastructure as a Service.

Cloud essentially allows businesses to distance themselves from the physical constraints that would usually be involved with setting up an IT infrastructure.

Flexibility

In the cloud era, businesses were no longer tethered to physical and logistical limitations of hardware, instead they are now able to dynamically scale resources up, or even down, on demand. Cloud providers today offer various computing services that can be provisioned within minutes, removing the need to physically turn off a machine, insert RAM, a hard drive, which would often include considerable down time, or even pending periods waiting for a vendor to deliver physical hardware.

Backup

Cloud allows for automated continuous backups with little regard for the physical location of the server the data lives in. It ensures that even most recent data changes are safeguarded without a lot of manual effort. Cost efficiency was significantly reduced as the initial investment in physical backup infrastructure was effectively eliminated, while cloud providers have numerous data centers where data redundancy is built in.

Cost efficiency

Most cloud providers work on the pay-as-you-go model, which is based on the amount of actual computing resources a client has consumed.

Previously, businesses would purchase a machine and have a set amount of computing power, there would be an initial cost plus maintenance. Today, the payment model is based on how much computing power a business consumes, as Cloud providers have implemented various metering tools to track the quantity of resources being consumed during a given period.

For example, if you would spin up a database server which would hold gigabytes of data and consistently use a lot of RAM and CPU cycles, like a big banking production database, the cost is considerable.

On the other hand, if you would have a database server meant for internal usage of an application like a small internal tool, where only select employees would do work, the cost factors are considerably lower, as computing power required is lower. The billing is sent usually monthly where it would act as a type of postpaid subscription very similar to your phone bill.

This also introduced a new way of looking at development as code optimisation suddenly became inversely proportional to the cost of infrastructure, meaning less optimised code cost a lot more. The speed of computation was no longer just a user experience factor, but a cost factor as well.

Security

Cloud providers implement rigorous, and sometimes tedious, security measures that protect stored data. Just think of how many times Google asked you to log in again to confirm it's you, whether that was Gmail, Drive or Calendar.

Aside from that, cloud providers often have robust physical security at their own data centres, which include biometrics, surveillance, and many levels of security clearances, which were all big additional costs and considerations for businesses.

So what is a Cloud anyway?

We often refer to the “cloud” as something that’s not physical, however in truth, it’s just someone else’s server. Just because we don’t see the server, it doesn’t mean it doesn’t exist.

In essence, cloud providers take on a significant portion of delivery and maintenance of server infrastructure, in exchange for significant cost, in many cases comparable to owning physical infrastructure, but with less complexity and worry associated with owning the infrastructure.

It allows the businesses to focus more on their core functions without the added hassle of managing server infrastructure.

Try it out!

Most popular cloud providers like Google Cloud, AWS, and MS Azure have a free tier of their cloud solutions. You can create an account and pretty quickly deploy your own server to see how it looks like for your everyday DevOps engineer.