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

Anpassen von Konfigurationsdateien mit Ausgabewerten von CloudFormation Stacks

Bei der Migration von Anwendungen auf AWS müssen auch die Konfigurationsdateien der Anwendungen angepasst werden. Auch dabei gilt der Grundsatz “Automatisiere alles”. Doch wie kommen die Daten aus der neu auf AWS provisionierten Infrastruktur auf die Server? Hierzu ein paar Tipps zu CloudFormation und Anpassung von Konfigurationsdateien mit Shell Skripten. - by Gernot Glawe

Clouds - einfaches Management von CloudFormation Templates

Infrastruktur als Code ist eine (Heraus)Forderung von DevOps. Die Infrastrukturbeschreibungssprache von AWS heißt CloudFormation. Hat man sich erstmal eingearbeitet, greift man immer häufiger zum Texteditor statt zur Console, um AWS Ressourcen zu erstellen. Und eh man es sich versieht, hat man eine unüberschaubare Anzahl von Cloudformation Templates. Und dann steht man vor der Aufgabe, diese zu verwalten. Hier wollen wir ein paar Möglichkeiten dafür vorstellen. - by Gernot Glawe

Velocity for complex CloudFormation templates

Cloudformation as a description language With AWS CloudFormation, (almost) all AWS service can be described in a configuration language. This enables scripting of AWS infrastructure. Thus, AWS resources are well documented. The templates can also be stored and versioned in configuration systems, e.g. CodeCommit. So CloudFormation has many advantages. However, one disadvantage is that CloudFormation templates quickly become very large. What to do? Fortunately, there are several approaches to deal with the complexity. - by Gernot Glawe