mindsquare.de durchsuchen

Continuous Delivery

Sie brauchen einen Continuous Delivery Berater und/oder möchten, dass wir Ihnen unser Angebot in diesem Umfeld vorstellen?

Lewin Böhlke
22. Oktober 2021

Continuous Delivery (kurz CD, zu Deutsch: kontinuierliche Auslieferung) bezeichnet eine Sammlung von Technologien, Prozessen und Tools, die kurze Entwicklungszyklen und eine schnelle Auslieferung von Software-Updates auf produktive Endsystemen ermöglichen. Als Teil einer CI/CD-Pipeline basiert CD auf Continuous Integration und verbessert den Auslieferungsprozess von Software durch Automatisierung. So können Unternehmen ihren Kunden releasefähige Software mit minimalem Aufwand bereitstellen.

Was ist Continuous Delivery?

Continuous Delivery ist ein Konzept der agilen Software-Entwicklung, welches auf dem DevOps– bzw. DevSecOps-Ansatz basiert und eine Erweiterung von Continuous Integration darstellt.

Anders als traditionelle Entwicklungsmodelle wie bspw. das Wasserfallmodell setzen Entwicklungsverfahren mit Continuous Delivery auf iterative Entwicklungsprozesse. Das bedeutet, Phasen wie Development, Testing, Feedback, Qualitätssicherung und Auslieferung durchlaufen sich wiederholende Schleifen mit einem hohen Grad an Automatisierung. So wird die Anwendung in vielen kurzen Zyklen kontinuierlich um neuen Code erweitert, welcher durch automatische Testverfahren unverzüglich auf Kompatibilität geprüft wird. Dieser Ansatz wird als „Shift Left Testing“ bezeichnet und ermöglicht es Entwicklern, ihren Code zu verbessern, bevor sie sich anderen Aufgaben widmen.

Dieses Zusammenspiel agiler Entwicklungsmethoden wird auch als CI/CD-Pipeline bezeichnet, in der Continuous Integration als maßgebliches Werkzeug zum Einsatz kommt und durch Continuous Delivery bzw. Continuous Deployment ergänzt wird.

Continuous Integration, Continuous Delivery und Deployment

Die 3 Begriffe beschreiben die Automatisierung von wiederkehrenden Tätigkeiten in der Softwareentwicklung.

Einsatz & Nutzen von Continuous Delivery

Konkret sorgt Continuous Delivery in der CI/CD-Pipeline dafür, dass der Code eines Entwicklers nach dem Durchführen von Einheits- und Integrationstests automatisch freigegeben und in das Quellcode-Repository hochgeladen wird.

Dort steht er dem Operations-Team zur Verfügung und kann für die Live-Produktivumgebung bereitgestellt werden. Ziel von Continuous Delivery ist, dass das zentrale Repository jederzeit in einer Produktivumgebung bereitgestellt werden kann, wodurch die Implementierung neuen Codes mit minimalem Aufwand quasi auf Knopfdruck ermöglicht wird. Durch die Automatisierung des Integrationsprozesses werden also schnelle, zuverlässige und wiederholbare Deployments ermöglicht.

Zum einen werden Entwicklungszyklen dadurch effizienter gestaltet, etwa indem DevOps-Teams ihre Software-Komponenten in kurzen Intervallen über inkrementelle Updates ausliefern können, während weiterhin am Endprodukt gearbeitet wird. Gleichzeitig erhalten Entwickler über die Pipeline konstant Testergebnisse und Feedback zu ihrem Code, wodurch dieser gezielt angepasst und verbessert werden kann.

Zum anderen profitieren auch Kunden von diesem Vorgehen: Sie erhalten bereits vor Fertigstellung des Endprodukts funktionsfähige Features der Anwendung, bspw. zu Test- oder Demozwecken. Diese Anwendungskomponenten können dann auf Funktionalität und Benutzerakzeptanz geprüft werden. Das daraus resultierende Feedback wird direkt an die Entwickler geleitet und trägt zur Verbesserung der Softwarequalität bei.

