Infrastructure as Code IaC: neue BICEP-Kompetenz für unser Azure-Team

Ende Januar - konkret am 17. – hat fast das gesamte Azure-Team der SmartIT an einer Schulung zum Thema BICEP teilgenommen. Einer davon war ich, Manuel Stähli. Im Blogbeitrag erkläre ich die deklarative Sprache zur Definition von Infrastructure as Code, kurz: IaC, in Microsoft Azure, was der Mehrwert davon ist und wozu ich sie bei der SmartIT seit der Schulung anwende.
Bei der SmartIT bin ich als System Engineer im Azure-Team tätig und unterstütze Kundinnen und Kunden im Betrieb ihrer Umgebungen in der Microsoft-Cloud. Im daily Business heisst das, dass ich auftretende Komplikationen in den Funktionalitäten von Microsoft Azure löse oder natürlich auch Projekte zum Aufbau neuer Azure-Umgebungen umsetze.
Was ist Microsoft Azure überhaupt?
Ganz einfach ausgedrückt ist Azure die Cloud von Microsoft. Darin können IT-Infrastrukturen, beispielsweise ein Server, analog der physischen Lösung online aufgebaut und bezogen werden.
Das bringt folgende Vorteile mit sich:
- bei Ihnen im Bürogebäude steht keine physische IT-Infrastruktur herum
- Sie können Kapazitäten flexibel gemäss Ihrem Bedarf beziehen
- grundlegende Betriebsaufgaben für die Hardware werden von Microsoft übernommen
Wir übernehmen für unsere Kundinnen und Kunden darauf aufbauend Aufgaben zum Aufbau wie auch dem Betrieb von Ressourcen auf Microsoft Azure. Dazu ist spezifisches Know-How notwendig, das wir bei der SmartIT im Azure-Team konzentriert vorhanden haben.
Bisher haben wir die soeben erläuterten Aufbauarbeiten von Infrastrukturen auf Microsoft Azure im graphical User Interface oder mit Powershell – eine andere Infrastructure as Code – umgesetzt, was nicht mehr stat of the art ist. Sie müssen sich das vorstellen, wie ein riesiges Bestellformular, indem gewünschte Spezifikationen dieses, bleiben wir beim Beispiel des Servers, zusammengeklickt werden können. BICEP ist eine deklarative Sprache, mit der diese Spezifikationen nun beschrieben, statt an- oder abgewählt werden können. Es ist, als würden Sie in einem Word-Dokument beschreiben, wie dieser Server auszusehen hat. Genau das machen wir mit BICEP, nur einfach nicht in einem Word und auch nicht mit deutscher Sprache, sondern eben mit BICEP, also Code.
Was sind die Vorteile von Infrastructure as Code, kurz: IaC?
Einerseits wird uns dadurch natürlich die Arbeit erleichtert. Denn wenn ein solches BICEP-File einmal geschrieben ist, kann das Deployment der darin beschriebenen Ressource mittels einem Knopfdruck vollautomatisch umgesetzt werden. All das Geklicke von vorhin wird automatisch ausgeführt. Das heisst, wenn wir von standardmässigen Ressourcen, wie beispielsweise einem Server sprechen, kann der nach einem einmaligen Verfassen der Beschreibung in BICEP mit wenig Mehraufwand aufgesetzt werden. Das ist skalierbar und erleichtert auch die Verwaltung. Vorhandene BICEP-Files können weiterverarbeitet und dadurch optimiert oder einfach individualisiert werden. Darüber hinaus ist eine Dokumentation der vorgenommenen Einstellungen hinfällig respektive bereits integriert.
Initial ist natürlich Zeit zum Erlernen der Sprache zu investieren. Wenn solche Templates aber mal stehen, kann dadurch Zeit von repetitiven Arbeiten eingespart und für relevantere Aufgaben eingesetzt werden.
Inwiefern profitieren Sie von Infrastruture as Code?
Nebst den klassischen Kosteneinsparungen sowie Qualitätssteigerungen sehe ich ein grosser Vorteil darin, dass die komplette Kunden-Infrastruktur auf Azure bei uns in BICEP dokumentiert und somit sehr rasch frisch aufgesetzt oder angepasst werden kann, wenn mal eine Ressource gelöscht oder verstellt worden sein sollte. Zusätzlich können Neuerungen und zukünftige Änderungen einfacher und schneller integriert werden.
Wie ich die BICEP-Schulung erlebt habe
Mir war BICEP schon vor der Schulung ein Begriff. Dennoch konnte ich von der Schulung, in der es um die Sprache an sich ging, sehr profitieren. Am 17. Januar haben wir unter anderem aber auch das Handling rund um BICEP in Microsoft Azure erlernt. Wir haben uns angesehen, wie ein Script aufgebaut aber auch wie es anschliessend ausgeführt wird. Ein weiterer Fokus lag auf Automations-Möglichkeiten. Persönlich habe ich die Schulungsinhalte sehr interessant empfunden. Ein absolutes Plus war aus meiner Sicht der Praxisbezug. Ich konnte die erlernten Inhalte gleich direkt nach der Schulung in meinem daily Business integrieren und anwenden.
Mir wurde in der Schulung der Nutzen von Innovation und Automatisierung nochmals so richtig bewusst und ich bin super motiviert, in Zukunft mehr in die Automatisierung von Arbeitsabläufen zu investieren.
Dazu verwende ich das neue IaC-Wissen bei der SmartIT
Bei der SmartIT haben wir bereits unser Patch Management auf der Grundlage von BICEP aufgebaut. Anstelle, dass wir für jede Einbindung eines Kunden, den selben Vorgang händisch konfigurieren, können wir nun mit minimalen Anpassungen anhand einer Vorlage in BICEP, eine Grundkonfiguration so ausrollen, dass die Systeme lediglich noch verbunden und den gewünschten Updatewellen zugewiesen werden müssen.
Weiter planen wir, das Set-Up einer Managed Azure Plattform komplett in BICEP festzuhalten und anzuwenden. Das Ziel wäre irgendwann alle Deployments auf Microsoft Azure in BICEP umgesetzt zu haben und auch zu automatisieren.
Haben Sie weitere Fragen zu Azure, Infrastructure as Code oder benötigen Sie Unterstützung dabei? Dann sprechen Sie mich ungeniert darauf an. Ich freue mich über einen Austausch dazu.