DevOps

Wir sind Ihr Partner, wenn es um die Implementierung von DevOps-Prozessen geht. So können sich Entwickler- und Betriebsteams ganz auf ihre Kernaufgaben konzentrieren.

DevOps

Microservices

Die Anforderungen an die Software-Entwicklung und an den Betrieb moderner IT-Systeme haben enorm zugenommen. Der Komplexitätsgrad von Systemen ist heute oftmals so hoch, dass die klassischen Formen der Weiterentwicklung und Anpassung kommerziell kaum noch zu rechtfertigen sind. Selbst kleinere bis mittelgroße Änderungen werden schnell zu aufwendigen und damit kostenintensiven Projekten.

Eine Lösung für dieses Problem bietet der Einsatz von Microservices als Standard. Komplexe Anwendungssoftware lässt sich so aus unabhängigen Prozessen modular aufbauen – mit dem großen Vorteil, dass neue Funktionen und Dienste viel flexibler, schneller und ökonomischer bereitgestellt werden können.

Containerisierung

Monolithische Back-Ends, die dedizierte Infrastruktur benötigen, werden zunehmend abgelöst durch modulare Komponenten, die Ressourcen besser nutzen – und die flexibler zu betreiben sind. Containerisierung ist hierfür ein entscheidender Faktor. mvneco verwendet Container, um Module des Gesamtsystems zu kapseln, in Form von Microservices bereitzustellen und die Infrastruktur langfristig erweiterbar zu gestalten.

Entscheidend dabei: Unsere Systeme sind immer so konzipiert, dass sie jederzeit im eigenen Rechenzentrum oder in einer Public Cloud wie z.B. GCP (Google Cloud), AWS (Amazon Cloud) oder Azure (Microsoft Cloud) betrieben werden können, ganz nach Kundenpräferenz. Typische eingesetzte Werkzeuge sind Docker und Kubernetes.

Versionsverwaltung

Wir verwenden Continuous Integration und Continuous Delivery Pipelines, um den Softwareentwicklungs- und Bereitstellungsprozess zu optimieren und schneller flexible Lösungen bereitstellen zu können.

Sowohl der Quelltext als auch der Infrastrukturcode werden in einem gemeinsamen Versionsverwaltungssystem gemanagt und von allen beteiligten Teams gemeinsam genutzt bzw. gepflegt. Mit diesem System gibt es jederzeit Transparenz über den aktuellen Stand jeder Umgebung – wie auch über den Status zu jedem Zeitpunkt in der Vergangenheit.

Automatisierung

Durch den Einsatz von modernen Technologien und der Cloud sind viele Entwicklungsprozesse vollständig automatisiert. So gehören manuelles Übersetzen und Liefern von Software durch die Entwickler der Vergangenheit an. Sie können sich somit ganz auf ihre Kernaufgabe, das Coding, konzentrieren.

Wir stellen automatisierte Pipelines bereit, um aus dem von den Entwicklern gelieferten Sourcecode und dem Infrastrukturcode mehrmals täglich aktualisiert lauffähige Systeme zu erzeugen und zu deployen. Der automatisierte Build-Prozess führt hierbei Regressionstests durch und prüft auf bekannte Sicherheits-Schwachstellen.

Für die Automatisierung der Prozesse steht bei uns ein eigenes Team bereit, das in enger Abstimmung mit den Entwickler- und Betriebsteams arbeitet.

Monitoring

Unser Monitoring ermöglicht es dem Betrieb, schnell und automatisch auf jeden Vorfall zu reagieren. So können wir unseren Kunden zeitnah helfen. Alle wesentlichen Services werden durchgängig automatisch auf Verfügbarkeit geprüft und die entstehenden Logfiles kontinuierlich überwacht. Zeigen sich fehlerhafte Komponenten, wird der Verkehr automatisch auf funktionstüchtige alternative Container umgeleitet und durch Alarming sofort die Fehlerbehebung eingeleitet. Das bietet höchste Servicesicherheit und jederzeitige Transparenz.

Auf dieser Basis können verlässliche Service Level Vereinbarungen (SLAs) getroffen und immer transparent berichtet werden.