Projekt

Corporate Website

Die Corporate Website von Hardin Software basiert auf Go, Hugo, Docker, Kubernetes und Cloudflare. Der Quellcode wird mit Git verwaltet. Der Workflow für den Build und die Bereitstellung der Anwendung basiert auf Skaffold.

Das Frontend bzw. das Layout der Website basieren klassisch auf HTML, CSS, JavaScript sowie auf Bootstrap, einem Framework, das die Entwicklung responsiver Websites vereinfacht. Die Texte der Corporate Website sind als Text-Dateien im Markdown-Format erfasst. Markdown ist eine leichtgewichtige Auszeichnungssprache mit einer Syntax zur einfachen Textformatierung.

Aus dem Frontend, den Text- und Medien-Dateien erzeugt Hugo die statischen Seiten der Corporate Website. Hugo ist ein statischer Website-Generator. Eine in Go implementierte Web-Anwendung reichert die generierten statischen Inhalte der Corporate Website mit dynamischen Inhalten an und stellt die Corporate Website zum Abruf bereit.

Der Quellcode der Corporate Website wird in einem Git Repository verwaltet. Ein Workflow auf Basis von Skaffold generiert die statischen Dateien, kompiliert die Go -Anwendung, containerisiert die Anwendung dann mit Hilfe von Docker und liefert sie anschließend in einem Kubernetes Cluster aus.

Cloudflare ruft die Website aus dem Kubernetes Cluster ab, verteilt langlebige statische Dateien und Bilder weltweit auf den Servern in seinem Edge Netzwerk in der Nähe der Benutzer und hält dadurch die Zugriffszeit der Benutzer auf die Corporate Website so gering wie möglich. Cloudflare sichert außerdem die Corporate Website gegen viele Arten von Angriffen ab.

Früher wurde die Corporate Website auf Basis von Amazon Web Services implementiert und bereitgestellt, d. h. mit Hilfe von Amazon CloudFront im Zusammenspiel mit Amazon Route 53, Certificate Manager, [email protected] und S3. Das Git Repository wurde damals mit AWS CodeCommit verwaltet und für die Build Pipeline wurde AWS CodePipeline verwendet.

Die alte Lösung auf Basis von Amazon Web Services war technisch zuverlässig und zufriedenstellend, allerdings bewerte ich die Kalkulation und Überwachung des Entgelts für Dienstleistungen von Amazon Web Services für meine Zwecke als zu komplex und zu risikoreich.

Als eine Ablehnung von Amazon Web Services muss man diese Entscheidung nicht verstehen, insbesondere nicht als Kritik an den von AWS bereitgestellten technischen Dientleistungen. Für welchen Cloud Dienstleister man sich entscheiden sollte, lässt sich nicht leicht beantworten. Dazu muss man den Einzelfall analysieren, strategische Ziele, das vorhandene Budget, das vorhandene Personal und dessen Kenntnisse, den aktuellen Stand der Technik, sonstige Rahmenbedingungen und das Angebot am Markt berücksichtigen.

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

Go Technologien

Cobra, Echo, Viper

Markup- und Stylesheet-Sprachen

HTML, CSS, Markdown

Web Frameworks

Bootstrap, jQuery

Content Management System

Hugo

Cloud

Cloudflare, Amazon Web Services

DevOps

Kubernetes, Docker, Skaffold, Git, Bash