Is It Possible to Deploy a Private Cloud in a Public Cloud?
Many people might find this question paradoxical. How can a cloud be both private and public? If you are one of the people asking this, keep the question in mind and read on.
Alibaba Cloud users are accustomed to going directly to ECS instances without a second thought. However, there is a hidden gem among Alibaba Cloud resources, called the Dedicated Host (DDH). As the name implies, a dedicated host is a physical host that belongs to a single tenant, which is different from the conventional concept of multi-tenant public clouds. Some users say that a dedicated host is like a private cloud in the public cloud.
Why they say that DDH is like having a private cloud in the public cloud? Let’s start with on-premise deployment.
The traditional method of IT deployment is to purchase some servers and deploy them to build a fixed-capacity resource pool for IT needs. I think we are all aware of the shortcomings of on-premise deployments.
- This type of deployment offers no elasticity and the scaling cycle is pretty long. IT often has to set aside additional resources for redundancy purposes in case of unexpected demands, which consumes investment that could be better spent elsewhere.
- Operating and maintaining these deployments requires even more investment. You need professional personnel for procuring, deploying and maintaining hardware and software. The facility itself needs a crew to look after it as well. If you host your deployment with a third-party data center, you are not free of management worries either.
So even with these shortcomings, why do many enterprises still stick with private clouds? This is because the advantages of on-premise deployment cannot be completely replaced by multi-tenant public clouds. These advantages all boil down to one thing: control, over everything.
Each enterprise is unique and therefore has different use cases and IT requirements. This is like buying clothes off-the-rack. You might get a wide range of choices and sizes, but the garments are never going to fit you like a bespoke suit. To extend the metaphor, for enterprises, “fitting” means satisfying specific business requirements. A perfect fit requires that the enterprise has almost complete control over every aspect of their IT environment, such as control over budget, control over cost, and control over deployment.
Control Over Budget
In its RightScale 2019 State of the Cloud Report, Flexera pointed out that a large proportion of large enterprises (84%) and small to medium enterprises (69%) consider managing cloud expenditures a big challenge. This does not mean that cloud computing is more expensive than traditional deployment, but rather that with the new deployment form comes new budget management challenges. Resource groups, subscription instances, and reserved instances are all cloud computing concepts that can help enterprises better manage their budgets. However, the challenges are still there. Can we then purchase some servers in a public cloud as if we were doing this for an on-premise deployment, and deliver them to business departments or project teams as a resource pool?
I think we can. The DDH is perfect for this. Enterprises can create clusters of physical hosts and then deliver them to business departments for use. Since the resources of the host are fixed, you only need to allocate fixed resource pools to different business departments, and forbid the creation of resources outside the hosts to restrict IT resource expenditures to within the budget. At the same time, DDH supports resource groups and tags, allowing flexible resource allocation to different departments.
Another financial concern of enterprises is the assessment of resource utilization. DDH allows you to view the available and free resources of hosts, and trace CPU usage. By using these numbers, you can easily determine the resource usage of each host at present and over a specified period of time. This is also good news for the O&M team. They can use this information to monitor resource usage and workload in real-time and allocate resources to the development team more effectively.
But hang on. Does this mean you lose the elasticity of the public cloud? The answer is “No.” Alibaba Cloud ensures the elasticity of the hosts. If you run out of resources, scaling can be achieved in just 20 seconds. Creating ECS instances is just like doing so in a multi-tenant environment. You can choose among a variety of instance types and subscription or pay-as-you-go billing methods (you do not pay extra for instances). What you lose in elasticity is just the granularity of scaling. Switching from ECS instances to dedicated hosts should not have any meaningful impact on a stable service.
Control Over Cost
Just like you need different types of clothing for different weather, Alibaba Cloud provides users with a wide range of instance types for different use cases. For each article of clothing, you need different sizes from XS, S, M, L, up to XXXL to suit different body types. For Alibaba Cloud ECS instances, we have different instance families for different services, and different instance types for different workloads:
For enterprises that need flexibility and elasticity, such as technology companies that are growing rapidly, this is the ideal purchasing experience. Just pick a style and size that fit you, place an order and it’s ready. Then what about enterprises that have mostly stable businesses?
The following figure shows the CPU load of an enterprise over a 24-hour period. The overall average load is only 1% to 2% (see the preceding figure). However, there are still some virtual machines with loads of more than 60%, some even reaching close to 100% (see the following figure).
Above: Average CPU load over 24 hours
Below: Top 20 virtual machines with the most CPU loads over 24 hours
Is there a more cost-effective deployment method for enterprises like this, where CPU loads are low most of the time, accompanied by the occasional heavy load? In this case, you can use CPU overprovisioning to increase the resource utilization rate of low-load applications, and pin CPUs to high-load applications to ensure performance stability. For applications with special loads, you can create ECS instances with a non-standard CPU-to-memory ratio. All of these steps involve customization, which brings us back to where we started: control, over everything.
The key is that CPU overprovisioning is controlled by the enterprise. The goal is to avoid multi-tenant contention caused by CPU overprovisioning and find the balance between cost and performance. The other key to control lies in the ability for enterprises to obtain host loads in real time, so they can migrate ECS instances across different hosts according to the actual situation. All of these are possible using the resource pool created by the dedicated hosts.
With the same resources, you can create N times the nodes, at 1/N the cost.
CPU overprovisioning is great at helping users reduce application deployment costs. You can check the CPU usage of the servers you manage and see what optimizations can be made. This is a convenient and simple way to increase deployment density and does not involve application changes.
Control Over Deployment
Cloud computing uses virtualization technology to present underlying physical hardware as standardized computing resources, thus freeing users from the headache of maintenance of physical hardware. This standardization is now gradually moving toward Serverless. Perhaps one day, we can really stop caring about the server, and simply use interfaces and events to complete the delivery of computing capabilities.
But let’s come back to earth for a minute. Most enterprises are still in the era of physical servers or virtual machines. Industry regulations or security audits may require exclusive physical servers, or the commercial license you bought may be bound to the physical machine, or your core business system may need anti-affinity deployment to reduce the impact of single points of downtime. Whatever the reason, there are cases where we still need that tangible physical deployment, and the concept of the physical machine has not reached the end of its days yet.
However, in the real world there are countless deployment requirements. Especially for enterprises that have on-premise deployments, because such enterprises have always had complete control over physical resources, their deployment requirements are not only the result of the businesses they run, but are also influenced by their O&M culture. When asked about an enterprise’s ideal cloud deployment scenario, different users may have different answers. The simplest and most direct way is to give users full deployment control.
A dedicated host is an exclusive physical server, which can meet strict industry regulatory requirements. It also supports Bring Your Own License (BYOL) which means you can use your commercial licenses in the cloud. You can freely move your ECS instances across hosts and still be able to use them without changing their network configurations. Dedicated hosts reside in an exclusive resource pool, but they are not isolated from the public cloud. You can still use VPC network interconnections to transfer data.
Alibaba Cloud provides an elastic resource pool that requires no maintenance or deployment. DDH builds on top of the advantages of the public cloud by giving enterprises more control over their IT infrastructure. This allows enterprises to host their private clouds in the public cloud, to get the best of both worlds.
Differences between on-premises deployment and dedicated host deployment
To learn more about Alibaba Cloud Dedicated Host and its capabilities, visit the official documentation