MYTHBUSTER: Build Enterprise Level Data Center is more expensive than using Cloud?
When we want to build a sophisticated IT System for business with servers for Applications, Databases, Loadbalancers, Reverse Proxies, Firewall, CDN, Middlewares, etc, we will always face 2 options: use Cloud or build it ourselves. Since it is considered as a great project, and involves many Experts and many layer of expertise, there are many Vendors to deal with, installations, provisioning, many long hours to setup and test.
Most people right now would have a common answer: use Cloud service as the easy solution. We don’t need to procure the hardware, or even to install the OS ourselves, we can choose between docker or virtual machine. It is very easy, cuts many of our valuable time and effort, while being very scalable and very low barrier to entry. Sounds like heaven!
Meanwhile, breaking a great project into smaller task forces, spawns into smaller task modules, coordinating every week or couple of days, seems to take a lot of time and effort. That is quite cumbersome for most people. We don’t want such complexity and usually we would choose the cloud service.
What we actually need?
What we need for having a great business is a great computing power with scalable technology, durable and transparent backup, ease of monitoring and lower cost of acquisition. We, as the user not really care about the type of the hardware, whether it is real one or virtual one, what is the type of the OS, Database, as long as they don’t create another problem (technically nor commercially/economically) what we really need is how our business can run well.
Do we really need bare-metal? No. Do we need VM nor Docker? No. Do we need Oracle nor Postgres? No. As a business person, We need a system that can run our business process and solve our problem in managing the transaction and reporting as needed. that’s it.
There are some downside…
Indeed we are very happy to have such automatic, simple and ease system acquisition from cloud services, but there are some issues:
- Cloud Service is mostly designed for SOHO and individuals, not for middle up corporation, they usually don’t have any VIP Services with high SLA.
- TCO would be lower in smaller specifications, such as 64 Cores with 512 GB of memory and 2 TB of Disks, but it grows exponentially when we use, becoming more expensive and uncontrollable. When our business grow, we don’t any other option rather than add more resource in that cloud.
- Our calculator said, 128 vCore/128GB/12TB costs 3x higher in 3 years of TCO calculation.
- While scalability looks easy, it is only for scale out. Cloud service usually difficult to deal for scale-up, since adding more vCore don’t mean that the real core is added (core also can be virtualize as well), Not every issue can be solved using scale-out.
- CPU Clock is not easy to choose as our exclusivity, while sometime our system require high CPU clock.
- We cannot guarantee the usage of the resources exclusively, while we pay them as if it is exclusive.
So, What to do?
If we have a challenge to build such a complete IT System, we can deploy our own cloud system with cluster of servers. With some points to noted:
- Use Container than VM, Container such as: Docker, LXC, etc has a great computing partition and run more efficient than VM since there are no overhead.
- Use physical (Bare-Metal) server for a system which craving more CPU resources such as: Databases. We can use EPYC Processor from AMD with high density core in a single socket (up to 64 cores) and therefore having the best price/performance ratio.
- Use Managed Services Vendor (deliver more services than Cloud provider, not only basic support but also advanced/comprehensive support). There are Managed Service Colocation or Enterprise Cloud Service.
- Use your OPEX to rent all the hardware and facility needed. You don’t need to build your own Physical Data Center at the first time. This feature can be delivered by Managed Service Colo Vendor.
- You may able to build your own Data Center after having Managed Service Colocation, just migrate it from Vendor premise, to your own premise after a couple of years.
- Or, you can have your system at the beginning but leave the design, implementation and operation to the Managed Service (which has expertise and such great capability), and take over later after some years. It sounds like BOT (Build, Operate and Transfer)
Our comparison for acquisition of 128 vCores (64 Cores) with 512GB Memory and 2TB almost one third for your investment (perhaps) in a world recognize Cloud provider.
Some myth about Cloud Service that we should understand well:
- Cloud Service is managed by Big Corporation therefore it would be professional and having 100% uptime.
Cloud Service which started by Amazon aim to take a great advantage of VM (Lead by VMWare) and Intel’s VT-x which able to do very smooth virtualization and therefore efficiently use the hardware resources and having separated (isolated) virtual machines for each clients. Since the most benefit is only for small machines, its intention is for SOHO or Individuals, Startups, and Micro-services Architecture system. Massive subscribers, monthly charges, less support (almost everything is automatic and online), No VIP Support, and there are some great story about sudden downtime. Some news also tell about data lost is happened. Cloud is actually online infrastructure provider, in some service they still had the same risk with on premise.
- Since it called as Cloud, it should be safe since there are none know where it is.
I hope this is only a joke. Really. Actually, the server of the Cloud Server is easy to locate, if that is the case. And Cloud provider is also using the same hardware/software and technology, the online difference is: they are online, ready to use. Server on Cloud is also vulnerable to the bug, exploit, etc. Remember: Meltdown and Spectre, Heartbleed, etc. it is also happened in Cloud service.
- Cloud is a very scalable system.
Cloud is also based on Hardware, which is limited in Up scalability. Number of vCore doesn’t reflect the number of real core. VM/Cloud decrease disk i/o, and therefore is not friendly with Databases.
- Cloud is great and cost effective.
When the number of vCore is less than 64. it is right perhaps, but more than that, it is different.
- Cloud is the great solution for Modern Data Center
Cloud is basically a cluster of VM with great management and provisioning tools. VM has some computing overhead and Container actually the best isolation process compare to VM. But Cloud service usually didn’t use Container, since container cannot gain advantage of virtualization factor. Public Cloud is usually using VM.
While deployment of IT System in Data Center is indeed require a great amount of time, resources and effort, having a great IT System with low investment budget and NOT using Cloud service is possible. We can use Enterprise Managed Service Colo or we can call it as Enterprise Cloud, a cloud service with Corporation as the VIP Clients. This service is not a focus of most cloud services since they aim to have massive clients. That is a very different point of view with Corporate Client which wanted to have cloud service.
Cloud service is not for corporation, while build your own DC is cumbersome, then try to use Managed Service Colo
Have fun everyone!