Читать книгу Handbuch Infrastructure as Code - Kief Morris - Страница 60

Programmiersprachen für Infrastruktur

Оглавление

Systemadministratoren nutzen schon seit Jahrzehnten Skripte, um das Infrastruktur-Management zu automatisieren. Allgemeine Skriptsprachen wie Bash, Perl, PowerShell, Ruby oder Python haben immer noch einen wichtigen Anteil am Werkzeugkasten eines Infrastruktur-Teams.

CFEngine (https://cfengine.com) war Pionier beim Einsatz deklarativer, domänenspezifischer Sprachen (DSL, Domain-Specific Languages, siehe »Domänenspezifische Infrastruktur-Sprachen« auf Seite 75) zum Infrastruktur-Management. Puppet (https://puppet.com) und dann Chef (https://www.chef.io) entwickelten sich parallel zur Server-Virtualisierung und zu IaaS-Clouds im Mainstream. Ansible (https://www.ansible.com), Saltstack (https://www.saltstack.com) und andere folgten.

Stack-orientierte Tools wie Terraform (https://www.terraform.io) und CloudFormation (https://oreil.ly/wt4pC) kamen ein paar Jahre später dazu, wobei das gleiche deklarative DSL-Modell zum Einsatz kam. Deklarative Sprachen haben Infrastruktur-Code vereinfacht, indem sie die Definition der gewünschten Infrastruktur davon getrennt haben, wie das zu implementieren ist.

Seit Kurzem gibt es einen Trend zu neuen Infrastruktur-Tools, die bestehende allgemein nutzbare Sprachen zur Definition der Infrastruktur verwenden.1 Pulumi (https://www.pulumi.com) und das AWS CDK (Cloud Development Kit, https://aws.amazon.com/cdk) unterstützen Sprachen wie Typescript, Python oder Java. Diese Werkzeuge entstanden, um manche der Einschränkungen deklarativer Sprachen anzugehen.

Handbuch Infrastructure as Code

Подняться наверх