Technische Informationen

Was es alles für eine Website wie diese braucht ...

Die Site ist zwar klein, aber benötigt doch ziemlich viel Infrastruktur.

Für die Programmierung

VisualStudio 2019

Die umfassende IDE für Programmierer. VisualStudio ist für kleine Teams und OpenSource Projekte kostenlos. Weitere Infos

C# 8

Die neueste Version von C# bietet Nullable Reference Types und viele weitere Verbesserungen.

Blazor Server side

VisualStudio Code

Dieser Editor ist ausserordentlich vielseitig. Dank Roslyn-Technologie und IntelliCode bietet er integriertes Debugging und Code Completion, Code Lens usw. für diverse Programmiersprachen - auch für Java! Ausserdem ist Git integriert, es funktioniert plattformübergreifend, ist weitestgehend anpassbar, bestens in WSL (Windows Service for Linux) integriert, und, und, und ...

VS code löst offiziell die PowerScript ISE ab, die ab PowerShell 6 nicht mehr unterstützt wird

Azure Data Tools ist ein angepasster VS code und ist Ersatz für SSMS (SQL-Server Management Studio)

VS code ist kostenlos. Weitere Infos

Azure DevOps

Azure DevOps Repos (Git)

Azure DevOps bietet sehr gute Projektverwaltung und Git Repositories

Azure DevOps Pipelines

Azure DevOps CI/CD Pipelines bieten flexible Funktionen für automatisches Kompilieren, automatische Unittests und automatisches Veröffentlichen von Programmen.

Markdown

Text auf dieser Site ist oft mit Markdown verfasst. Hierfür habe ich eigens einen TagHelper geschrieben und damit Markdig integriert.

Bulma

Als CSS-Framework wird Bulma verwendet. Bulma besticht durch Klarheit und Einfachheit. Es ist frei von JavaScript und JQuery. Die in den Projektvorlagen von Microsoft enthaltenen Bootstrap und JQuery wurden entfernt.

Für den Betrieb

Azure App Service

Die Site wird auf Microsoft Azure gehostet.

App Service Identity

Ermöglicht Zugriff auf Azure SQL-Databases ohne Benutzer/Passwort im ConnectionString

Azure Functions

Das Kontaktformular und die Kommentare erfordern einen Prozess für Verifizierung und Freigabe. Dies lässt sich gut mit Azure Functions bewerkstelligen. Vorallem Durable Functions sind hier zentral. Durable Functions sind Azure Functions die länger dauern können.

Ebenso sind die regelmässigen Erneuerungen der Let'sEncrypt Zerifikate mit Azure Functions umgesetzt worden.

Azure Logic Apps

Azure Logic Apps werden zusammen mit Azure Functions verwendet um Hintergrundaufgaben zu erledigen.

Azure SQL-Databases

Nur noch wenige CMS Daten werden in einer Azure SQL Database gespeichert. Für diese Website ist das Ziel, komplett auf eine SQL-Datenbank zu verzichten und stattdessen auf ein NoSQL Datenbank (Azure CosmosDB) zu setzen.

Azure CosmosDB

CMS Daten werden für erhöhte Flexibilität zum Teil in Azure CosmosDB gespeichert.

Azure Active Directory

Verwaltung von Berechtigungen in Azure App Services, Benutzern und Azure SQL-Databases und untereinander

Azure Active Directory B2C

Verwaltung von Zutrittsrechten für Benutzer.

Azure App Configuration

Azure App Configuration zentralisiert die Konfigurationsdaten für Applikationen. Für sichere Speicherung von Schlüsseln und Passwörtern wird im Hintergrund Azure Key Vault verwendet.

Azure Key Vault

Zur sicheren Ablage von Sicherheitskritischen Informationen wie Passwörter wird Azure Key Vault verwendet.

Azure Application Insights

Mit Azure Application Insights lassen sich Analysedaten ermitteln und Fehler verfolgen.

Domainname

Die Domäne dschmid.software wird bei Infomaniak gehostet und wird für Mail Dienste und unter anderem auch in Azure App Services sowie Azure AD verwendet. Infomaniak ist ein Schweizer Hoster mit vielfältigen Angeboten von hoher Qualität.

Let's Encrypt

SSL Zertifikate werden mit let's encrypt generiert. Azure bietet eine taugliche Integration von let's encrypt in App Services.

Mailchimp

Der Newsletter wird in Mailchimp verwaltet.