Software Architektur- und ALM Bewertung

ALM - Entwicklungs- und / oder Betriebsprozesse

Durch die Erfahrung aus diversen Projekten und dem Know-how zeitgemässer Best Practices können wir sagen, eine Optimierung von Prozessen verbessert nicht nur das Projektbudget, sondern vor allem auch die Qualität der Software. Durch die Erstellung eines ALM Konzeptes und durch die gezielte Einführung oder Optimierung einer DevOps-Kultur, können Teams besser auf die Anforderungen ihrer Kunden reagieren, das Vertrauen in ihre eigenen Anwendungen steigern und Geschäftsziele schneller erreichen.

Architektur

Angelehnt an den ATAM-Prozess (Architecture tradeoff analysis method) werden in Workshops mögliche Risiken identifiziert und daraus Vorschläge für Optimierungen der Architektur erarbeitet. Durch unser Know-how im Bereich Azure und Microsoft 365 können wir Sie über den Einsatz von SaaS, PaaS oder IaaS Ressourcen optimal beraten. Gerne helfen wir Ihnen auch bei der Application Transformation (App Trans) in die Azure Cloud oder bei der Containerisierung (Docker) Ihrer Software.

Software Architektur für moderne Lösungen – Greenfield

Azure-Native

Geschicktes Nutzen von Azure Ressourcen in Kombination mit Microsoft 365 PaaS / SaaS Diensten bietet eine solide, flexible und wirtschaftliche Software Architektur – angepasst und optimiert auf ihre Bedürfnisse.

Container

Solls noch flexibler sein? Planen Sie den Bau eines Produktes, welches unabhängig des Cloud-Anbieters oder auch OnPremise gehostet werden soll? Container (z.B. Docker) bieten Ihrer Software ein Stück Unabhängigkeit. Aber nicht nur dies ist ein Vorteil von Container-Lösungen. Im Handumdrehen sind neue (Test-)Umgebungen geschaffen und auch die Service-Umgebungen lassen sich einfach überwachen, steuern und skalieren. Zudem gibt es auch hier viele vorgefertigte Services, die darauf warten, eingesetzt zu werden. 

Infrastructure as Code (IaC), Configuration as Code (CaC) - Immer die passende Umgebung zum passenden Code-Stand

Automatisiert die Umgebung (Infrastruktur) zu provisionieren ist ein wichtiger Bestandteil des Entwicklungsprozesses. Die Anzahl der Umgebungen wachsen in den meisten Projekten. Die Notwendigkeit von Test-Umgebungen aus verschiedenen Code-Branches ist in den meisten Fällen unumgänglich. Ebenso hilft es, für jeden Entwickler eine entsprechende Entwicklungsumgebung zur Verfügung zu stellen. Eine vollautomatisierte Provisionierung hilft, identische Bedingungen zu garantieren und neue Umgebungen zu schaffen oder beschädigte Umgebungen neu aufzusetzen. 
Die Konfiguration der Services, sowie das Build- und Release Management sollen immer auf den aktuellen Code und die Zielumgebung passen. Beispielweise hat die benutze Version des verwendeten Frameworks Einfluss auf das Build-Management, ein neues Feature benötigt weitere Konfigurationselemente oder der Connection-String zur Datenbank ist beim Testsystem ein Anderer. Das Zusammenspiel der Konfigurationselemente aus dem Source Code und dem Steuern der Konfigurationswerte aus dem Build- und Releasemanagement schafft die Voraussetzung verschiedene Umgebungen automatistiert zu betreiben. Gerne teilen wir unsere Erfahrungen mit Azure DevOps in diversen Projekten mit Ihnen.

 

Vorgehen

Software-Architekturen sind sehr individuell. Es gibt keinen Standard. Um trotzdem strukturiert vorzugehen, erstellen wir ein Software Architektur Dokument (SAD) nach arc42. In diesem Dokument halten wir unter anderem relevante Anforderungen, Qualitätsziele, Entscheidungen und Modelle fest. Hierbei gilt: Weniger ist mehr.

Gerne helfen wir Ihnen bei der Findung einer idealen Variante und begleiten Sie bei der Implementierung des Codes und des Prozesses.

 

Stack und Spezialisierung

Die novaCapta ist spezialisiert auf den Microsoft Stack und bietet dabei Erfahrungen aus zahlreichen Projekten mit dem Wissen aus rund 60 Köpfen, verteilt in der Schweiz und in Deutschland. Auch wenn die Microsoft Palette nicht ausreicht oder andere Ressourcen für gewisse Projekte idealer sind, halten wir stets den Fokus offen und suchen die beste Lösung.

Zeitgemässe (Microservice-)Architekturen, unterstützt von Ressourcen der Azure Cloud kombiniert mit dem Erfahrungsschatz und der Möglichkeit ein Team nach Belieben zu skalieren, macht die novaCapta für Sie zum idealen Partner.

Hier finden sie einen technologische Auszug aus dem Stack, auf welchem wir uns bewegen:

 

Frameworks

  • .NET Core / .NET Framework
  • ASP.NET Core
  • WPF
  • Angular
  • React

Persistenz

  • Azure SQL
  • Cosmos DB
  • Mongo DB
  • Azure Blob Storage  / Azure File Storage

Integration,  MOM, Message Broker

  • Azure Event Grid
  • Azure Service Bus
  • Azure API Management

Security

  • Azure Key Vault
  • Azure AD / Azure AD B2C
  • Keycloak
  • Protokolle (OpenID Connect, SAML, OAuth)
  • Role Based Access Control (RBAC)

Microsoft 365

  • Microsoft Graph
  • Azure Resource Manager (ARM-API)
  • Microsoft Logic Apps
  • Azure Functions

Gateways / Reverse Proxies

  • Traefik
  • Nginx
  • Keycloak Gatekeeper

Monitoring / Tracing

  • Application Insights

Hosting

  • Azure App Services
  • Static WebSites (Azure Blobstorage)
  • CDN
  • IaaS - Docker Swarm Mode
  • Azure Container Services (ACS)

Scripting

  • Azure CLI
  • Azure PowerShell
  • PowerShell Core
  • PnP
  • Bash / Sh

CI / CD

  • Azure DevOps
  • Azure Container Registry

Sie möchten uns und unsere Leistungen näher kennenlernen?

Hinterlassen Sie einfach Ihre Kontaktdaten, wir werden uns schnellstmöglich mit Ihnen in Verbindung setzen. 

Wir verwenden die von Ihnen an uns gesendeten Angaben nur, um auf Ihren Wunsch hin mit Ihnen Kontakt im Zusammenhang mit Ihrer Anfrage aufzunehmen. Alle weiteren Informationen können Sie unseren Datenschutzhinweisen entnehmen.

* Pflichtfelder