3 gespiegelt-1
E-Book kostenlos herunterladen

DevOps und Consulting

Entdecken Sie die DevOps Grundlagen in unserem umfangreichen Glossar. Erfahren Sie darüber hinaus in unserem E-Book mehr über die Bedeutung von DevOps, die Herausforderungen bei der Implementierung und wie Sie als Unternehmen von DevOps profitieren können.

 

Schlüsselwörter der DevOps-Welt

Entdecken Sie die wesentlichen Begriffe und Konzepte von DevOps mit unserem umfassenden Glossar. Von „A“ wie „Automatisierung“ bis „Z“ wie „Zero Downtime“: Lernen Sie die wichtigsten Prinzipien und Praktiken kennen, die erfolgreiche DevOps-Implementierungen vorantreiben.

 

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 

A

Agile Entwicklung
Eine Softwareentwicklungsmethode, die iterative und inkrementelle Prozesse betont, um flexibel auf Änderungen reagieren zu können. Agile Methoden, wie Scrum oder Kanban, fördern kurze Entwicklungszyklen, kontinuierliches Feedback und die Lieferung von funktionierender Software in kleinen, häufigen Inkrementen, um den Anforderungen der Kunden besser gerecht zu werden und die Entwicklungseffizienz zu steigern.
Agile Zusammenarbeit
Agile Zusammenarbeit bezieht sich auf die Art und Weise, wie Teams in agilen Arbeitsumgebungen interagieren. Sie basiert auf den Prinzipien agiler Methoden und betont die Offenheit, Kommunikation, Flexibilität und Zusammenarbeit der Teammitglieder, um gemeinsam an der Erreichung von Zielen und der kontinuierlichen Verbesserung zu arbeiten. Agile Zusammenarbeit fördert die Eigenverantwortung der Teammitglieder und ermöglicht eine schnellere Reaktion auf Veränderungen in Projekten oder Arbeitsabläufen.
Application Lifecycle Management (ALM)
Application-Management, auch bekannt als Anwendungsmanagement oder Application Lifecycle Management, stellt eine ganzheitliche Herangehensweise an die Entwicklung und Pflege von Anwendungen während ihres gesamten Lebenszyklus dar. Dies umfasst nicht nur die Erstellung von Software, sondern auch die kontinuierliche Betreuung der Nutzer sowie die fortlaufende Weiterentwicklung der Anwendung.
Artefakt
Ein Artefakt ist eine Dokumentation oder ein mit einem Projekt verbundenes Ergebnis, das dabei hilft, die Funktion, Architektur und das Design der zu entwickelnden Software zu beschreiben. In der Softwareentwicklung kann ein Artefakt beispielsweise eine Dokumentation, ein Design-Diagramm, ein Programmcode oder ein Testbericht sein. Diese Artefakte dienen dazu, Informationen zu erfassen, zu kommunizieren und zu speichern, um den Entwicklungsprozess zu unterstützen und die Qualität des Endprodukts sicherzustellen.
Automatisierte Tests
Automatisierte Tests sind Verfahren in der Softwareentwicklung, bei denen spezielle Programme oder Skripte verwendet werden, um den Code einer Anwendung automatisch zu prüfen und sicherzustellen, dass sie wie erwartet funktioniert. Diese Tests helfen, Fehler frühzeitig zu erkennen und die Qualität der Software zu verbessern. Es beschreibt die Ausführung von Tests auf Codeebene, um sicherzustellen, dass Änderungen keine unerwarteten Auswirkungen haben.
Automatisierung
Die Automatisierung von Prozessen hilft dabei, Effizienz und Zuverlässigkeit in der Softwareentwicklung zu erreichen. Es beschreibt dabei die Verwendung von Skripten, Tools und Prozessen, um manuelle Schritte in der Entwicklung, Bereitstellung und Betrieb zu minimieren oder zu eliminieren.

B

