Efficiently planning and expanding the capacities of a cloud

Cloud Nine

Correct Infrastructure Planning

To make the concept work, some preliminary labor is necessary that should be done right at the beginning of the cloud construction process, including providing central components in your infrastructure that are necessary for the automatic installation of nodes. Typical services that belong to this boot infrastructure are NTP, DHCP, TFTP, and HTTP for providing a local package mirror of your own standard distribution and DNS for local name resolution. DHCP might make you frown, but experience shows that it is practical in large setups because, in an emergency, it allows nationwide reconfiguration of the network without changing each host individually.

With NetBox, you can use a trick: By definition, NetBox has at least one IP address for each device on the platform; otherwise, the IPAM component of the platform would be useless. Because NetBox has its own API and also provides a Python library for direct access to the API, NetBox and DHCP can be connected easily. A script based on Pynetbox [5] retrieves a list of all network interfaces, including their MAC addresses and the corresponding IP addresses, from NetBox and generates a configuration file for the DHCP daemon, dhcpd.

In the end, you have a pseudo-DHCP solution: Every device gets its IP addresses via DHCP, but because the configuration of the DHCP server is based on static data from NetBox, the IP is not dynamic.

Automating the Installation

NetBox is also great for automating the installation of the operating system: If you want to generate host-specific Kickstart files, you can also do so based on information from NetBox, which is easily available via Pynetbox.

By cleverly combining features that many distributions have been offering for years and building the necessary infrastructure, you create a working automation environment that makes the simultaneous installation of hundreds of servers child's play. All the work that can be automated is handled automatically by the platform.

Even this scenario has potential for optimization: For example, if you can obtain information about new servers from the manufacturer in advance, you can integrate them automatically into NetBox via Pynetbox – provided the details are available in machine-readable form. The fewer manual steps required to transform new sheet metal into functioning servers for the cloud, the more cost-effective it is to go live – and the closer you get to the state of hyperscalability. If you want to scale clouds, you can't avoid following this path; otherwise, efficient capacity planning for a cloud is virtually impossible.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy ADMIN Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our ADMIN Newsletters
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs

Support Our Work

ADMIN content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.