CCRs Per Minute
The quantity of Chef Infra Client runs per minute, or CCRs/min, is a vital indicator of how well the Chef Infra Server is scaling. As an illustration, 16.66 CCRs/min equals 500 nodes set to check every 30 minutes.
The Chef Infra Server often does not need high availability or tiered topology until the number of CCRs/min surpasses 333/min. It is approximately ten thousand nodes.
The artificial measures should not be taken too seriously because they rarely reflect performance in real-world settings. A solitary Chef Infra Server running on an Amazon Web Services (AWS) c3.2xlarge server was able to process more than 1,000 CCRs per minute according to internal benchmarks at Chef. About thirty thousand nodes.
Assumptions
A variety of things may influence server scalability. All suggestions for server sizing are based on the following presumptions: They directly affect Capacity Planning in Chef Infra Server.
1) Daemonization is used for Chef Infra Client runs. Cron jobs do not launch them. There may be "thundering herd" issues when using cron to schedule runs.
2) The default period for Chef Infra Client runs 30 minutes, with a 5-minute splay.
3) There is minimal use of search and partial search.
4) Across all versions, the Chef Infra Server has fewer than 500 cookbooks available per company. It is acceptable for multiple groups, each with fewer than 500 cookbooks but with more than 500 cookbooks overall.
5) Although nodes rarely exceed 150KB, the default maximum size for a node object is 1MB. This data is duplicated twice, once in Elasticsearch and once in PostgreSQL, despite being compressed. It should be sufficient to allocate just 2MB of storage per node on the disc partition.
Host Specifications
The sections below go through host requirements for different CCR/min sizes and indicate when switching from a standalone design to a tiered or high availability topology could be advantageous. They help us become clear with Capacity Planning in Chef Infra Server. This is because we turn sure of the specifications and act accordingly.
A MAXIMUM OF 33 CCRs per minute(about 1,000 nodes):
Chef advises using just one virtual machine instance.
Start with an instance of the Amazon EC2 m3.large platform with 2 CPU cores and 8GB of RAM.
Give each managed node a 2MB disc space allocation on the data partition.
A MAXIMUM OF 167 CCRs per minute (about 5,000 nodes):
Chef advises using just one virtual machine instance.
Start with an Amazon EC2 m3.xlarge instance-sized configuration of 4 CPU cores and 16GB of RAM.
A MAXIMUM OF 333 CCRs per minute (about 10,000 nodes):
Chef advises using just one virtual machine instance.
Start with an Amazon EC2 m3.2xlarge instance's equivalent of 8 CPU cores and 32GB of RAM.
A MAXIMUM OF 667 CCRs per minute (about 20,000 nodes):
Chef suggests one front-end host and one back-end host.
The front-end server does not need much disc space.
Each host should initially have 8 CPU cores and 32GB of RAM, equal to an Amazon EC2 m3.2xlarge instance.
Scaling a single cluster to more than 20,000 nodes:
The front-end node can be given more capacity by being placed behind an HTTP load balancer and then scaled horizontally.
Chef suggests using professional Chef services to assist with capacity and architectural planning at this scale.
Frequently Asked Questions
What is the infra component name in Chef?
Workstations, servers, and nodes make up the three core parts of Chef. The system where the administrator works are called a workstation. A recipe is a piece of code that the system generates to manage and configure infrastructure. It is written in Ruby.
What is the use of chef infra?
Chef Infra is a robust automation platform that turns infrastructure into code. Chef Infra automates infrastructure configuration, deployment, and management across the network, regardless of its scale, whether we are operating in the cloud, on-premises, or in a hybrid environment.
What are the differences between Ansible and Chef?
Unlike Chef, a commercial automation tool, Ansible is an open-source IT solution. Ansible is used for automating application deployment and configuration management. It works well for brief instructions like updating Linux or RHEL operating systems.
Conclusion
In the article, we learned about capacity planning in Chef Infra Server. We also read about the scaling of the Chef Infra Server. We read about the number of runs and the things that may impact server scalability. Visit our blogs on Chef to find out more. Go inside to find out how to configure Chef infra server and manage Chef infra server. If you want to dive deeper, find out about Chef Habitat Installation and Common Terms related to Chef InSpec. Explore Coding Ninjas Studio to find more exciting stuff. Happy Coding!
