<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
    <title>KORLA.cloud - Blog</title>
    <subtitle>Turning Governance, Security &amp; Technology into Operational Reality</subtitle>
    <link rel="self" type="application/atom+xml" href="https://korla.cloud/blog/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://korla.cloud/blog/"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2025-02-24T00:00:00+00:00</updated>
    <id>https://korla.cloud/blog/atom.xml</id>
    <entry xml:lang="de">
        <title>Lean Azure Governance 1 - Intro</title>
        <published>2025-02-24T00:00:00+00:00</published>
        <updated>2025-02-24T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Kai Korla
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://korla.cloud/blog/lean-azure-governance-teil-1/"/>
        <id>https://korla.cloud/blog/lean-azure-governance-teil-1/</id>
        
        <content type="html" xml:base="https://korla.cloud/blog/lean-azure-governance-teil-1/">&lt;p&gt;Viele Unternehmen kämpfen mit ihrer Cloud Governance, weil sie zu starr oder zu aufwendig ist. Dabei ist eine solide Governance ist in der dynamischen Welt von Cloud-Computing das entscheidende Mittel um nicht nur Compliance und Sicherheit zur gewährleisten, sondern ebenfalls Kosten und Komplexität im Griff zu behalten. Ich möchte dir in dieser Blog-Serie meine Ansätze für eine schlanke und zielgerichtete Governance zeigen - welche sich an Risiken orientiert, Adaption und Innovation nicht bremst, sowie die Azure built-in Features verwendet und damit unnötigen “externen” Ballast vermeidet. In diesem ersten Artikel schauen wir uns die grundlegenden Konzepte und Prinzipien an, welche mir als Fundament für eine effiziente und effektive Cloud Governance dienen.&lt;&#x2F;p&gt;

