17 Nov 2024 - by 'Maurits van der Schee'
Data centers promise better and cheaper physical security, rented hardware, electricity and connectivity than you can have on-premise, because of the scale on which these companies operate. I think that is often true and that that's is why most companies moved their machines to racks in data-centers that are well connected to the Internet.
Most people nowadays agree that even though your servers are not owned by you or on-premise, this does not make it "cloud computing" or even "cloud native". In general people believe that cloud is more than "just someone else's computer" as argued here. Cloud computing has become a term used for good engineering practices in the data-center.
Especially product software companies are embracing "cloud computing" from cloud vendors as it promises:
They mainly promise to reduce the number of IT hours that one needs to operate and set up these things.
Now also consider this: DevOps engineers should know how to achieve tiered HA using HAproxy behind an automated authoritative DNS with health checks. DevOps engineers should know how to automate the install of a Linux server using DHCP, PXE boot, preseed and Ansible and should know why one needs a management network across their machines. Software engineers should know how to automatically provision Docker containers or KVM virtual machines and run Jenkins builds and automated Unit and Playwright E2E tests on them. Both should be versed in Prometheus and Grafana to add important (more is not better) metrics and alarms to their hardware and software. Security engineers should help to test and deploy infrastructure and code scanning tools to identify issues and help to comply with privacy and security regulations. Architects should design systems with a homogeneous set of commodity servers in mind, so that the software scales easily. Engineers with this knowledge know how everything needed to achieve the cloud computing promises.
If "cloud computing" is a term used for good engineering practices in the data-center, then skilled engineers can easily apply these practices effectively. Buying cloud computing from cloud vendors is NOT making any of the good practices cheaper, but is does provide alternative ways to achieve the same goals, causing a strong vendor lock-in. Some of the things that may cause lock-in are:
You can imagine that cloud trainings and cloud certifications for junior IT employees play an important role here, but I leave the motivation and effects of that as an exercise to the reader. I'd advice companies to migrate to a different infrastructure provider twice per year, so that they know that their high availability plan works, that they have proper automation and that they don't fall into the trap of a strong vendor-lock in.
My point is that "cloud computing" is a term used for good engineering practices in the data-center. The "cloud computing" sold by cloud vendors is something different. Their "cloud computing" leads to high bills with a strong vendor lock-in (and intentionally so). Whether or not you call your infrastructure "cloud" is up to you. I wouldn't, as to me it is a silly word that often does not mean what people think it means. I know I'm talking with knowledgeable people when they say: "Cloud? Isn't that just someone else's computer?".
Mary Branscombe (of ZDnet) explains this as:
The 'someone else's computer' crack can mean a few things. It can mean that someone does know very well what cloud means but they're fed up of dealing with people who don't understand that, and want to remind them the cloud is made up of computers, that the laws of physics still apply (maybe you need to care about network latency and whether your storage and your computing is in the same place) and that if you need to care about regulation that you need to pick a cloud service that meets those regulations.
I'll leave you with that.
PS: Liked this article? Please share it on Facebook, Twitter or LinkedIn.