Cloud Automation: Hands-Free Workload Allocation and Balancing

Cloud Automation Overview:

  • Cloud automation allows a developer to quickly allocate project workloads to existing cloud resources.

  • Cloud automation enables key benefits such as autoscaling, predictable configurations, and greater provisioning flexibility in hybrid cloud models.

  • Intel has contributed Node Feature Discovery to common open source cloud orchestration tools, enabling platforms to identify key capabilities in compute nodes.



What Is Cloud Automation?

Cloud automation is the ability to provision cloud resources, including servers and storage connected through networks, without manual intervention. True automation also occurs without technical or process hurdles, such as seeking approval for cloud resources within an organization. At its highest level, cloud automation allows users to access and deploy cloud resources on demand, with just a few pushes of the proverbial button.

Cloud automation consists mostly of software tools that interact with hardware resources. The software layer fulfills the function of implementing policies to allocate and balance workloads, sustain activities, and determine which compute nodes to use based on what hardware is available. System administrators can rely on cloud automation software to receive alerts about any errors that might be occurring and for telemetry and system-level information to help inform decisions about workload placement and performance optimization.

Why Cloud Automation?

In a legacy workflow model, if a developer needed server resources to roll out a new application, they would first need to go through a hierarchy of internal approvals to get that server time. This might entail providing an ROI justification to business and financial units, many of whom don't share the same priorities as the developer, as well as giving detailed requirements for the necessary hardware resources. Once a developer gets all of the required approvals, they must then ask an IT department or systems integrator to configure the hardware for deployment. All of this takes weeks or even months and is subject to human error at every stage of the process.

When done correctly, cloud automation is less dependent on people or processes and more dependent on frameworks that automate the provisioning of resources. The time frame to provision and deploy goes down from months to minutes. Cloud automation models are also easy to templatize and document, so that you can troubleshoot, optimize, and repeat a successful model over and over again. This is why cloud automation is essential to increasing agility and reducing both operational expenditures and time to market for new services and applications.

When done correctly, cloud automation is less dependent on people or processes and more dependent on frameworks that automate the provisioning of resources. The time frame to provision and deploy goes down from months to minutes.

Cloud Automation Benefits

There are three main benefits to cloud automation:

  • Autoscaling: Cloud automation deployments can automatically scale resources to meet workload demands as they arise. For example, if a company launches a new website and expects only 100 users per week, but then experiences an unexpected boom of new visitors, a cloud platform enabled by autoscaling can automatically spin up new resources and load balance to support the additional users. The system administrator will only need to establish the parameters for the scaling. The reverse is also true. If a website or app has fewer than expected users, the cloud platform can autoscale resources down, so that an organization isn't wasting money on idle compute nodes or public cloud instances.
  • Predictable configurations: With cloud automation, your compute resources are abstracted from a base configuration that stays the same from project to project. Nothing will be misconfigured or changed out of process, and users have clear expectations about the compute resources they are accessing. This is crucial from the standpoint of quality and uptime. Predictable configurations mean less chance for human error during setup, and they make it easier to meet SLA requirements with confidence and consistency.
  • Hybrid cloud setups: Cloud automation enables a greater flexibility of choice for businesses that are deciding whether to build on-premises infrastructure, leverage public cloud offerings, or adopt a hybrid cloud strategy that uses both. In a hybrid or multicloud model, on-premises hardware can offer greater control and cost efficiency, with the ability to offload peak or seasonal workloads to public cloud resources. Public clouds are also attractive to businesses that want to expand beyond their current capabilities or start a new project without the steep capital investment to spec out new servers or build a new data center. With cloud automation, system administrators will have a top-down view of all their resources, both private and public, and they can establish parameters for how to allocate workloads and load balance across their hybrid cloud resources.

Cloud Automation in Relation to Cloud Orchestration

Cloud orchestration is the process of mapping available cloud resources and matching workloads to those resources. All of this takes place without human interaction. The human role is simply to set the parameters that determine allocation behavior. Cloud automation both supports and is part of cloud orchestration.

Examples of cloud orchestration platforms include Kubernetes, Docker Swarm, and Ansible. These are command-line, interface-driven tools, meaning that a user will input scripts or lines of code to set behaviors or request telemetry data. For system administrators desiring a rich user interface (UI) experience, there are plugins available for tools like Kubernetes that enable a more-user-friendly UI. Some tools, such as Jenkins, incorporate a UI into their core product offering.

Understanding Usage Models