&lt;h2 id=&quot;azure-cloud-governance-kurz-erklart&quot;&gt;(Azure) Cloud Governance kurz erklärt&lt;&#x2F;h2&gt;
&lt;p&gt;Cloud Governance sind alle Richtlinien, Prozesse und Tools, welche eine kontrollierte und sichere Nutzung der Cloud steuern. Damit werden organisatorische und technische Leitplanken gesetzt um Risiken, wie z.B. Sicherheitslücken, Compliance-Verstöße oder unkontrollierte Kosten, frühzeitig zu erkennen und zu vermeiden - mindestens aber deren Auswirkungen zu minimieren. Governance kann keine Aufgabe sein, welche nur einmal ausgeführt wird. Es ist ein kontinuierlicher Verbesserungsprozess, um eine sinnvolle Überwachung und fortschreitende Optimierung zu gewährleisten.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;was-ist-mit-lean-gemeint&quot;&gt;Was ist mit Lean gemeint?&lt;&#x2F;h2&gt;
&lt;p&gt;Lean, Englisch für schlank, stammt aus der Fertigungsindustrie. Ziel ist es Prozesse zu optimieren, Verschwendung zu minimieren, den Fokus auf das Wesentliche zu legen und somit die Wertschöpfungskette zu maximieren. Mehr zu dem Thema findest du in der Wikipedia oder über die Suchmaschine deiner Wahl - Stichworte “Lean Production” oder “Lean Management”.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;lean-governance&quot;&gt;Lean &amp;amp; Governance&lt;&#x2F;h2&gt;
&lt;p&gt;Durch den Lean-Ansatz wird es möglich, Governance so zu gestalten, dass sie sowohl robust als auch anpassungsfähig ist – ideal für die dynamischen Herausforderungen moderner Cloud-Umgebungen. Eine Lean Governance hat drei Kernpunkte:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Effizienz
Es werden die notwendigsten Kontrollen implementiert - ohne überflüssige Komplexität. Das hilft nicht nur den Überblick zu behalten, sondern gibt den Teams notwendige Unterstützung und gleichzeitig genügend Freiheit für eine erfolgreiche Cloud Adoption. Kurz also: So viel Kontrolle wie nötig, so wenig wie möglich.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Flexibilität
Governance ist ein Prozess und dieser passt sich dynamisch neuen Anforderungen und veränderten Risiken an. Es gilt die richtigen Leitplanken zu setzen, um die Organisation trotz hoher Geschwindigkeit sicher auf der Spur zu halten.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Transparenz
Die Einbeziehung aller Akteure, sowie klare und nachvollziehbare Prozesse, schaffen Vertrauen, unterstützen die Adaption und sorgen für Akzeptanz. Das erleichtert die Überwachung und die kontinuierliche Verbesserung.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h2 id=&quot;die-letzte-zutat&quot;&gt;Die letzte Zutat&lt;&#x2F;h2&gt;
&lt;p&gt;Wie definierst du nun sinnvolle Maßnahmen? Hier hilft ein risikobasierter Ansatz, der sich auf das Wesentliche konzentriert. Klingt einfach, aber in der Praxis oft schwieriger als gedacht.:&lt;&#x2F;p&gt;
&lt;p&gt;Statt alle möglichen Themen pauschal zu betrachten, schaue auf jene Bereiche, welche das größte Potenzial für negative Auswirkungen haben. Identifiziere Risiken, welche gravierende Auswirkungen auf die Organisation haben, z.B. Sicherheitslücken, Compliance-Verstöße oder “Kosten außer Kontrolle”.&lt;&#x2F;p&gt;
&lt;p&gt;Nicht jedes erkannte Risiko erfordert die gleiche Behandlung. Bewerte die Eintrittswahrscheinlichkeit und potenziellen Schäden. Damit kannst du Risiken priorisieren und gezielte Maßnahmen einsetzen, um die Risiken zu behandeln.&lt;&#x2F;p&gt;
&lt;p&gt;Damit es schlank bleibt “erfinde” nichts Eigenes. Bitte keine Risiken-Excel oder ein Governance-Dokument, welches 5 Runden durch die Organisation dreht und am Ende doch nicht der liest, der es lesen sollte. Nutze stattdessen gezielt die Azure-nativen Tools für eine effiziente und effektive Governance&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Azure Policy: Automatisierte Richtlinien zur Durchsetzung von Governance-Regeln&lt;&#x2F;li&gt;
&lt;li&gt;RBAC (Role-Based Access Control): Feingranulare Zugriffskontrolle für Ressourcen&lt;&#x2F;li&gt;
&lt;li&gt;Azure Security Center: Sicherheitsüberwachung und Bedrohungsabwehr&lt;&#x2F;li&gt;
&lt;li&gt;Azure Cost Management: Kostenkontrolle und Optimierung von Cloud-Ausgaben&lt;&#x2F;li&gt;
&lt;li&gt;Entra Identity Governance: Verwaltung von Identitäten und Zugriffsrechten&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;uvm.&lt;&#x2F;p&gt;
&lt;p&gt;Auf einige Tools werde ich in weiteren Artikeln der Serie eingehen. In jedem Fall helfen dir die Tools, um Risiken kontinuierlich zu überwachen und zu managen.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;fazit-fur-die-erste-runde&quot;&gt;Fazit für die erste Runde&lt;&#x2F;h2&gt;
&lt;p&gt;Wir haben die Basis für eine Lean Governance gelegt. Die Lean-Prinzipien tragen dazu bei, Prozesse zu vereinfachen und zu optimieren. Der risikobasierte Ansatz stellt sicher, dass die implementierten Maßnahmen zielgerichtet und wirkungsvoll sind – ohne die Komplexität unnötig in die Höhe zu treiben.&lt;&#x2F;p&gt;
&lt;p&gt;Im nächsten Artikel nehmen wir Azure Policy unter die Lupe – das erste Azure-native Tool, dass dich dabei unterstützt, Governance effektiv umzusetzen. Anhand praxisnaher Beispiele zeige ich dir, wie du typische Risiken in der Cloud-Nutzung identifizierst und mit Azure Policy gezielt steuerst.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Maester - Security Test Automation</title>
        <published>2024-12-31T00:00:00+00:00</published>
        <updated>2024-12-31T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Kai Korla
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://korla.cloud/blog/maester-security-test-automation/"/>
        <id>https://korla.cloud/blog/maester-security-test-automation/</id>
        
        <content type="html" xml:base="https://korla.cloud/blog/maester-security-test-automation/">&lt;p&gt;Mit &lt;strong&gt;Maester&lt;&#x2F;strong&gt; stellst du sicher, dass deine Microsoft 365 Tenant Konfiguration konform mit deinen Sicherheitsrichtlinien ist. Dafür definierst du deine Sicherheitsrichtlinien als Code (Security as Code - SaC) und nutzt Tests um deine Konfiguration automatisiert zu prüfen.&lt;&#x2F;p&gt;

