订阅内容

One of a cloud architect's responsibilities is to establish and maintain a cloud's capacity and availability at a justifiable cost and with efficient resource usage. This involves managing resources and capacity for the infrastructure (compute, storage, networking), software, and people.

In the first article in this series, we highlighted various aspects of cloud architecture; in the second article, we described self-services delivery; and in the third article, we explored operations. Keeping the platform stable and available requires a disciplined approach to resource and capacity management. The right approach seeks to balance optimizing the platform for cost, availability, and performance.

As we wrote in the first article, Capability Maturity Model Integration (CMMI) provides a framework for the maturity of the processes that combine the people, procedures, and tools to deliver capabilities. The CMMI process areas most relevant to resource and capacity management are:

  • Requirements Management (REQM)
  • Measurement and Analysis (MA)
  • Capacity and Availability Management (CAM)
  • Service Continuity (SCON)

Mature teams understand these requirements at different levels. They can measure and predict future resource requirements based on historical data and visibility into the potential future workload.

Establish a strategy

Cloud platform teams need to establish and maintain a capacity and availability management strategy that accounts for quickly responding to capability changes.

They typically start with guardrails to control capacity demand as users consume services. They also use showback and chargeback capabilities, predictive analytics, and automation to push for ways to expand the cloud continually and as required.

The strategy should include resource overcommitment policies that apply to different environments and service-level objectives (SLOs). Ideally (and depending on the service supported), the team should avoid operating production services on overcommitted hardware configurations.

[ Don't miss 6 must-read books for aspiring cloud architects. ]

Know how and when to expand

Capacity management requires a clear understanding of procurement processes and funding models. The cloud team needs to know how long it takes to expand the cloud—taking into account all organizational levels and the level of project commitment required—before they can expand the platform. Enhanced project visibility improves the ability to predict resource requirements. Teams should resist the temptation to introduce or increase existing overcommitments in production environments to satisfy a new application or a customer due to a lack of project planning.

Consider the efficiency of the workload

Kubernetes-based clouds are driving a new set of capabilities such as scale to zero and cloud-optimized application runtimes that can significantly impact resource usage when deployed at scale. Two examples include:

  • Tekton Pipelines: These provide serverless Kubernetes-native pipelines that run only when and where needed across cloud platforms.
  • Quarkus: This is a Kubernetes-native Java stack that uses a fraction of memory and CPU resources compared to traditional Java runtimes. For example, a large European telco saw a 50% reduction in memory requirements and saved on infrastructure costs when swapping out Spring Boot for Quarkus.

Conclusion

Effective, efficient resource and capacity management are among the most challenging components of running a private cloud environment compared to a public cloud. Keeping track of usage metrics and having a forward-looking view combined with a clear description of cost per compute, memory, and storage unit will help your team anticipate and justify platform expansion when you need it.


关于作者

Johan has 19 years of experience in Information Technology in various sectors including Banking and Finance, and Government. For Red Hat, he worked as a Federal Government Technology Specialist. He successfully used CMMI models to establish a team that operated on DevOps principles for one of Australia's largest retail organizations. The practices used by his team became a catalyst for change in the broader IT organization.

Read full bio

Mohammad has 20+ years of experience in multi-tiered system development and automated solutions. He has extensive experience in online services that use open-source software based on UNIX and Linux. Primarily focused on IT infrastructure with a background in open source web development. Mohammad has dedicated the last 2 years to emerging technologies, primarily Kubernetes using OpenShift and automation using Ansible.

Read full bio

Maurice is a Senior Consultant at Red Hat with 30+ years experience in Information Technology. He has worked for vendors, system integrators and end user organizations and has experienced the challenges of each. 

He's well versed in server hardware and operating systems, particularly Linux, which has been his dominant focus for the last 15 years. Maurice has dedicated the last 5 years of his career to private cloud deployment and operations.

 

Read full bio

John, a Senior Technical Support Engineer, has 16 years of systems administration, operations, and IT management experience around UNIX, Linux, Performance/Capacity Management, Automation, Configuration Management, and OpenStack private clouds. Between 2010 and 2015, he spent 4.5 years as a Service Delivery Manager operating IT for a major financial institution in Australia using ITILv3 methodologies with team members stretching across 5 countries. In 2017, John joined Red Hat as a consultant.

Read full bio
UI_Icon-Red_Hat-Close-A-Black-RGB

按频道浏览

automation icon

自动化

有关技术、团队和环境 IT 自动化的最新信息

AI icon

人工智能

平台更新使客户可以在任何地方运行人工智能工作负载

open hybrid cloud icon

开放混合云

了解我们如何利用混合云构建更灵活的未来

security icon

安全防护

有关我们如何跨环境和技术减少风险的最新信息

edge icon

边缘计算

简化边缘运维的平台更新

Infrastructure icon

基础架构

全球领先企业 Linux 平台的最新动态

application development icon

应用领域

我们针对最严峻的应用挑战的解决方案

Original series icon

原创节目

关于企业技术领域的创客和领导者们有趣的故事