Black-Box-Tests
Eine Art Funktionstest, bei dem die interne Struktur, das Design und die Codierung von Software getestet werden. Der Unterschied zum White-Box-Test besteht darin, dass der interne Aufbau der Software dem Tester nicht bekannt ist und es sich daher um eine „Black Box“ handelt.
Build-Pipeline
Die Build-Pipeline ist ein wichtiger Bestandteil des Continuous Integration-Prozesses, bei dem der Code kompiliert und getestet wird. Eine Build-Pipeline ist ein automatisierter Prozess in der Softwareentwicklung, der die schrittweise Erstellung, Prüfung und Bereitstellung von Anwendungscode ermöglicht. Sie dient dazu, den Code effizient zu kompilieren, Tests durchzuführen und die Anwendung für die Bereitstellung vorzubereiten, wodurch die Entwicklungszeit verkürzt und die Qualität des Softwareprodukts verbessert wird.
Business Intelligence (BI)
Business Intelligence (BI) ist ein Prozess und eine Technologie, die Unternehmen dabei unterstützt, große Mengen von Daten zu sammeln, zu analysieren und in verwertbare Informationen umzuwandeln, um fundierte Geschäftsentscheidungen zu treffen. BI-Tools und -Systeme bieten Berichterstellung, Datenvisualisierung und Datenanalyse, um Einblicke in die Leistung eines Unternehmens zu gewinnen und strategische Planung zu unterstützen. Business Intelligence kombiniert Geschäftsanalysen, Datenvisualisierungen, Datentools und -Infrastruktur sowie Best Practices, um Unternehmen dabei zu helfen, stärker datengesteuerte Entscheidungen zu treffen.

C

Cloud-Native-Entwicklung
Cloud-Native-Entwicklung bezieht sich auf den Ansatz, bei dem Anwendungen von Grund auf für die Cloud entwickelt werden, um die Vorteile der Skalierbarkeit, Agilität und Flexibilität von Cloud-Plattformen optimal zu nutzen. Dies umfasst die Verwendung von Mikrodiensten, Containerisierung und DevOps-Praktiken, um Anwendungen effizienter bereitzustellen, zu betreiben und zu warten.
Containerisierung
Containerisierung bezeichnet den Prozess, bei dem Softwarecode, Betriebssystembibliotheken und alle notwendigen Abhängigkeiten zu einer einzigen ausführbaren Datei zusammengeführt werden. Diese Datei wird als Container bezeichnet und kann in jeder Art von Infrastruktur konsistent und problemlos ausgeführt werden.
Continuous Integration (CI)
Die kontinuierliche Integration ermöglicht es Entwicklerteams, Codeänderungen schnell und problemlos in das Hauptprojekt einzubringen. Continuous Integration (CI) ist eine Softwareentwicklungspraxis, bei der Entwickler regelmäßig ihren Code in einem gemeinsamen Repository zusammenführen, wodurch Konflikte und Fehler frühzeitig erkannt werden. Automatisierte Build- und Testprozesse werden eingesetzt, um sicherzustellen, dass der Code fehlerfrei ist und sich nahtlos in die bestehende Anwendung integriert.
Continuous Deployment (CD)
Continuous Deployment (CD) ist eine Praxis in der Softwareentwicklung, bei der Änderungen am Code automatisch und ohne menschliches Eingreifen in die Produktionsumgebung übertragen werden, sobald sie erfolgreich durch die Continuous Integration (CI)-Tests gelaufen sind. Dies ermöglicht eine schnelle und kontinuierliche Bereitstellung von Updates und neuen Funktionen für Anwendungen, was die Entwicklungsprozesse beschleunigt und die Reaktionsfähigkeit auf Kundenanforderungen erhöht.
Continuous Testing
Continuous Testing ist eine Softwareentwicklungsmethode, bei der Tests kontinuierlich und automatisiert im gesamten Entwicklungsprozess durchgeführt werden, angefangen bei der Code-Änderung bis hin zur Bereitstellung in der Produktionsumgebung. Das Ziel besteht darin, die Qualität und Zuverlässigkeit von Anwendungen sicherzustellen, indem Fehler frühzeitig erkannt und behoben werden, um die schnelle und zuverlässige Auslieferung von Software zu gewährleisten.
CI/CD-Pipeline
Eine CI/CD-Pipeline ist ein automatisierter Prozess in der Softwareentwicklung, der Continuous Integration (CI) und Continuous Deployment (CD) kombiniert. Sie dient dazu, Codeänderungen automatisch zu kompilieren, zu testen und bei Erfolg in die Produktionsumgebung zu übertragen, wodurch die Effizienz, Qualität und Geschwindigkeit der Softwarebereitstellung verbessert werden.

D