&lt;h2 id=&quot;einstieg&quot;&gt;Einstieg&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Maester&lt;&#x2F;strong&gt; ist ein PowerShell-basiertes Security Test Automation Framework, welches die Automatisierung von Sicherheitstest gegen deinen M365 Tenant ermöglicht. Dazu dient &lt;strong&gt;Pester&lt;&#x2F;strong&gt;, ein Test- und Mocking-Framework für PowerShell, als Grundlage um Tests zu erstellen, welche automatisiert ablaufen. Pester gibt eine Benennung der PowerShell-Scripte (**.Tests.ps1*) und eine einfache Menge von Funktionen (&lt;em&gt;Describe&lt;&#x2F;em&gt;, &lt;em&gt;Context&lt;&#x2F;em&gt;, &lt;em&gt;It&lt;&#x2F;em&gt;, &lt;em&gt;Should&lt;&#x2F;em&gt;, &lt;em&gt;Mock&lt;&#x2F;em&gt;) vor. Einen guten Einstieg bekommst du im &lt;a rel=&quot;noopener noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;pester.dev&#x2F;docs&#x2F;quick-start&quot;&gt;Pester Quick Start&lt;&#x2F;a&gt;. 👌&lt;&#x2F;p&gt;
&lt;p&gt;Zurück zu Maester! Maester bringt out-of-the-box einer Menge Tests auf Basis etablierter Benchmarks bzw. Security Configuration Baseline (Entra ID SCA, CISA, CIS) mit. Eigener Tenant bedeutet ggf. auch eigene Besonderheiten. Daher ist es ratsam eigene Tests passend zu seiner Tenant-Konfiguration zu schreiben. Auf der Maester-Seite ist das ausführlich dokumentiert. Außerdem findest du dort auch Beispiele für gängige Automatisierungsszenarien über GitHub oder Azure DevOps, sowie Benachrichtigungswege (Alerts) über Microsoft Teams oder der guten, alten E-Mail. ☺️&lt;&#x2F;p&gt;
&lt;h2 id=&quot;eindruck&quot;&gt;Eindruck&lt;&#x2F;h2&gt;
&lt;p&gt;Anhand der Dokumentation hatte ich den ersten Lauf von Maester in wenigen Minuten durchgeführt. Der generierte Bericht ist ausführlich und hilfreich. Die Testergebnisse werden auch in JSON abgelegt und somit kann eine Weiterverarbeitung in anderen Systemen erfolgen. Das Erstellen und Integrieren eigener Tests sind für mich alten Entwickler schon fast ein Kinderspiel. Tenant-Admins sind bestimmt ebenfalls fit in PowerShell!? Daher sehe ich für Maester eher geringe Einstiegshürden.&lt;&#x2F;p&gt;
&lt;p&gt;Insgesamt ein toller Ansatz, um Transparenz in seine Tenant-Konfiguration und Änderungen zu bekommen. Aus meiner Sicht ein must-have Tool. 👍&lt;&#x2F;p&gt;
&lt;h2 id=&quot;weiterfuhrende-links&quot;&gt;Weiterführende Links&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a rel=&quot;noopener noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;maester.dev&quot;&gt;Maester&lt;&#x2F;a&gt;
&lt;a rel=&quot;noopener noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;pester.dev&quot;&gt;Pester&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Azure DNSSEC</title>
        <published>2024-12-27T00:00:00+00:00</published>
        <updated>2024-12-27T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Kai Korla
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://korla.cloud/blog/azure-dnssec/"/>
        <id>https://korla.cloud/blog/azure-dnssec/</id>
        
        <content type="html" xml:base="https://korla.cloud/blog/azure-dnssec/">&lt;p&gt;Schonmal von DNS Spoofing betroffen gewesen? Vielleicht gar nicht mitgekommen! Hier kann DNSSEC helfen. DNSSEC stellt sicher das DNS-Einträge, die sind, welche sie vorgeben zu sein. Wenn du deine Domain in Azure über &lt;a rel=&quot;noopener noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;azure.microsoft.com&#x2F;de-de&#x2F;products&#x2F;dns&quot;&gt;Azure Public DNS&lt;&#x2F;a&gt; verwaltest, dann kannst du deine DNS-Zone um DNSSEC erweitern (in Preview). 👍&lt;&#x2F;p&gt;