Under E-Book zum Thema: Was ist DevOps

E-Book: Was ist DevOps (development & operations)?

In diesem E-Book erfahren Sie mehr über DevOps und ob es für Ihr Unternehmen sinnvoll ist.

Voraussetzungen für Continuous Delivery

Continuous Delivery verfolgt das Ziel, die Freigabe von Produktversionen zu beschleunigen und Schwierigkeiten bzw. Verzögerungen bei Build-, Testing- und Deployment-Prozessen zu minimieren.

Für die Umsetzung von Continuous Delivery muss allerdings eine auf Continuous Integration basierende Pipeline mitsamt den dafür benötigten Technologien (wie z. B. ein zentrales Code-Repository oder ein konfigurierter Test- und Build-Server) eingerichtet werden. Ergänzend dazu bedarf es der Automatisierung von Freigabestrukturen für die Software bis zur Produktionsumgebung. Schließlich muss der zentrale Master-Branch im Repository einer Software stets releasefähigen Code enthalten, damit jede Anwendungsversion in der Versionsverwaltung zu jeder Zeit lieferbar ist.

Konkret sind folgende Schritte zu befolgen, um eine gut strukturierte CI/CD-Pipeline für einen verkürzten Build-Test-Deployment-Zyklus aufzubauen:

  • Planning: Planung der nächsten Iteration bzw. des nächsten Entwicklungssprints.
  • Coding: Programmierung neuer Funktionen.
  • Building: Erzeugung einer neuen Anwendungsversion.
  • Testing: Automatisiertes Testen der neuen Anwendungsversion.
  • Release: Freigabe der neuen Anwendungsversion.
  • Deployment: Verteilen der neuen Anwendungsversion an Endnutzer (automatisiert beim Einsatz von Continuous Deployment)
  • Operation: Betrieb der neuen Anwendungsversion.
  • Monitoring: (automatisierte) Kontrolle zur Funktionalität der neuen Anwendungsversion.

Entwickler, die an herkömmliche Entwicklungsmodelle mit längerer Zyklusdauer gewöhnt sind, müssen sich in neue Prozesse und die Abläufe der CI/CD-Pipeline einarbeiten und berücksichtigen, dass ihre Code-Commits jederzeit für einen Kunden freigegeben werden können. Dazu bedarf es einer auf CD ausgerichteten Anpassung des Vorgehens beim Code-Branching – zusätzlich können Methoden wie Feature Toggles sinnvoll sein, um Code frühzeitig zu commiten, auch wenn dieser noch nicht bereit für den Einsatz beim Endnutzer ist.

7 Schritte zum ersten erfolgreichen DevOps Projekt

7 Schritte zum ersten erfolgreichen DevOps Projekt

In regelmäßigen Feedbackschleifen Fehler beheben und das Risiko eines fehlerhaften Endproduktes minimieren.

https://mindsquare.de/knowhow/continuous-integration/

Architektur der Software

Voraussetzung für einen erfolgreichen Umstieg auf eine CI/CD-Pipeline mit agilen Entwicklungszyklen ist also der Aufbau einer geeigneten technologischen Infrastruktur sowie die Bereitschaft aller Teammitglieder, die Abläufe der neuen Entwicklungs- und Bereitstellungsverfahren einzuhalten.

Zusätzlich dazu müssen Entwickler beim Erstellen ihres Codes darauf achten, dass die Software eine Reihe von architektonisch bedeutsamen Anforderungen (architecturally significant requirements – kurz ASRs) erfüllt, damit Continuous Delivery effektiv praktiziert werden kann. Zu diesen Merkmalen zählen Bereitstellungsfähigkeit (Deployability), Modifizierbarkeit (Modifiability) und Testbarkeit (Testability).

Entwickler nutzen oftmals Microservices, um die Architektur komplexer Software-Systeme so zu gestalten, dass die nötigen Anforderungen erfüllt werden. So können kleine, inkrementelle Veränderungen leichter durchgeführt werden, was den gesamten Prozess bis zur Bereitstellung vereinfacht und verkürzt.

