Projekt

Corporate Website

Die Corporate Website von Hardin Software basiert auf dem Hugo CMS. Der Quellcode, die Infrastruktur und die CI/CD-Pipelines wurden ursprünglich bei Amazon Web Services verwaltet. Obwohl das sehr gut funktionert hat, sind mittlerweile GitHub und Cloudflare im Einsatz.

Die Corporate Website basiert auf Hugo, einem statischen Website-Generator, der in der Programmiersprache Go geschrieben ist. Hugo ist ein sehr leistungsfähiges Content Managment Werkzeug, das in Sekundenbruchteilen aus dem Quellcode eine komplette auslieferbare Website erzeugen kann.

Die statischen Texte der Website werden in Text-Dateien im Markdown-Format erfasst. Markdown ist eine leichtgewichtige Auszeichnungssprache mit einer Syntax zur einfachen Textformatierung. Das Frontend bzw. das Layout der Website basieren natürlich auf HTML, CSS, JavaScript sowie auf Bootstrap, einem Framework, das die Entwicklung responsiver Websites vereinfacht, die sich flexibel an verschiedene Bildschirmgrößen anpassen.

Der Quellcode und die statischen Inhalte der Corporate Website wird in einem Git Repository verwaltet. Erfolgt eine Änderung an einer oder mehreren Dateien, dann wird automatisch eine Continuous Build, Delivery & Deployment Pipeline in Gang gesetzt. Diese CI/CD-Pipeline generiet mit Hilfe von Hugo die auslieferbare Website und lädt sie in einen Amazon S3 Bucket hoch. Von dort aus wird sie auf einen virtuellen Server übertragen, der die Website online zum Abruf bereitstellt.

Ursprünglich wurde Amazon CloudFront im Zusammenspiel mit Amazon Route 53, Certificate Manager und Lambda@Edge verwendet, um die Website mit gesicherter TLS-Verbindung im Internet zu veröffentlichen. Amazon CloudFront ist ein schneller CDN-Service (Content Delivery Network), der Daten, Videos, Anwendungen und APIs sicher, mit niedriger Latenz, hoher Übertragungsgeschwindigkeit und innerhalb einer entwicklerfreundlichen Umgebung an Kunden auf der ganzen Welt liefert. Das Git Repository wurde mit AWS CodeCommit verwaltet und für die Build Pipeline wurde AWS CodePipeline verwendet.

Aus strategischen Gründen und aufgrund einer veränderten Marktsituation wurden später einige technische Umstellungen in der Infrastruktur vorgenommen. Der Quellcode wurde von AWS CodeCommit zu GitHub migriert. Die Build Pipeline wurde von AWS CodePipeline auf GitHub Actions umgestellt. Das Content Delivery Network wurde von Amazon CloudFront auf Cloudflare umgestellt, ebenso der DNS-Service und die Zertifikatsverwaltung. Auch Cloudflare bietet einen CDN-Service an, der langlebige Dateien und Bilder der Website weltweit auf Servern von Cloudflare in der Nähe der Benutzer verteilt, um dadurch die Zugriffszeit auf die Website so gering wie möglich zu halten.

Sowohl die Lösung auf Basis von Amazon Web Services als auch auf Basis von Cloudflare haben sich als sehr zuverlässig und zufriedenstellend erwiesen. Für welchen Cloud Computing Anbieter man sich sinnvollerweise entscheiden sollte, lässt sich meiner Meinung nach nicht pauschal beantworten. Daher mochte ich an dieser Stelle keine abstrakte Empfehlung für einen Cloud Computing Anbieter aussprechen. Dazu sollte man besser den Einzelfall analysieren und strategische Ziele berücksichtigen. Dabei ist auch zu bedenken, dass sich das technische Angebot am Markt ständig verändert und sich dabei aus Sicht des Kunden in der Regel auch insgesamt verbessert.

Consultant

Roy Hardin

Themen

Content Management, Content Delivery Network, Responsive Design, Frontend, Backend, World Wide Web

Beitrag

Anforderungsanalyse, Softwarearchitektur, User Experience Design, Programmierung, DevOps

Softwarearchitektur

Client-Server

Programmiersprachen

Go, JavaScript

Markup- und Stylesheet-Sprachen

HTML, CSS, Markdown

Web Frameworks

Bootstrap, jQuery

Content Management System

Hugo

Cloud

Cloudflare, Hetzner Cloud, Amazon Web Services

DevOps

GitHub, Git, Bash, Linux, Nginx

Amazon Web Services

Amazon S3, Amazon CloudFront, Amazon Route 53, AWS Certificate Manager, AWS CodePipeline, AWS Lambda