Deployment
Deployment bezieht sich auf den Prozess in der Softwareentwicklung, bei dem eine Anwendungssoftware oder eine Systemkomponente von der Entwicklungsumgebung in die produktive Umgebung übertragen wird, um sie für Endbenutzer oder Kunden verfügbar zu machen. Dieser Prozess umfasst typischerweise das Installieren, Konfigurieren und Testen der Software, um sicherzustellen, dass sie ordnungsgemäß funktioniert und den Anforderungen entspricht.
DevOps
DevOps ist eine agile Methodik und Kultur, die die Zusammenarbeit zwischen Entwicklung (Development) und IT-Betrieb (Operations) betont, um kontinuierliche Bereitstellung, Integration und Automatisierung zu ermöglichen.
DevOps-Kultur
Eine Kultur der Zusammenarbeit, Transparenz, Offenheit und kontinuierlichen Verbesserung zwischen Entwicklung und Betrieb.
DevSecOps
DevSecOps ist eine Erweiterung von DevOps, die Sicherheitsaspekte in den gesamten Softwareentwicklungs- und Bereitstellungsprozess integriert. Ziel ist es, Sicherheit frühzeitig und kontinuierlich in den DevOps-Lebenszyklus zu integrieren, um potenzielle Sicherheitslücken und Schwachstellen in Anwendungen zu identifizieren und zu beheben, bevor sie in Produktion gehen.

E

Ereignisgesteuerte Architektur
Eine ereignisgesteuerte Architektur (Event-Driven Architecture, EDA) ist ein Architekturmuster in der Softwareentwicklung, bei dem die Kommunikation und Verarbeitung von Informationen in einem System durch das Auftreten von Ereignissen ausgelöst wird. Diese Ereignisse können von verschiedenen Komponenten erzeugt und empfangen werden, wodurch die Flexibilität und Skalierbarkeit von Anwendungen verbessert wird, da sie auf Änderungen und Aktivitäten in Echtzeit reagieren können.

F

Fehlerbehebung
Die Fehlerbehebung ist ein wichtiger Bestandteil des DevOps-Prozesses, bei dem Probleme in der Anwendung oder Infrastruktur identifiziert und behoben werden.
Function Testing
Diese Tests bewerten die Funktionalität des Systems und prüfen, ob es die festgelegten Anforderungen erfüllt.

G

Git
Git ist ein verteiltes Versionskontrollsystem, das häufig in der Softwareentwicklung verwendet wird, um Codeänderungen nachzuverfolgen und zu verwalten.

H

Hochverfügbarkeit
Hochverfügbarkeit bezeichnet die Fähigkeit eines Systems, kontinuierlich und ohne Unterbrechungen verfügbar zu sein.
Hybride Cloud
Eine Hybrid Cloud umfasst mindestens eine private und eine öffentliche Cloud und gibt Unternehmen die Möglichkeit, ihre lokale Infrastruktur nahtlos auf die öffentliche Cloud zu skalieren, um etwaige Überlastungen zu bewältigen.

I

Infrastruktur als Code (IaC)
Infrastruktur als Code ermöglicht es, die Infrastruktur eines Systems mithilfe von Code zu definieren und zu verwalten. Es beschreibt die Praxis, die Konfiguration und Bereitstellung von Infrastrukturkomponenten mithilfe von Code und Automatisierung zu steuern.
Integration Testing
Integrations-Tests überprüfen die Interaktion zwischen verschiedenen Softwarekomponenten und stellen so sicher, dass sie nahtlos integriert werden können.

J

Jenkins
Jenkins ist ein Open-Source-Automatisierungstool, das häufig für Continuous Integration und Continuous Deployment verwendet wird.

K

Kubernetes
Kubernetes ist eine Open-Source-Plattform zur Container-Orchestrierung, die es ermöglicht, Anwendungen in einer skalierbaren und zuverlässigen Umgebung bereitzustellen. Es beschreibt ein Open-Source-Orchestrierungsframework zur Automatisierung. 
Künstliche Intelligenz (KI)
KI simuliert menschliche Intelligenz in Maschinen, die unter anderem darauf programmiert sind, zu lernen und Probleme zu lösen. Künstliche Intelligenz (KI) ist ein Bereich der Informatik, der sich auf die Entwicklung von Computern und Systemen konzentriert, die menschenähnliche Denkprozesse ausführen können. Dies umfasst maschinelles Lernen, neuronale Netzwerke und andere Techniken, die es Computern ermöglichen, Muster zu erkennen, Entscheidungen zu treffen und Aufgaben auszuführen, die normalerweise menschliche Intelligenz erfordern.

L

Lasttests
Lasttests helfen dabei, die Leistungsfähigkeit eines Systems unter bestimmten Lastbedingungen zu überprüfen und zu optimieren.
Lean
Lean zielt darauf ab, mit weniger Ressourcen mehr Wert für Kunden zu schaffen, indem Verschwendung identifiziert und beseitigt wird. Lean ist eine Managementphilosophie und Methodik, die darauf abzielt, Verschwendung in Geschäftsprozessen zu minimieren und Effizienz zu maximieren. Sie basiert auf Prinzipien wie kontinuierlicher Verbesserung, Reduzierung von Überproduktion und effektiver Nutzung von Ressourcen, um die Qualität und Produktivität in Unternehmen zu steigern.
Leistungstest
Diese Tests bewerten die Leistung des Systems unter verschiedenen Lasten und Stressniveaus und stellen so sicher, dass es reale Szenarien bewältigen kann.

