In our first blog post we'll cover software stack we use for our infrastructure. Having most of the infrastructure automated we'd like to share what's under the hood helping us run and grow the business.
- Foreman — bare-metal server provisioning, IP address management and inventory. After new server is set up in a server rack it runs a special "Discovery Image" via PXE boot, letting Foreman know it has been arrived. Datacenter engineer chooses the role for the server and in 10 minutes the server is up and running. Foreman keeps the hardware information and basic system configuration.
- Saltstack — software configuration management. To simplify configuration of the whole park of our servers we configure them by writing their configuration as special "states" — scripts and templates of server configuration.
- Zabbix — monitoring and IT inventory. After server is installed with foreman and configured with Saltstack it is automatically discovered by Zabbix, which collects stats about server health from hardware to software.
- Openstack — cloud orchestration. Both our own systems and customer servers (Windows VPS, at this moment) are controlled via Openstack. Right now we are using Kilo release from RDO repository.
- Redmine — incident management and wiki. In case of component failure Zabbix automatically generates a task for our engineering team to fix it. For example, to replace a drive in RAID array or to add network capacity to a network uplink. We keep the internal docs there as well.
Next time we'll give you insights of our network and datacenter internals.