de flag +1 214 306 68 37
Entwicklung eines auf Azure basierten Softwareprodukts für das Management von vCIO-Diensten

Entwicklung eines auf Azure basierten Softwareprodukts für das Management von vCIO-Diensten

Branche
Informationstechnologie, Softwareprodukte
Technologien
.NET, Cloud, Angular.js, Azure
Projektteam
1 Projektmanager, 1 Business Analyst, .NET-Entwickler und -Architekten, Ingenieure für die Testautomatisierung, DevOps-Ingenieure

Kunde

Der Kunde ist ein in den USA ansässiges Unternehmen, das Softwareprodukte und Trainings für Managed Services Provider (MSPs) anbietet.

Herausforderung

Der Kunde wollte ein SaaS-Produkt für Anbieter von virtuellen vCIO-Diensten (Chief Information Officer) liefern, das ihnen helfen musste, die Geschäftsprozesse ihrer Klienten zu automatisieren. Die .NET-basierte Software musste ein außergewöhnliches Kundenerlebnis anbieten, eine stabile Performance auch unter hoher Last gewährleisten und bei Bedarf problemlos skaliert werden können.

Der Kunde wollte das Softwareprodukt mit grundlegenden Funktionen schnell einführen und dann das Produkt um neue Funktionen durch häufige Updates erweitern, um die Loyalität seiner MSP-Klienten nicht zu verlieren.

Aus diesem Grund suchte der Kunde nach einem zuverlässigen Technologiepartner mit Erfahrung in der Entwicklung von komplexen, verteilten Cloud-nativen Anwendungen, der die gesamte Softwareentwicklung übernehmen könnte.

Lösung

Das funktionsübergreifende Team von ScienceSoft, das aus einem Projektmanager, einem Business Analysten, .NET-Entwicklern und -Architekten, Ingenieuren für die Testautomatisierung und DevOps-Ingenieuren bestand, wurde mit der Lieferung des neuen SaaS-Produkts beauftragt.

Das neue Softwareprodukt bestand aus einer Reihe von Tools, mit denen MSPs können:

  • Anpassbare Quarterly Business Reviews (QBRs) für Klienten erstellen und die Folgenabschätzung für vCIO-Dienste durchführen.
  • Strategien zur Servicebereitstellung für jeden Klienten verwalten.
  • Service-Initiativen und -Empfehlungen organisieren und digital präsentieren.
  • Online-Meetings mit Klienten durchführen.
  • Budgets verwalten.
  • Maßgeschneiderte IT-Standards etablieren und pflegen.
  • Auf ein strukturiertes Repository mit branchenspezifischen Compliance-Richtlinien zugreifen.
  • Kundenfeedback sammeln.
  • Für die SaaS-Nutzung zahlen.

Das Team stellte die einfache Integration in gängige MSP- und IT-Business-Management-Softwarelösungen von Drittanbietern wie ConnectWise, Autotask PSA, IT Glue und BrightGauge sicher, um den automatisierten Datenimport zu unterstützen.

Um eine hohe Verfügbarkeit, Fehlertoleranz, sichere und einfache Skalierung der komplexen SaaS-Anwendung auf Basis von Microservices sicherzustellen, hat das Team von ScienceSoft die Architektur des Produkts mit Azure Services erweitert. Das ermöglichte eine Service-Mesh-Schicht, einen Lastausgleich sowie eine automatisierte Bereitstellung und Verwaltung von Containern.

Um dem Kunden zu helfen, eine stabile Arbeit mit großer verteilter Software zu gewährleisten, lieferte unser Team eine Komponente zum Monitoring, die ein kundenspezifisches Audit-Modul sowie Funktionen von Grafana, Azure Application Insights, Kiali und Jaeger enthielt. Das Monitoring-Modul konnte:

  • Daten zu den Performance-Metriken für jede Komponente und maßgeschneiderten zweckgebundenen Logs sammeln.
  • Automatisch über bestimmte Ereignisse benachrichtigen.
  • Dabei helfen, ein bestimmtes Ereignis schnell in verschiedenen Architekturkomponenten und Tenants zu verfolgen, um die Ursache für das Problem zu ermitteln.
  • Die erhaltenen Metriken analysieren und eine zentrale Konsole mit interaktiven Dashboards zur Verfügung stellen, um den Zustand der gesamten Anwendungsinfrastruktur auf einfache Weise zu prüfen.

Um den Anforderungen des Kunden an häufige und zuverlässige Releases gerecht zu werden, hat das Team von ScienceSoft einen schlanken Prozess der Produktentwicklung mit integrierten agilen Methoden / Scrum- und DevOps-Techniken (Docker Containerization und Docker Compose, CI/CD) etabliert.

Um die Softwarebereitstellung weiter zu beschleunigen, verwendete das Team von ScienceSoft den proprietären IMAAT-Ansatz (Integrated Manual and Automated Testing), der auf einer ausgewogenen Kombination von automatisierten und manuellen Tests basiert. Das Team automatisierte die funktionalen Regressions- und Integrationstests sowie das Cross-Browser-Testing. Manuelle Tests wurden durchgeführt, um neu implementierte Funktionen und einmalige Runs schnell zu checken, und halfen Entwicklern dabei, nach Hotfixes Antworten schnell zu erhalten. Die Ingenieure für die Testautomatisierung haben kontinuierliche Tests in die CI-Pipeline (Continuous Integration) integriert, um die automatische Ausführung von Tests bei jeder neuen Änderung und sichere Nightly Builds zu ermöglichen.

Die kombinierte, professionell etablierte kontinuierliche Integration, Testing und Bereitstellung führten dazu, dass Releases mit neuen Funktionen und Updates nahezu kontinuierlich bereitgestellt werden konnten.

Ergebnisse

Dem Kunden gelang es, sein SaaS-Produkt rechtzeitig einzuführen und das Produkt regelmäßig durch die Implementierung neuer Funktionen zu aktualisieren. Die cloudbasierte Software bietet ein nahtloses modernes Erlebnis beim Management von vCIO-Diensten und kann den wachsenden Kundenstamm effizient bewältigen.

Technologien und Tools

SaaS-Entwicklung: .NET Core 3.1, C# 8; Angular 10, TypeScript 3.9, NgRx, MobX; Docker, Docker Compose; Istio; Ocelot API gateway (OSS); Nginx; Umbrella Management API; Entity Framework Core, Dapper; Grafana, Kiali, Jaeger; Chargify; Mailchimp mit Mandrill; Google Analytics, Appcues, ZenDesk.

Microsoft Azure Services: Azure Kubernetes, Azure Functions for Web Hooks, Azure Service Bus, Azure SQL Database, Azure Table Storage, Azure Blob Storage, Azure SignalR, Azure Application Insights, Azure App Service, Azure Container Registry, Azure Key Vault, Azure API Management, Azure Pipelines, Azure Virtual Machines (VM).

QS: xUnit; nUnit (C#), Jasmine (TypeScript), Selenium (TypeScript).