M

Machine Learning (ML)
Machine Learning (ML) ist ein Zweig der künstlichen Intelligenz, der Computern die Fähigkeit verleiht, zu lernen, ohne explizit programmiert zu werden.
Microservices-Architektur
Ein Architekturstil, bei dem Anwendungen in kleine, unabhängige Dienste aufgeteilt werden, die separat entwickelt, bereitgestellt und skaliert werden können.
Monitoring und Logging
Monitoring bezieht sich auf die Überwachung von Anwendungen und Infrastruktur, um Leistungsprobleme zu erkennen, und das Sammeln von Protokollen für spätere Analyse.

Die fünf Facetten von DevOps

fünf facetten von Devops
  1. Agile Development - Nutzen Sie die agile Softwareentwicklung mit Scrum- oder Kanban.
  2. Continuous Integration - Profitieren Sie von hochwertiger Codeentwicklung und nahtlosen Integrationen in Ihre bestehenden Produkte.
  3. Continuous Deployment - Erfahren Sie einen einfachen und automatisierten Prozess zur Einführung von Software.
  4. Releases-by-Business - Kontrollieren Sie schrittweise die Einführung und Pflege neuer Funktionen für Ihre Kunden.
  5. Operation - Gewährleisten Sie Stabilität und Verfügbarkeit durch kontinuierliche Wartungen der Softwarelösungen.

N

Nebenläufigkeit
Nebenläufigkeit bezeichnet die Fähigkeit eines Systems, mehrere Aufgaben gleichzeitig auszuführen und effizient zu koordinieren.
Non-Functional Testing
Es werden nicht-funktionale Tests durchgeführt, um zu bestätigen, ob das Systemverhalten nicht-funktionale Anforderungen wie  die Benutzerfreundlichkeit und Leistung erfüllt. Es behandelt alles, was nicht durch Funktionstests abgedeckt wird.

O

Open Source
Eine Software, die offenen Zugriff auf den ursprünglichen Quellcode bietet und es Einzelpersonen ermöglicht, ihn nach Belieben frei zu nutzen, zu verteilen und anzupassen.
Orchestrierung
Orchestrierung bezieht sich auf die Koordination und Verwaltung von verschiedenen Komponenten eines Systems, um bestimmte Aufgaben oder Workflows auszuführen.
Out-of-the-Box
Eine Funktionen eines Produkts, die sofort nach der Installation ohne Konfiguration oder Änderung funktionieren.

P

Produktionsumgebung
Die Produktionsumgebung ist die Umgebung, in der eine Anwendung oder ein Service von Benutzern genutzt wird.
Product Owner
Der Product Owner spielt eine zentrale Rolle bei der Förderung der agilen Entwicklung und trägt die Verantwortung für die effiziente Verwaltung des Product Backlogs.

Q

Qualitätssicherung
Qualitätssicherung bezieht sich auf den Prozess der Überprüfung und Sicherstellung der Qualität von Software und Systemen.

R

Release-Management
Release-Management bezieht sich auf die Planung, Koordination und Bereitstellung von Software-Releases.

S

Scrum
Scrum, ein innovatives Projektmanagement-Framework, teilt die anstehenden Aufgaben effizient in verschiedene Einheiten auf und erledigt sie sorgfältig in festgelegten Zeitrahmen, den sogenannten Sprints. Mit dem Abschluss jedes Sprints wird ein potenziell veröffentlichbares Inkrement des Produkts geliefert, das den Fortschritt des Teams demonstriert.
Self-Service Deployment
Im Bereich des Self-Service Deployments wird die Automatisierung möglicherweise nicht vollständig genutzt. Mit nur einem einfachen manuellen Befehl kann der Code jedoch mühelos vom Staging in die Produktion übertragen werden.
Skalierbare Infrastruktur
Die Fähigkeit, Ressourcen je nach Bedarf dynamisch zu erweitern oder zu reduzieren, um Leistung und Verfügbarkeit sicherzustellen. Skalierbarkeit bezieht sich auch auf die Fähigkeit eines Systems, mit steigender Last oder Anforderungen umzugehen und dabei die Leistung aufrechtzuerhalten.
Software-as-a-Service (SaaS)
Software as a Service (SaaS) ist ein cloudbasiertes Softwarebereitstellungsmodell, bei dem der Cloud-Anbieter Cloud-Anwendungssoftware entwickelt und wartet, automatische Software-Updates bereitstellt und Kunden Software auf Pay-as-you-go-Basis über das Internet anbietet.