&lt;p&gt;Falls du dich mit DNS noch nicht tiefer auseinandergesetzt hast, dann kannst du dich beispielsweise auf &lt;a rel=&quot;noopener noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;de.wikipedia.org&#x2F;wiki&#x2F;Domain_Name_System&quot;&gt;Wikipedia&lt;&#x2F;a&gt; dazu informieren.&lt;&#x2F;p&gt;

&lt;h2 id=&quot;einfuhrung&quot;&gt;Einführung&lt;&#x2F;h2&gt;
&lt;p&gt;DNSSEC steht für &lt;strong&gt;Domain Name System Security Extensions&lt;&#x2F;strong&gt; und ist eine Erweiterung für das DNS-Protokoll. Es ist nicht zu verwechseln mit &lt;strong&gt;DNS Security&lt;&#x2F;strong&gt;, welche Methoden zur Absicherung der DNS-Infrastruktur vor Cyber-Attacken beschreibt.&lt;&#x2F;p&gt;
&lt;p&gt;Einfach gesagt geht es bei DNSSEC um die Validierung von DNS-Antworten (responses) auf DNS-Anfragen (queries). Dabei werden digitale Signaturen benutzt, welche in der DNS-Zone hinterlegt werden. Jede Zone hat dabei sein eigenes Public-&#x2F;Private-Key Paar um die Zone und Ressourceneinträge (RR) zu signieren. Damit das durchgehend funktioniert, wird bei der Top-Level-Domain (TLD) begonnen und eine Vertrauenskette (Chain of Trust) hergestellt.&lt;&#x2F;p&gt;
&lt;p&gt;Am Ende muss der direkt genutzte DNS-Server (resolver) - welchem du daher vertrauen musst - DNSSEC voll unterstützen. Nutzt du nicht vertrauenswürdige DNS-Server, zum Beispiel im öffentlichen WLAN, dann hast du verschiedene Möglichkeiten. Wenn möglich konfiguriere die Einstellungen für den genutzten DNS-Server manuell auf einen vertrauenswürdigen Resolver. Falls du keinen vertrauenswürdigen DNS-Server hast, hilft nur einen eigenen entsprechenden Resolver lokal zu installieren. 😕&lt;&#x2F;p&gt;
&lt;p&gt;Im Enterprise-Umfeld hast du hoffentlich vertrauenswürdige DNS-Server, welche DNSSEC unterstützen. Zu Hause kannst du dir beispielsweise mit &lt;a rel=&quot;noopener noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;pi-hole.net&quot;&gt;Pi-hole&lt;&#x2F;a&gt; behelfen.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;voraussetzungen&quot;&gt;Voraussetzungen&lt;&#x2F;h2&gt;
&lt;p&gt;Wie schon geschrieben wird eine Validierung bis hoch zur TLD betrieben. Daher ist es wichtig, dass die benutzte TLD (z.B. &lt;strong&gt;.de&lt;&#x2F;strong&gt;, &lt;strong&gt;.com&lt;&#x2F;strong&gt; oder &lt;strong&gt;.cloud&lt;&#x2F;strong&gt;) DNSSEC unterstützt. Über eine Suche in der Suchmaschine deiner Wahl findest du diverse Listen. Keine scheint mir komplett bzw. aktuell zu sein. Im Zweifel direkt auf der Website der entsprechenden TLD informieren. Außerdem muss der Registrar, also die Organisation worüber du dir deine Domain registrierst und verwaltest, die Möglichkeit anbieten sogenannte &lt;strong&gt;DS&lt;&#x2F;strong&gt;-Einträge mit den entsprechenden Parametern setzen zu können.&lt;&#x2F;p&gt;
&lt;p&gt;Sind die Vorrausetzungen nicht erfüllt, dann ist DNSSEC nicht nutzbar. Bei dem Punkt Registrar hast du die Möglichkeit deine Domain auf einen anderen Registrar zu transferieren, welcher die entsprechende Unterstützung bietet.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;umsetzung&quot;&gt;Umsetzung&lt;&#x2F;h2&gt;
&lt;p&gt;Ich nutze fast ausschließlich das &lt;strong&gt;Azure Portal&lt;&#x2F;strong&gt; im Preview Modus unter &lt;a rel=&quot;noopener noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;preview.portal.azure.com&#x2F;&quot;&gt;https:&#x2F;&#x2F;preview.portal.azure.com&#x2F;&lt;&#x2F;a&gt;. Daher beziehen sich meine Beschreibungen auf die Ansichten dort. Die Aktivierung von DNSSEC ist in wenigen Schritten erledigt.&lt;&#x2F;p&gt;
&lt;p&gt;Gehe im Azure Portal auf die gewünschte DNS-Zone und wähle im Menü &lt;strong&gt;DNSSEC&lt;&#x2F;strong&gt;. Aktiviere die Checkbox und warte einen Moment. Es werden die &lt;strong&gt;DNSSEC delegation information&lt;&#x2F;strong&gt; angezeigt. Diese benötigst du, um über deinen Registrar den DS-Eintrag für die TLD zu erstellen. Für meine Domain &lt;strong&gt;korla.cloud&lt;&#x2F;strong&gt; benötigte ich &lt;strong&gt;Signing algorithm type&lt;&#x2F;strong&gt;, &lt;strong&gt;Public key&lt;&#x2F;strong&gt;, &lt;strong&gt;Key tag&lt;&#x2F;strong&gt;, &lt;strong&gt;Digest type&lt;&#x2F;strong&gt; und &lt;strong&gt;Key digest&lt;&#x2F;strong&gt;. Die benötigten Informationen können sich je nach TLD unterscheiden.&lt;&#x2F;p&gt;
&lt;p&gt;Übertrage die benötigten Daten bei deinem Registrar an die entsprechende Stelle. Bei meinem ging es bequem über das Webportal. Der Registrar hat mich beim Speichern darauf hingewiesen, dass die Verfügbarkeit in wenig dauern kann. Am Ende ging es aber recht fix, so dass schon nach kurzer Zeit unter DNSSEC Details der Status auf grün mit der Meldung &quot;Signed and delegation established&quot; zu sehen war. ✅&lt;&#x2F;p&gt;
&lt;h2 id=&quot;ergebnis&quot;&gt;Ergebnis&lt;&#x2F;h2&gt;
&lt;p&gt;Damit ist die Zone der Domain und die Einträge darin entsprechend signiert. Nachprüfen lässt sich das zum Beispiel mit dem Tool &lt;a rel=&quot;noopener noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;dnsviz.net&quot;&gt;DNSViz&lt;&#x2F;a&gt;. Dort gibst du deine Domain ein und kommst auf die Analyseseite der Domain. Möglicherweise kennt DNSViz deine Domain schon, dann musst du die Daten mittels &lt;strong&gt;Update now&lt;&#x2F;strong&gt; aktualisieren, um den aktuellen Stand zu sehen. 🙌&lt;&#x2F;p&gt;
&lt;h2 id=&quot;weiterfuhrende-links&quot;&gt;Weiterführende Links&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a rel=&quot;noopener noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;learn.microsoft.com&#x2F;en-us&#x2F;azure&#x2F;dns&#x2F;dnssec&quot;&gt;Azure Public DNS - DNSSEC&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Blog Kick-off</title>
        <published>2024-12-21T00:00:00+00:00</published>
        <updated>2024-12-21T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Kai Korla
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://korla.cloud/blog/blog-kick-off/"/>
        <id>https://korla.cloud/blog/blog-kick-off/</id>
        
        <content type="html" xml:base="https://korla.cloud/blog/blog-kick-off/">&lt;p&gt;In der Vergangenheit hatte ich diverse Versuche unternommen eine Website bzw. einen Blog online zu bekommen. Leider hat es sich wieder und wieder verzögert. Es sind halt oft andere Themen hoch „ge-ploppt“, welche eine höhere Priorität hatten – Familie, Job, Umzug.&lt;&#x2F;p&gt;
&lt;p&gt;Jetzt aber ist es endlich so weit: Tadaaaa! Hier ist die Version 0.9999…, also rund &lt;strong&gt;v1.0&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;

&lt;h2 id=&quot;die-wunschliste-aka-die-anforderungen&quot;&gt;Die Wunschliste aka Die Anforderungen&lt;&#x2F;h2&gt;
&lt;p&gt;Für meine Wunsch-Website hatte ich schon lange einige Eckpunkte im Kopf. Und mit der jetzigen technologischen Basis, kann ich alle meine Vorstellungen umsetzen. Nachfolgend werde ich dazu etwas tiefer eingehen. Zuerst meine &quot;must-have&quot;:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&quot;Happy User&quot;&lt;&#x2F;strong&gt; - mich. Das heißt ich möchte das Design einfach bearbeiten und vor allem Inhalt schnell und effektiv veröffentlichen können.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;&quot;Static&quot;&lt;&#x2F;strong&gt; und somit bewusst keine CMS, Blog-Software oder serverseitige Scripte. Kein PHP (oder ähnliches) und keine Datenbank. Einfach pures HTML + CSS + JS. Das erhöht die Sicherheit, die Performance, die Verfügbarkeit (weil beispielsweise ein effektives CDN möglich ist). Es ist wartungsarm, kosteneffizient und der Betrieb etwas &quot;grüner&quot;.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;&quot;Versioning&quot;&lt;&#x2F;strong&gt; bzw. &lt;strong&gt;&quot;Source Code Management&quot;&lt;&#x2F;strong&gt;, damit ich die Inhalte updaten kann und die Änderungen für immer und ewig nachvollziehen kann. Ich möchte an verschiedenen Dingen in verschiedenen Zweigen arbeiten, um sie später wieder zusammenzuführen.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;&quot;Responsive&quot;&lt;&#x2F;strong&gt; &amp;amp; &lt;strong&gt;&quot;Dark Mode&quot;&lt;&#x2F;strong&gt;. Die Website soll auf allen Geräten gut ausschauen, funktionieren und zugänglich sein. Außerdem möchte ich dem Besucher (und auch mir) die Freiheit lassen ob lieber ein heller oder ein dunkler Modus für die Anzeige benutzt wird.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;die-technik&quot;&gt;Die Technik&lt;&#x2F;h2&gt;
&lt;p&gt;Kurz: &lt;a rel=&quot;noopener noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;gohugo.io&quot;&gt;HUGO&lt;&#x2F;a&gt; + &lt;a rel=&quot;noopener noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;getbootstrap.com&quot;&gt;Bootstrap&lt;&#x2F;a&gt; + &lt;a rel=&quot;noopener noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;git-scm.com&quot;&gt;Git&lt;&#x2F;a&gt; + &lt;a rel=&quot;noopener noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;azure.microsoft.com&#x2F;en-us&#x2F;products&#x2F;app-service&#x2F;static&quot;&gt;Azure Static Web Apps&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;hugo-git&quot;&gt;HUGO (+ Git)&lt;&#x2F;h3&gt;
&lt;p&gt;Mit &lt;strong&gt;HUGO&lt;&#x2F;strong&gt;, einem Generator für statische Websites (SWG), sind die Anforderungen &quot;static&quot; und implizit Git bedient. Ich habe mir auch andere SWGs angeschaut, bin allerdings bei HUGO hängen geblieben: Multi-Plattform nativ, umfangreiche Dokumentation, aktive &amp;amp; freundliche Community, kann mit Modulen erweitert werten und es gibt diverse verfügbare Erweiterungen. Den Content kann mittels &lt;a rel=&quot;noopener noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;code.visualstudio.com&quot;&gt;Visual Studio Code&lt;&#x2F;a&gt; in Markdown erstellt und das ganze Projekt über ein Sourcecode-Management Tool, also &lt;strong&gt;Git&lt;&#x2F;strong&gt;, verwaltet. 👍&lt;&#x2F;p&gt;
&lt;h3 id=&quot;bootstrap&quot;&gt;Bootstrap&lt;&#x2F;h3&gt;
&lt;p&gt;Damit die Website halbwegs ansehnlich wird, benötigt es etwas CSS. Hier hatte ich die Wahl alles selbst zu stylen oder mir ein vorgefertigtes CSS-Framework zu suchen. Meine Wahl fiel auf &lt;strong&gt;Bootstrap&lt;&#x2F;strong&gt;. Zum einen hat es diverse built-in Features - z.B. unterstützt es &lt;a rel=&quot;noopener noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.w3schools.com&#x2F;css&#x2F;css_rwd_intro.asp&quot;&gt;Responsive Web Design&lt;&#x2F;a&gt; - und zum anderen habe ich mit Bootstrap in der Vergangenheit schon Erfahrungen sammeln können. Außerdem unterstützt es recht einfach einen hellen und einen dunklen Modus. 👌&lt;&#x2F;p&gt;
&lt;h3 id=&quot;azure-static-web-apps&quot;&gt;Azure Static Web Apps&lt;&#x2F;h3&gt;
&lt;p&gt;Auf &lt;strong&gt;Azure Static Web Apps&lt;&#x2F;strong&gt; werde ich nochmal in einem gesonderten Blog-Post eingehen. So viel sei gesagt: Es ermöglicht cloud-level Hosting der Website inkl. CDN &amp;amp; TLS-Zertifikat und das auch noch auf meinem Lieblings-Hyperscaler Microsoft Azure. In der Basisversion sogar kostenlos. 😅&lt;&#x2F;p&gt;
&lt;h2 id=&quot;das-fazit&quot;&gt;Das Fazit&lt;&#x2F;h2&gt;
&lt;p&gt;Läuft! Ich kann mit dem gewählten Tool-Stack meine Anforderungen erfüllen. Mit allen Details bin ich noch nicht 100 Prozent zufrieden, aber dafür ist es eine &quot;rund v1.0&quot;. Damit bleibt mir auch noch Raum zum Tüfteln und Tunen.&lt;&#x2F;p&gt;
</content>
        
    </entry>
</feed>