The key to successful cloud orchestration is developing a good understanding of cloud usage models vs. cost, with the ultimate goal to maximize the utilization of resources. Whether in private or public clouds, idle resources cost money and waste opportunity. Usage models help you understand which compute nodes are optimized for specific workloads.

  • Constant load or steady state: This describes an application with predictable and consistent resource utilization and uptime. Business applications and infrastructure that support day-to-day productivity, like web servers, proxy servers, and databases, fall into this category. Because these usages are predictable, system administrators can reserve a baseline quantity of cloud resources with the understanding that compute demand will most likely not change during periods of operation.
  • Seasonal or spike: This describes workloads that increase or decrease suddenly and dramatically. Key examples include e-commerce and consumer apps. Because it's difficult to know just how many compute resources are required in these scenarios, cloud automation helps smooth over spikes and dips in workload requirements with the ability to autoscale and add or reduce compute nodes as needed.

Observability in Orchestration

The second aspect to successful cloud orchestration is observing and getting feedback from your systems on what's actually running based on utilization data. Telemetry tools in cloud orchestration platforms, such as cAdvisor in Kubernetes, help you understand how resources are being used within your compute nodes. The orchestrator does the magic of identifying capabilities, pushing data back to the system administrator, detecting problems, sensing when a node goes into maintenance, and so on. The goal with observability is to achieve greater performance, efficiency, and density to support more workloads, containers, and functions.

Cloud Automation Solutions

In addition to Kubernetes and other solutions mentioned previously, another important solution in the cloud automation space is GitHub. GitHub is a common repository that allows organizations to upload and collaborate on scripts or orchestration files. The GitHub repository also supports versioning, so administrators can revert back to prior versions of script settings or code, allowing for more flexible experimentation, testing, and optimization

Intel Contributions to Cloud Automation

A key contribution that Intel has made to cloud automation is with Node Feature Discovery, a capability within cloud orchestrators that can detect specific features or technologies within compute nodes. Using this information, cloud orchestration platforms can identify whether the target node is equipped with technologies that are required for key workloads. For example, an analytics-heavy workload may run faster and more efficiently on a compute node with Intel® AVX-512. With Node Feature Discovery, the cloud orchestrator can automatically identify and allocate this workload specifically to Intel® AVX-512-enabled nodes. Node Feature Discovery was recently added into the mainstream, open-source release of Kubernetes, so it is widely available and simple to use.

The Importance of Hardware to Automation

In the cloud, compute resources are abstracted from hardware platforms, but additional performance in the physical server layer does indeed impact the number of supported containers and applications. Intel offers a comprehensive portfolio of server architecture optimized for cloud use cases:

  • Intel® Xeon® Scalable processors deliver a range of performance levels at different entry points, making it easier to build for high utilization and workload matching.
  • Intel® Resource Director Technology (Intel® RDT) in Intel® Xeon® processors enables monitoring and control over shared resources to help increase resource utilization in cloud environments.
  • Intel® Speed Select Technology (Intel® SST), also available in Intel® Xeon® processors, is a collection of features that provide more control over CPU performance to help reduce total cost of ownership (TCO).
  • Intel® Data Center SSDs provide exceptional durability, power efficiency, and read/write speeds for data center use cases, with support for PCIe interfaces.
  • Intel® Ethernet products help eliminate network bottlenecks with network interface cards (NICs) that scale Ethernet speeds from 25/50GbE to 100, 200, and 400GbE.

There are also Intel® software solutions that help IT managers and cloud architects automate management and optimization of cloud infrastructure assets:

  • Intel® Data Center Manager (Intel® DCM) enables real-time monitoring and telemetry of system power, temperature, I/O, memory, and CPU utilization. IT managers can support automation by setting parameters to control, gate, or dial down power usage.
  • Intel® Power Thermal Aware Solution in Intel® DCM collects real-time power and thermal data. Technicians can identify hot spots, balance circuit load, and help reduce cost with efficient cooling configurations.

These offerings help support workload scalability and container density, as well as cloud security architecture, all of which play into your overall cloud automation strategy.

Being Intentional About Automation

What makes cloud automation so attractive is the ability to avoid complex hierarchies and organizational processes to obtain compute resources. Developers can bypass procurement, justification, and requisition delays. Businesses can deploy new applications and services faster. System administrators can get key insights into their platforms to increase performance and efficiency, and orchestration software can intelligently identify resource capabilities with innovations like Node Feature Discovery. Cloud automation should be a top consideration when planning your policies and creating your cloud infrastructure blueprint.