T

Testautomatisierung
Testautomatisierung bezieht sich auf den Einsatz von Automatisierungstools und -techniken, um Softwaretests effizienter und zuverlässiger durchzuführen.
Testumgebung
Es ist eine hochmoderne Plattform, die von Testteams genutzt wird, um Testfälle auszuführen und Softwareprobleme vor einer Produkteinführung zu beheben.

U

Unit Testing
Unit-Tests erfordern die Aufteilung des Codes in Einheiten, die einfach und effizient getestet werden können. Diese Tests konzentrieren sich auf einzelne Komponenten der Software, um sicherzustellen, dass sie isoliert korrekt funktionieren.
Überwachung
Überwachung bezieht sich auf die kontinuierliche Beobachtung und Messung von Systemen, um deren Leistung, Verfügbarkeit und Sicherheit sicherzustellen.

 

V

Value Stream Management
Einführung einer Kategorie, die den Fluss des Geschäftswerts durch vielfältige und komplexe Pipelines für die Bereitstellung von Unternehmenssoftware nahtlos abbildet, optimiert, visualisiert und steuert.
Value Stream Mapping
Eine moderne Methodik, die strukturierte Visualisierungen nutzt, um ein umfassendes Verständnis dafür zu gewinnen, wie sich Arbeit nahtlos durch komplexe Systeme bewegt. Dieser leistungsstarke Ansatz wird genutzt, um den gesamten Lebenszyklus der Erstellung eines Produkts, der Bereitstellung einer Dienstleistung oder der Entwicklung eines Softwareprogramms tiefgreifend zu verstehen und zu verbessern.
Versionskontrolle
Es beschreibt die Verwaltung von Änderungen im Quellcode über verschiedene Entwicklungsstufen hinweg, um die Nachvollziehbarkeit und Zusammenarbeit zu gewährleisten.

W

Wasserfall
Wasserfall ist eine Softwareentwicklungsmethode, bei der die Softwareanforderungen zu Beginn eines Projekts erfasst und dann linear ausgeführt werden, wobei die nächste Phase erst beginnt, wenn die vorherige abgeschlossen ist.
White-Box-Tests
Eine Softwaretestmethode, bei der die interne Struktur, das Design und die Codierung einer Software getestet werden. Der Unterschied zum Black-Box-Test besteht darin, dass der Code für den Tester sichtbar bzw. transparent ist und somit eine „White-Box“ darstellt.

X - Z

Zero Downtime
Zero Downtime bezieht sich auf eine System- oder Anwendungsarchitektur, bei der geplante Wartungsarbeiten oder Aktualisierungen durchgeführt werden können, ohne dass es zu einer Unterbrechung des laufenden Betriebs kommt. Dies wird in der Regel durch redundante Server, Lastenausgleich und sorgfältige Planung erreicht, um sicherzustellen, dass Dienste kontinuierlich verfügbar bleiben, selbst während der Aktualisierungsprozesse. Zero Downtime ist besonders wichtig in Umgebungen, in denen Ausfallzeiten erhebliche finanzielle oder betriebliche Auswirkungen haben können.
Blog Releases
DevOps-Einführung: Das sind die Vorteile

Die Frage lautet nicht, ob Unternehmen DevOps einführen, sondern wann und wie sie diesen Schritt gehen. Studien zeichnen ein klares Bild: Nur mit DevOps werden Unternehmen mit eigener Softwareentwicklung künftig erfolgreich am Markt agieren können.

Hier weiterlesen

DevOps-Methodik: Treibende Kraft in der Softwareentwicklung

DevOps hat einen festen Platz als treibende Kraft in der internen Softwareentwicklung. Dabei zeigt sich, dass die Methodik innerhalb der Branche schon längst Mainstream-Charakter angenommen hat.

Hier weiterlesen

ClearCase zu Git: Erste Schritte zur gelungenen Migration

Von einer Migration erwarten Entscheider in Summe eine höhere Qualität in der Softwareentwicklung. Wer dabei allerdings übereilt vorgeht, macht schnell Fehler. Wie erste Schritte einer erfolgreichen Umsetzung aussehen, erklärt Thomas Schulte, Senior Consultant Software Engineering, am Beispiel der Migration von ClearCase zu Git.

Hier weiterlesen

DevOps als Booster für Ihre Softwareentwicklung

 

Alles, was Sie jetzt über DevOps wissen müssen, zusammengefasst in unserem
E-Book!

3