DevOps & die CI/CD-Pipeline

Die Begriffe DevOps, Continuous Integration, Continuous Delivery und Continuous Deployment sind eng miteinander verbunden, daher kommt es häufig zu Missverständnissen bzgl. ihrer konkreten Einsatzweisen. In diesem Abschnitt soll daher das Verhältnis der einzelnen Konzepte noch einmal deutlich aufgezeigt werden.

DevOps beschreibt eine ganzheitliche Unternehmenskultur, die darauf abzielt, eine transparente Zusammenarbeit der Bereiche Entwicklung (Development) und Betrieb (Operations) zu ermöglichen. Durch Automatisierung, angepasstes Plattformdesign und die offene Kommunikation von Projektbeteiligten werden Entwicklungsprozesse mithilfe einer CI/CD-Pipeline verbessert und die Bereitstellung einer qualitativ hochwertigen Anwendung erleichtert.

DevOps dient also als kulturelle Basis für agile Entwicklungsmethoden, bei denen Teams, die herkömmlicherweise unabhängig voneinander agieren, nun enger zusammenarbeiten und einen offenen Austausch pflegen. Als Basis der agilen Software-Entwicklung legt Continuous Integration den Grundstein für dieses Konzept und mündet in Continuous Delivery bzw. Deployment, sobald es um die Bereitstellung und Auslieferung neuentwickelter Anwendungskomponenten geht.

Continuous Integration & Continuous Delivery

Continuous Delivery baut unmittelbar auf Continuous Integration auf, weshalb das Zusammenspiel dieser beiden Verfahren oftmals als CI/CD abgekürzt wird. Dabei ist zu beachten, dass CI den Fokus auf den Entwicklungsprozess selbst richtet: Entwickler programmieren modulare Code-Komponenten einer Anwendung, verifizieren deren Funktionsfähigkeit und Kompatibilität mittels automatisierter Tests und laden sie anschließend in ein zentrales Quellcode-Repository hoch.

Continuous Delivery erweitert dieses Konzept, indem es die Durchführung von Einheits- und Integrationstests automatisiert und fehlerfreien Code automatisch in die Quellcode-Basis einfügt. Dort steht er dem Operations-Team zur Verfügung und kann für die Live-Produktivumgebung bereitgestellt werden.

Continuous Delivery & Continuous Deployment

Continuous Deployment stellt eine weitergehende Form von Continuous Delivery dar. Die zwei Ansätze unterscheiden sich hauptsächlich in der Art der Software-Bereitstellung: Diese findet entweder manuell (Continuous Delivery) oder automatisch (Continuous Deployment) statt.

Das bedeutet, bei Continuous Delivery wird die Software zwar automatisch auf ihre Funktionsfähigkeit getestet und in das Quellcode-Repository hochgeladen, allerdings muss das Betriebsteam sie von dort noch manuell auf die Produktivumgebung veröffentlichen.

Bei Continuous Deployment wird dagegen auch der Schritt zur Auslieferung der Software an den Endkunden automatisiert. Um dies fehlerfrei und ohne Sicherheitsrisiken zu ermöglichen, müssen Entwicklungs- und Testverfahren entsprechend angepasst und mit äußerster Sorgfalt durchgeführt werden – schließlich wird jede Code-Änderung direkt in die Produktivumgebung des Endkunden übernommen.

Dieses Vorgehen dient zur zusätzlichen Beschleunigung der Anwendungsbereitstellung und wirkt der Überlastung von Operations-Teams entgegen, indem die Menge benötigter manueller Prozesse reduziert wird.

Vergleich Continuous Delivery & Continuous Deployment

Vergleich von Continuous Delivery & Continuous Deployment

Zusammenspiel in der CI/CD-Pipeline

