Cost Optimizer Architecture
Cost optimizer is a module of CloudCenter Suite, that installs on a Kubernetes cluster through a Suite Chart. A suite chart is a common framework that allows the creating of tenants and users. %co is deployed using the CloudCenter Shared and Cost Optimizer helm charts. The following diagram shows the Kubernetes deployment architecture in Cost Optimizer.
Cost Optimizer is a read-only module that connects to different cloud providers to collect information and use the collected information to generate recommendations. To act on a recommendation, to save costs, Workload Manager, another module in CloudCenter Suite is required. Workload Manager acts as an execution engine.
Basic Install Architecture
After installing Cost Optimizer from the Suite Admin, if your CloudCenter Suite Kubernetes cluster can receive connections from public internet addresses, you have everything that is required to use of Cost Optimizer's core features with VM-based public clouds. This includes collecting inventory, cost, metrics and generating recommendations. As mentioned above, it is recommended that you install the Workload Manager module to act on recommendations suggested by Cost Optimizer. The following diagram illustrates the basic install architecture for Cost Optimizer. Note that the icons indicate compute, storage, database, load balancer, metrics, and invoice.
The manager component is the main component of CloudCenter Suite. The basic install architecture installs the manager component, which is broken down into multiple microservices, running within pods in the CloudCenter Suite cluster. Some of these services are common framework services used by all CloudCenter Suite module. While some services are specific to Cost Optimizer, some services are shared between Workload Manager and Cost Optimizer. The manager communicates with the API endpoint of the target cloud region where your workloads will be launched. This communication is used to launch and control the VMs or pods running your workloads, and to extract data regarding cloud resource consumption. For Kubernetes target clouds, there are no worker VMs and the container-based workloads are controlled through the Kubernetes API. The basic install architecture relative to Kubernetes target clouds is summarized in the figure below.
Full Install Architecture
The basic install architecture has a limitation. The basic install architecture assumes that the manager and the target cloud regions can initiate connections to or receive connections from public internet addresses. If either of these cases is not true, or you want to restrict internet access for security reasons, you will need to install additional components to ensure full functionality of Cost Optimizer. For VM-based clouds, you will need to install Cloud Remote as an additional component. The full install architecture for VM-based cloud regions is as shown in the following diagram.
If you use Cloud Remote, you only access in one direction either from or to the CloudCenter Suite. The Cloud Remote handles communication in the other direction.
The Cloud Remote component is delivered as a virtual appliance that you import to your target VM-based cloud region. It is a CentOS 7 image that manages a collection of containerized services. Cloud Remote can be deployed as a single VM and later scaled to a cluster of VMs.
For VM-based cloud regions, Cloud Remote acts as a communication proxy between the manager and the cloud API endpoint (also used by Workload Manager).
If the manager cannot accept inbound connections from public addresses, you must install Cloud Remote in all VM-based target regions that are not within the same network as the manager.
The following is a full install architecture for Kubernetes target clouds, for which you must install the Cloud Remote in an environment that is in the same network as the target Kubernetes cloud.
Without Cloud Remote
The following image identifies the ports that must be open for Cost Optimizer.
With Cloud Remote
The following image identifies the ports that must be open for Cost Optimizer when using the Cloud Remote component.
Is CloudCenter Suite directly accessible from your Cloud Remote? = YES, the arrow from Cloud Remote to CloudCenter Suite is applicable
Is CloudCenter Suite directly accessible from your Cloud Remote? = NO, the arrow from CloudCenter Suite to Cloud Remote applicable
Type NodePort: If you set the type field to NodePort, the Kubernetes control plane allocates a port from a range specified by – service-node-port-range flag (default: 30000-32767). Refer to https://kubernetes.io/docs/concepts/services-networking/service/ for additional context.
- No labels