Wollen Sie in das Thema DevOps eintauchen, dann sollten Sie sich unbedingt diese Schlagworte und deren Bedeutung in der Transformation von Unternehmen genauer ansehen und durcharbeiten
Die folgenden Schlagworte sind entsprechend ihrer Bedeutung im Auftreten des Prozesses in der DevOps-Kultur thematisch sortiert.
- Dev
- steht für den Developer bzw. Entwickler ud Programmierer
- Ops
- Operations meint den Betrieb wie Admins, Tester und andere
- CA(L)MS
- Culture Automation Lean (unnütze Dinge entfernen) Measurement (Metriken) Sharing - etablieren Sie eine lebendige DevOps-Kultur, automatisieren Sie so viele Prozesse wie möglich, messen diese und teilen mit anderen
- Inner Sourcing
- teilen Sie Ihre Komponenten mit anderen Devs (API, Interfaces,...) und legen Sie Projekte offen
- CI
- Continuous Integration kleine agile Häppchen um problemlos Änderungen in das Produkt integrieren zu können (Build and Deploye)
- CD
- siehe oben (CI)
- CI-Server
- Jenkins, GitLab, GitHub, BitBucket, Azure, AWS
- Pipelines
- Pipelines bezeichnen im wesentlichen eine Toolchain, Prozess des Buid, Test, Review und Deploye
- Tools und Toolchain
- GitBash, Eclipse, IntelliJel, VisualCode, NetBeans, Jenkins, Confluence, Jira, Kanban, ICM, Systemfehleranzeige,...
- Reproduzierbarkeit
- beschreibt den jederzeit wiederholbaren Build der Software mit immer den gleichen Testergebnissen
- Compliance
- grundlegende Vorgaben z.B. Metriken, CodeStyle, Ergonomie, Styleguide,... (können und sollten auch innerhalb einer Pipeline automatisch geprüft werden - zumindest ist das sehr sinnvoll)
- funktionale- Cross-funktionale Teams
- funktionale Teams sind: Entwickler, Fachbereiche, je Team cross-funktionale Teams sind: Entwickler und Fachbereiche innerhalb eines Teams gemischt
- UnitTests
- die kleinste testbare Einheit, testen einer enzelnen Methode oder Funktion im Kern oder in Randbereichen. Komplexe UnitTests deuten darauf hin, das Methoden oder Funktionen weiter zerlegt werden müssen
- Tests und Automation
- Akzeptanztest, Systemtest (Load, Performance,...), Integrationstest, Security-Test, UnitTest, SmokeTest,...
- Testabdeckung
- eine Metrik die bestimmt wie viel der Software und Funktionen getestet werden kann (Test-Coverage)
- Dokumentation
- wie gut sind API, Schnittstelle, Projekte, Komponenten, Methode dokumentiert
- ReleaseProzess
- der vollständige Prozess von der Anforderung bis zum fertigen Produkt in der Produktionsumgebung
- Quality-Gates, QA-Staging, Prod-Umgebung
- Definition von Qaulitäts-Metriken bei der Anhebung auf den nächsten Reifegrad der Software
- Golden Images
- vordefinierte, fix und fertig eingerichtete Images als Basissystem damit das Artefakt leicht hinzugefügt werden kann
- Versionierung
- MAJOR.MINOR.PATCH
- inkopatible Anpassungen,
- kompatible Funktionen,
- Behebung von kompatiblen Bugfixes
- MAJOR.MINOR.PATCH
- Paketierung
- Rollbacks
- kritische Datenbakänderungen?
- Feature Flags Toggles
- auch wenn alter Code läuft, können neue Funktionen nach dem Deployement aktiv freigegeben oder deaktiviert werden. Zwei parallele Implementierungen im Code
- Kubernetes
- System zur Verwaltung von Container-Anwendungen
- Grafana
- Monitoring-Tool wie auch Prometheus oder auch InfluxDB
Loben Sie Ihre Mitarbeiter - denn der menschliche Aspekt geht bei einer schweren und kraftanstrengenden Verwandlung des Unternehmens oft verloren. Ein aktenkundiges Belobigungsschreiben kann Wunder bewirken und führt auch dazu, das Ihre Mitarbeiter auch in schwierigen Zeiten bei der Stange bleiben und hinter dem Unternehmen stehen.
_____
Kontakt@Oliver-Lohse.de