Einleitung zu tRick

Wer träumt nicht davon das Infrastructure as Code Framwork zu benutzen, das die eigenen Anforderungen bestens erfüllt? Aber wie findet man nun dieses eine richtige Framework für seinen Anwendungsfall, den “Alleskönner” oder den “Spezialisten”?

Auch wir bei tecRacer haben immer wieder mit unterschiedlichsten Infrastructure as Code Frameworks zu tun. Bei unseren Projekten im AWS Umfeld steht uns eine große Zahl an möglichen Tools zur Verfügung.

Aber worin genau besteht der Vorteil von Infrastructure as Code Frameworks gegenüber einer manuellen Bereitstellung von Infrastruktur-Resourcen?

Zum einen geht es um Konfigurationskonsistenz, zum anderen geht es  um Wiederwerwendbarkeit von bereits erstellten Templates. Solch ein Template sieht je nach Infrastructure as Code Framework natürlich unterschiedlich aus. Es gibt im Grunde zwei Ansätze:

  1. Deklarative Programmierung: Es wird ein Template erstellt indem der gewünschte Infrastrukturzustand deklariert wird.

  2. Imperative Programmierung: Es werden die notwendigen Schritte zum gewünschten Infrastrukturzustand angegeben, hierbei kommt der Idempotenz der Skripte eine zentrale Bedeutung zu.

Nun aber zu den unterschiedlichen Infrastructure as Code Frameworks!

Mit CloudFormation bietet AWS ein eigenes Infrastructure as Code Framework an. Aber auch OpenSource Tools wie Terraform (HashiCorp) oder SparkleFormation kommen zum Einsatz. Erst kürzlich hat AWS mit dem Cloud Development Kit (AWS CDK) in der Developer Preview ein zusätzliches Framework angekündigt.

Weitere interessante Frameworks sind unter anderem:

Einige davon nutzen Programmiersprachen wie Go oder Python, um CloudFormation Templates zu erzeugen. Diese können dann genutzt werden, um Infrastructure-Resourcen bereitzustellen. Bei der immer größer werdenden Anzahl an Frameworks wird die Entscheidung welches davon zu nutzen ist eine Glaubensfrage. Die Diskussionen zwischen den Anhängern der unterschiedlichsten Frameworks kann Abende füllen wenn man möchte.

Das muss nicht so sein, denn hier kommt tRick ins Spiel.

Mit tRick (tecRacer Infrastructure as Code Kennzahlen) wollen wir anhand von standardisierten Anwendungsfällen die unterschiedlichen Frameworks auf ihre Tauglichkeit hin untersuchen. Dazu werden wir in folgenden Blogbeiträgen die Anwendungsfälle definieren und die unterschiedlichen Infrastructure as Code Frameworks gegeneinander antreten lassen. Die dabei entstandenen SourceCode Templates werden wir über GitHub veröffentlichen, um die Transparenz der Benchmarks zu erhöhen. Die Anwendungsfälle orientieren sich dabei an grundlegenden wiederkehrenden Tätigkeiten, die in Projekten auftreten.

Trick auf Github

Similar Posts You Might Enjoy

tRick: simple network 2 - Geschwindigkeit

Vergleich Infrastructure as Code (IaC) Frameworks - tRick Alle Posts Abstraktion und Lines of Code Geschwindigkeit Diversity (polyglott), Tooling, Fazit Benchmark Ausführungsgeschindigkeit Ausführungsgeschwindigkeit Direkt aus dem tRick Repository wird mehrfach (n=10) der Zyklus Build - Check - Deploy - Remove ausgeführt. Damit sollen Cache Effekte statistisch gemittelt werden. Dazu nehme ich das Tool hyperfine zur Hilfe. Es führt Kommandos automatisch mehrfach aus und mittelt die Ergebnisse. Meine Annahme ist es, dass Terraform vorne liegt, da das Programm selber statisch kompiliert in go geschrieben ist. Außerdem geht die Ausführung direkt auf die API. - by Gernot Glawe

tRick: simple network 3 - Diversity (polyglott), Tooling, Fazit

Vergleich Infrastructure as Code (IaC) Frameworks - tRick Teil 3 Alle Posts Abstraktion und Lines of Code Geschwindigkeit Diversity (polyglott), Tooling, Fazit - by Gernot Glawe

tRick: simple network 1 - Abstraktion und LoC

Vergleich Infrastructure as Code (IaC) Frameworks - tRick Ein Toolvergleich für Infrastructure as Code. Um effektiv AWS oder generell Cloud Ressourcen zu erzeugen, verwendet man zur Erhöhung des Automatisierungsgrades “Infrastracture as Code”, d.h. die Server, Datenbanken usw. werden in einer Sprache kodiert. Dieser Vorgang wird sinvollerweise über ein Framework, welches Tools dafür zur Verfügung stellt unterstützt. Aber für welches Tool/Framework entscheidet man sich? Hier werden wir mit Dimensionen für den tRick Benchmark Entscheidungshilfen geben. - by Gernot Glawe