Software-Unternehmen setzen zunehmend auf den DevOps-Ansatz und nutzen CI/CD-Pipelines, um agile Entwicklungsmethoden und vereinfachte Verfahren zur Bereitstellung von Anwendungen zu fördern. Eine solche CI/CD-Pipeline umfasst mehrere sich wiederholende Phasen, in denen möglichst viele Entwicklungs-, Bereitstellungs- und Testprozesse automatisiert stattfinden. Zum einen werden Teams entlastet und das Risiko menschlicher Fehler wird minimiert, wodurch sich die Produktqualität erhöht. Zum anderen wird so die erforderliche Zeit für Entwicklungszyklen und die Auslieferung der Software reduziert.

Die Basis von CI/CD-Pipelines stellt Continuous Integration dar: Dieses Verfahren ist maßgeblich für das Überwachen und Testen neu entwickelten Codes, bevor dieser in das zentrale Quellcodeverzeichnis übertragen wird.

Ergänzend dazu kommt Continuous Delivery zum Einsatz: Ist der geschriebene Code kompatibel und besteht alle Testverfahren, wird er automatisch in das Repository hochgeladen. Ohne Continuous Delivery muss dieser Schritt manuell vom Entwickler durchgeführt werden.

Im Quellcode-Repository wird der gesamte Anwendungscode zusammengeführt und kann nach weiteren Validierungen an die Produktivumgebung der Endkunden veröffentlicht werden. Entweder wird dieser Schritt manuell durch Mitarbeiter des Betriebs abgewickelt oder findet durch Einsatz von Continuous Deployment automatisiert statt.

Kurz gesagt stellt Continuous Integration den grundlegenden Bestandteil einer CI/CD-Pipeline dar, an den Continuous Delivery anschließt. Continuous Deployment entspricht dem Prozess von Continuous Delivery mit dem Unterschied, dass auch der Release vollkommen automatisch erfolgt.

Continuous Integration, Delivery und Deployment im Zusammenspiel in der CI/CD-Pipeline

Das Zusammenspiel der einzelnen Phasen einer CI/CD-Pipeline.

Tools

Zum Aufbau einer CI/CD-Pipeline verwenden DevOps-Teams im Allgemeinen folgende Technologien:

  • ein zentrales Quellcode-Repository,
  • ein Versionskontrollsystem zur Code-Verwaltung,
  • eine automatisierte Build-Engine,
  • Einheits-, Funktions- und Integrationssysteme,
  • Verfahren für normale Last- und Stresstests,
  • Tools zum Konfigurationsmanagement,
  • ggf. Container für eine konsistente Bereitstellung in verschiedenen Umgebungen.

DevOps-Teams können auf eine Vielzahl von Anbietern zurückgreifen, welche erforderliche Software und Pipeline-Tools zum Einrichten und Nutzen dieser Technologien zur Verfügung stellen. So kann das gesamte Application Lifecycle Management (ALM) von der Code-Entwicklung über die Bereitstellung bis hin zur Überwachung und Skalierung abgewickelt werden. Vier dieser Programme stellen wir an dieser Stelle vor:

  • Jenkins ist ein Java-basiertes Open-Source-Programm für Continuous Integration und Delivery. Aufgrund des übersichtlichen Interfaces und der intuitiven Funktionen eignet sich Jenkins vor allem für Einsteiger. Die Webanwendung bietet unterschiedliche Build-Tools und Testverfahren, kann ihren Funktionsumfang durch Plugins erweitern und erlaubt den Zugriff anderer Programme über eine API.
  • CircleCI ist eine weitere webbasierte Anwendung, die Continuous Integration, Delivery und Deployment unterstützt. CircleCI arbeitet bevorzugt mit GitHub (Enterprise) und Bitbucket. Die Plattform bietet eine Vielzahl praktischer Features, u. a. Auftragsmanagement, Ressourcenmanagement, Unterstützung aller Programmiersprachen, statistische Datenanalyse und umfassende Sicherheitskonzepte.
  • Microsoft Azure DevOps Server bzw. Services ist ein Kollaborationstool zur gemeinsamen Planung und Verwaltung von Software-Projekten, das On-Premise oder in der Cloud eingerichtet werden kann. Azure DevOps unterstützt verschiedene Entwicklungsverfahren und den Aufbau einer CI/CD-Pipeline. Dafür bietet es zahlreiche Funktionen wie Repos, Kanban- und Dashboards, Artifacts und Test Plans.
  • Codeship ist eine SaaS-Plattform (Software as a Service) für Continuous Integration und Delivery, die sich in ihrem Umfang an die Bedürfnisse der Nutzer anpassen lässt. Die Plattform unterstützt GitHub, GitLab und BitBucket und bietet je nach genutzter Version unterschiedliche Features: Die kostenlose Version liefert eine voreingerichtete CI-Umgebung und erlaubt paralleles Testen von Builds in geteilten und vorkonfigurierten Containern. Die kostenpflichtigen Basic- und Pro-Versionen von Codeship liefern erweiterte Konfigurationsmöglichkeiten und die Nutzung zusätzlicher Features und Tools für CI/CD-Prozesse.
