Seite wählen

NETWAYS Blog

Terraform Changes

Hallo!

Was vielen von unseren Lesern entgeht, ist das wir auch in unserem Alltag zwischen der ganzen Softwareschreiber- und Kompilier- Tätigkeiten auch ganz viele virtuelle Maschinen und Container zum testen selbiger Software rauf und runter installieren müssen, und das Tag für Tag.

Deshalb versuchen wir uns das Leben mit dafür erstellter Software und deren arbeitserleichternden Funktionen leichter zu machen. Wie mein Kollege schon in seinem Blogpost im März mir vorgegriffen hat, benutzen wir bei der Netways Terraform. Achim wird in weiteren Artikeln darauf eingehen wie man Openstack per Terraform nach seiner Pfeife tanzen lassen kann und Ich möchte mich heute auf ein anderes Terraform Thema beziehen, nämlich dem nahen Release von Terraform 0.12.

Zu dem Zeitpunkt wo ich diese Zeilen niederschreibe, ist auf der aktuellen Website von Hashicorp noch die Aktuelle Version 0.11.13 zu finden.

Aber Terraform hat uns schon vielversprechendes gezeigt mit dem 0.12.0-beta1 pre-release.

Damit kann man schon die vielen Erleichterungen, welche der neue Terraform Release mit sich bringt erahnen und auch schon antesten. Ich versuche die Änderungen Anhand eines kleinen Beispiels zu erläutern.
Vielleicht kann ich den einen oder anderen IaaS Codeschreiber, welcher sich hierfür interessiert, etwas auf den Geschmack zu bringen schon etwas zu testen mit der neuen Version.

Hier der Unterschied zwischen einer (aktuell 0.11.13) alten Terraform Version und einer neuen Version in Terraform 0.12 durch eine Gegenüberstellung.

main.tf (Random Tiernamen Beispiel)

variable "count" { default = 1 } variable "default_prefix" { default = "Giraffe" } variable "zoo_enabled" { default = "0" } variable "prefix_liste" { default = [] } resource "random_pet" "my_pet" { count = "${var.count}" prefix = "${var.zoo_enabled == "0" ? var.default_prefix : element(concat(var.prefix_liste, list (""), count.index)}" }

main.tf HCL2 Version(Random Tiernamen Beispiel)

variable "pet_count" { default = 1 } variable "default_prefix" { default = "Giraffe" } variable "prefix_list" { default = [] } resource "random_pet" "my_pet" { count = var.pet_count prefix = var.zoo_enabled ? element(var.prefix_list, count.index) : var.default_prefix }

Die Unterschiede fallen zuerst etwas weniger ins Auge, sind aber dafür meines Erachtens tiefgreifender für Leute, die IaaS Code schreiben müssen und dienen der Lesbarkeit des Codes.

Vorteil Nummer 1:
Im alten Beispiel musste noch mit „${var.count}“ von einem String zu einer Number evaluiert werden. Mit der neuen HCL2 Schreibweise entfällt das, und es kann mit var.pet_count direkt der korrekte String oder Number Wert adressiert werden.

Vorteil Nummer 2:
Auch die Evaluierung der Liste prefix = „${var.zoo_enabled == „0“ ? var.default_prefix : element(concat(var.prefix_liste, list („“), count.index)}“  wird mit der neuen Notation der HCL2 wesentlich eingängiger. prefix = var.zoo_enabled ? element(var.prefix_list, count.index) : var.default_prefix ist prägnanter. Es entfällt auch die element(concat(x), list(„“), x ) Hack-Situation, um aus einer leeren Liste auch eine Liste mit einem NULL Element zum machen.

Weitere Vorteile: es gibt viel mehr was geändert worden ist, if you want to know more, klick here.

Ich hoffe ich habe euch nicht zu sehr gelangweilt mit C.O.D.E. kurz vor dem Wochenende.

Gruß David

 

David Okon
David Okon
Senior Systems Engineer

Weltenbummler David hat aus Berlin fast den direkten Weg zu uns nach Nürnberg genommen. Bevor er hier anheuerte, gab es einen kleinen Schlenker nach Irland, England, Frankreich und in die Niederlande. Alles nur, damit er sein Know How als IHK Geprüfter DOSenöffner so sehr vertiefen konnte, dass er vom Apple Consultant den Sprung in unser Professional Services-Team wagen konnte. Er ist stolzer Papa eines Sohnemanns und bei uns mit der Mission unterwegs, unsere Kunden zu glücklichen Menschen zu machen.

17 reasons why you should join OSDC | no.12

This entry is part 12 of 17 in the series OSDC | 17 Reasons

This talk covers the migration of Spilgames (a small Dutch games publisher)
from a self-hosted Openstack and hardware based infrastructure
to Google cloud, challenges, tooling (and lack thereof).

Listen to Devdas Bhagat’s story about Migrating to the cloud.

YouTube player

OSDC will upgrade you to the next level. Don’t miss 2019. Grab your ticket now!

Join us at OSDC and get to know the most innovative strategies, forward-looking developments and newest perspectives in dealing with complex infrastructures!

Tickets and more at osdc.de.

17 reasons why you should join OSDC | no.11

This entry is part 11 of 17 in the series OSDC | 17 Reasons
  • Want to get tools, methodologies, and experiences that will help you monitor your distributed system?
  • Want to learn how to switch from a more traditional monitoring approach to observability?
  • How to design a SLO for your core services?

If these questions sound interesting to you, then you should watch this talk by Gianluca Arbezzano from 2018!

YouTube player

OSDC will upgrade you to the next level. Don’t miss 2019. Grab your ticket now!

Join us at OSDC and get to know the most innovative strategies, forward-looking developments and newest perspectives in dealing with complex infrastructures!

Tickets and more at osdc.de.

17 reasons why you should join OSDC | no.10

This entry is part 10 of 17 in the series OSDC | 17 Reasons
  • “Docker, Docker, Docker, Docker,…”
  • Get an insight how we (more Ops then Dev) started to learn (and love) containers.

Docker? If you love / hate that, then you should watch this talk by Martin Alfke from 2018!

YouTube player

OSDC will upgrade you to the next level. Don’t miss 2019. Grab your ticket now!

Join us at OSDC and get to know the most innovative strategies, forward-looking developments and newest perspectives in dealing with complex infrastructures!

Tickets and more at osdc.de.

OSDC 2019 | Agenda out now!

Already curious about what’s up at this year’s event?

We are happy to announce the program for Open Source Data Center Conference 2019! The agenda includes lots of inspiring talks by international speakers from well known companies such as:

Check out the full program here!

Enjoy two inspiring conference days and come back boosted by lots of fresh ideas! Get your ticket and all information at osdc.de

See you in Berlin on May 14 to 15!

Pamela Drescher
Pamela Drescher
Head of Marketing

Seit Dezember 2015 ist Pamela Anführerin des Marketing Teams. Mit ihrer stetig wachsenden Mannschaft arbeitet sie daran, NETWAYS nicht nur erfolgreicher, sondern auch immer schöner zu machen. Privat ist sie Dompteurin einer Horde von drei Kindern, zwei Pferden, drei Katzen und einem Hund. Für Langeweile bleibt also keine Zeit!