DevOps Checkliste

Checkliste: Mit dem mindsquare DevOps-Circle zur erfolgreichen DevOps-Einführung

Hier erfahren Sie, welche Themen/Aspekte für eine erfolgreiche DevOps Implementierung essentiell sind und worauf Sie dabei achten müssen.

Vorteile

Continuous Delivery bietet gegenüber der klassischen Software-Entwicklung zahlreiche Vorteile: Herkömmlicherweise erhalten Kunden ihr Endprodukt erst nach wochen- oder monatelanger Entwicklung, wenn alle geplanten Features integriert wurden und die Qualitätsüberprüfung abgeschlossen ist. Eine Anpassung oder Verbesserung der Software findet danach meist über Patches und Updates statt, die diesen Prozess ebenfalls durchlaufen müssen.

Im Kontrast dazu erlaubt eine CI/CD-Pipeline, dass Kunden bereits frühzeitig in den Entwicklungsprozess eingebunden werden. Sie erhalten Zugang zu Kernfunktionen der Software und können diese unter realen Bedingungen testen, während weiterhin am Endprodukt gearbeitet wird. Der Kunde übernimmt also gewissermaßen selbst einen Teil der Qualitätssicherung und kann Entwicklern wertvolles Feedback liefern, um das Endprodukt nach seinen Wünschen mitzugestalten.

Die CI/CD-Pipeline zeichnet sich durch das fortlaufende und wiederholte Ineinandergreifen der Bereiche Entwicklung, Qualitätssicherung und Produktion aus, was durch die Automatisierung zahlreicher Tätigkeiten ermöglicht wird. Projektbeteiligte wie auch Endkunden profitieren von folgenden Vorteilen, die eine CI/CD-Pipeline mit Continuous Delivery liefert:

  • Time-to-Market: Automatische Tests und Builds sparen Zeit und sorgen für die Vermeidung von Fehlern, sodass weniger Nacharbeiten erforderlich sind. So lässt sich die Markteinführungszeit effektiv verkürzen.
  • Produktfeedback: Mithilfe des Nutzerfeedbacks, welches die Programmierer noch während des Entwicklungsprozesses erhalten, können sie sich auf Features konzentrieren, die sich für Nutzer als tatsächlich nützlich erweisen. So wird die Akzeptanz bei Kunden erhöht und das Risiko von Fehlentwicklungen minimiert.
  • Zufriedenheit von Kunden & Teams: Durch die Automatisierung anfallender Aufgaben werden Entwicklerteams entlastet und können sich vollkommen auf die Verbesserung der Anwendung konzentrieren. Zusätzlich rücken der Austausch und die Zusammenarbeit zwischen Entwicklern, Betrieb und Nutzern in den Vordergrund, wodurch die allgemeine Zufriedenheit steigt.
  • Produktivität & Effizienz: Die Automatisierung vieler Arbeitsschritte und Testverfahren geht mit erheblichen Zeit- und Kosteneinsparungen einher. Viele der mit herkömmlichen Release-Verfahren verbundene Fixkosten entfallen durch die Umsetzung kontinuierlicher Entwicklung und Bereitstellung.
  • Zuverlässige Releases: Durch häufigere Releases sinkt die Anzahl der Codeänderungen in jeder Anwendungsversion, wodurch sich Fehler schneller finden und beheben lassen. Außerdem sorgt das wiederholte Testen von Produktfeatures dafür, dass der Veröffentlichungsprozess möglichst reibungslos abläuft.
  • Produktqualität: Dank Automatisierung sind in der Qualitätssicherung mehr Ressourcen für die konzeptuelle Verbesserung der Software verfügbar. Entwickler können sich bspw. auf hochwertige Aktivitäten wie Usability-, Leistungs- oder Sicherheitstests konzentrieren.

Herausforderungen

Continuous Delivery und verwandte Verfahren bringen eine Reihe vielfältiger Vorteile, stellen Unternehmen allerdings auch vor diverse Herausforderungen. Einige davon werden nachfolgend vorgestellt:

  • Initialaufwand & Instandhaltung: Die Einrichtung einer CI/CD-Pipeline setzt einen gewissen Initialaufwand wie bspw. die Einrichtung erforderlicher Infrastrukturen und Workflows voraus. Zudem müssen die eingerichteten Systeme fortwährend instandgehalten und weiterentwickelt werden, um ihre Funktionalität langfristig zu gewährleisten.
  • Unzureichende Testautomatisierung: Automatisierte Tests benötigen einen verlässlichen Integrationsserver, müssen vorab geschrieben und kontinuierlich angepasst werden. Sind Testverfahren veraltet oder fehlerhaft, kann dies zu massiven Fehlern im Endprodukt führen.
  • Manuelle Qualitätssicherung: Nicht alle Qualitätsattribute können automatisch getestet werden. Einige erfordern eine manuelle Prüfung, was zu Verzögerungen im Entwicklungszyklus führen kann.
  • Unterschiedliche Umgebungen: Unterschiedliche Entwicklungs-, Test- und Produktionsumgebungen können dazu führen, dass unentdeckte Probleme in die Produktionsumgebung übertragen werden.
  • Abstimmung im Team: CI/CD erfordert die offene und enge Zusammenarbeit ehemals voneinander unabhängig arbeitender Teams. Der kulturelle DevOps-Ansatz muss von allen Projektbeteiligten akzeptiert und umgesetzt werden.
  • Kundenwünsche: Endkunden sind möglicherweise nicht an der inkrementellen Auslieferung einzelner Anwendungskomponenten interessiert und bevorzugen es, vollständig entwickelte Applikationen zu erhalten.
  • Branchenspezifische Anforderungen: In Bereichen wie Medizin und Telekommunikation sind besondere Tests vor der Inbetriebnahme neuer Anwendungsversionen vorgeschrieben, welche im Entwicklungsprozess ggf. nicht abgedeckt wurden.
  • Manuelle Auslieferung: Ohne Continuous Deployment findet die Auslieferung der Software an den Endkunden weiterhin manuell statt. Um dies ebenfalls zu automatisieren, müssen die Prozesse der CI/CD-Pipeline angepasst werden.
Lewin Böhlke

Websession: Continuous Delivery

Haben Sie weitere Fragen zum Thema Continuous Delivery? Oder wünschen Sie sich eine individuelle Beratung zum erfolgreichen Aufbau einer CI/CD-Pipeline in Ihrem Unternehmen? Dann kontaktieren Sie uns für ein unverbindliches Erstgespräch mit einem unserer DevOps-Experten.

FAQ

Was versteht man unter Continuous Delivery?

Continuous Delivery ist ein DevOps-Konzept und kommt in CI/CD-Pipelines mit agilen Software-Entwicklungsmethoden zum Einsatz. Continuous Delivery stellt eine Erweiterung von Continuous Integration dar und sorgt dafür, dass von Programmierern entwickelte Code-Artefakte automatisch getestet und in ein für alle Projektbeteiligte zugängliches Quellcode-Repository hochgeladen werden.

Was bedeutet CI/CD?

CI/CD steht für das Zusammenspiel verschiedener Technologien und Methoden zur agilen Software-Entwicklung, namentlich Continuous Integration und Continuous Delivery (und ergänzend dazu Continuous Deployment). Der Entwicklungszyklus wird durch automatisierte Verfahren effizienter gestaltet und beschleunigt, wodurch sich die Produktqualität und der Auslieferungsprozess verbessern.

Welche Tools eignen sich für Continuous Delivery?

Es existieren zahlreiche Programme und Tools, die für Continuous Delivery und verwandte Verfahren eingesetzt werden können. Zu den beliebtesten zählen das Software-System Jenkins, die Plattform CircleCI, das Kollaborationstool Azure DevOps Server bzw. Services sowie die SaaS-Plattform Codeship.

Welche Vorteile bringt Continuous Delivery?

CI/CD-Pipelines sind vom offenen Austausch geprägt und arbeiten mit sich wiederholenden Schleifen, wodurch sich die Produktqualität und das Bereitstellungsverfahren zum Endkunden verbessern. Dies führt zu mehr Effizienz und Produktivität, kürzeren Markteinführungszeiten, häufigen und stabilen Releases, erhöhter Mitarbeiterzufriedenheit und mehr Kundenakzeptanz.

Welche Herausforderungen bringt Continuous Delivery?

Unternehmen, die Continuous Delivery umsetzen möchten, müssen u. a. mit folgenden Herausforderungen rechnen: der Aufwand zur Einrichtung und Instandhaltung benötigter Infrastruktur, der Aufbau gut durchdachter und aktualisierter Testverfahren, die Abstimmung zusammenarbeitender Teams und die Berücksichtigung von Kundenfeedback im Entwicklungsprozess.

Verwandte Know-Hows

DevOps ist ein Kunstwort, das sich aus den Begriffen Development (Dev) und Operations (Ops) zusammensetzt. Somit vereint DevOps zwei organisatorisch voneinander getrennte IT-Bereiche: Die Softwareentwicklung (Development) und den IT-Betrieb (Operations).
Continuous Deployment (kontinuierliche Bereitstellung, kurz: CD – nicht zu verwechseln mit Continuous Delivery) ist eine Release-Strategie in der Software-Entwicklung. Bei CD wird jede Anwendungsversion, die eine automatisierte Testphase erfolgreich durchlaufen […]
Der Anspruch an Software, ständig verfügbar zu sein, führt zu Transformationen in der Softwareentwicklung und im IT-Betrieb. Agile DevOps-Methoden bringen immer kürzer werdenden Entwicklungszyklen mit sich, welche auf eine flexibel […]

Passende Angebote zum Thema

DevOps und agile ABAP-Entwicklung sind Themen, die schon seit einiger Zeit diskutiert werden. Die Philosophien versprechen viele Vorteile wie schnellere Release-Zyklen, höhere Robustheit der Applikationen, geringere Fehlerzahlen und flexiblere Entwicklung. […]
Kennen Sie auch das Problem: Sie haben eine Herausforderung im Coding umzusetzen, aber es will einfach nicht klappen? Testdaten eingegeben, Konsolenausgaben erzeugt, Debugger gesetzt, … dennoch funktioniert es nicht. Mit […]
Sie haben eine App-Idee, jedoch noch kein klares Bild zur Umsetzung? Im App-Design Workshop entwickeln wir zusammen mit Ihnen klare Zielbilder mit einem klaren Konzept. Anschließend, oder sogar währenddessen, setzt […]
Kontakt aufnehmen
Ansprechpartner
Laura Feldkamp mindsquare Kundenservice
Laura Feldkamp Kundenservice