Aufrufe
vor 2 Jahren

Netzwoche 06/2018

52 DOSSIER In

52 DOSSIER In Kooperation mit Nine Internet Solutions Bild: venimo / iStock.com trachten. Durch die Auflösung von Grenzen werden Softwareerstellung, -tests, -bereitstellung und -administration zu durchgängigen Prozessen, die nie wirklich enden. Entwickler arbeiten in kurzen Bursts, bauen schnell neue Funktionen auf oder beheben bei Bedarf Fehler. Sie senden die vorgeschlagenen Änderungen an ein Versionskontrollsystem zum Testen und Genehmigen. ·· Tester testen die vorgeschlagenen Revisionen, um zu bestätigen, dass sie wie erwartet funktionieren. Sie geben den Entwicklern kontinuierlich Feedback, um zukünftige Softwareversionen zu verbessern. Wenn neue Builds fertig sind, geben die Tester sie für die automatische geplante Integration in die Produktionsumgebung frei. ·· Administratoren schliessen die Feedbackschleife, indem sie Entwicklern und Testern Informationen darüber liefern, wie sich die Anwendung unter realen Bedingungen verhält. Essenzielle DevOps-Werkzeuge Die Einführung von DevOps kann Unternehmen helfen, einen viel kürzeren Zeitplan für die Softwarefreigabe zu erreichen. DevOps ist nicht nur eine Denkweise, sondern eine Unternehmenskultur. Dabei gibt es Tools, die diesen Denkansatz unterstützen und die die Leistungsfähigkeit der Cloud nutzen, um Unternehmen zu helfen, mit weniger manuellem Aufwand mehr zu erreichen. Dies sind einige der Werkzeuge, die DevOps möglich machen. ·· Ein Versionskontrollsystem verfolgt Änderungen am Softwarecode und speichert alle Softwarerevisionen in einem zentralen Repository. Ein Versionskontrollsystem bietet einen zentralen Punkt, an dem Entwickler Softwarerevisionen speichern und Tester diese Revisionen untersuchen können. Ein Versionskontrollsystem kann freigegebene Revisionen automatisch in Ihre Produktionsumgebung integrieren. Ein Versionskontrollsystem ermöglicht auch das Zurücksetzen von Revisionen, die zu unerwarteten Ergebnissen führen. ·· Ein Testautomatisierungstool überprüft die Qualität von Softwarerevisionen, indem es vorbestimmte Aktionen durchführt und die Ergebnisse dieser Aktionen überprüft. Wenn eine Aktion das erwartete Ergebnis liefert, ist der Test erfolgreich. Wenn ein Test fehlschlägt, übergibt das Testautomatisierungssystem das Problem an menschliche Tester zur weiteren Auswertung. ·· Microservices sind die Basis einer Softwarearchitektur, die Unternehmen zunehmend als Alternative zur traditionellen monolithischen Architektur nutzen. Die Umwandlung einer traditionellen Anwendung in eine auf Microservices basierende Anwendung bedeutet, dass die Anwendung in ihre Bestandteile zerlegt wird. Jede der Grundfunktionen der Anwendung wird zu einem cloudbasierten Service, auf den die Anwendung über eine API zugreift. Das Hinzufügen einer neuen Funktion zur Anwendung – oder das Ändern einer bestehenden Funktion – erfordert nur die Erstellung oder Änderung eines Microservice und stört nicht die anderen Funktionen der Anwendung. Zum Schluss: Die Vorteile der Akzeptanz von DevOps Wenn Unternehmen Schwierigkeiten haben, die Erwartungen der Kunden im digitalen Bereich zu erfüllen, kann die Unterstützung von DevOps die nötige Flexibilität bieten. Mit einem kürzeren Software-Release-Zyklus kann man Funktionen schneller als je zuvor einführen. Er beseitigt Fehler, bevor viele Kunden sie überhaupt bemerken. Der grösste Vorteil von DevOps ist jedoch die Tatsache, dass es die Automatisierung nutzt, um Mitarbeitern zu helfen, ihre Zeit effektiver zu nutzen. Sie müssen dort sein, wo die Kunden sind, bereit, diese Menschen sofort zu erreichen, wenn sie bereit sind, sich mit Ihrer Marke zu beschäftigen. DevOps kann den Weg in die Zukunft weisen, indem es Unternehmen ermöglicht, ihre digitalen Transformationsprojekte vorwärts zu treiben, ohne zusätzliche Ressourcen in Anspruch zu nehmen und die Rentabilität zu beeinträchtigen. Der grösste Vorteil von DevOps ist die Tatsache, dass es die Automatisierung nutzt, um Mitarbeitern zu helfen, ihre Zeit effektiver zu nutzen. So können Sie sich noch besser darauf konzentrieren, kompetitive Produkte zu bauen oder digitale Transformationsprojekte vorwärts zu treiben. 06 / 2018 www.netzwoche.ch © netzmedien ag

In Kooperation mit Nine Internet SolutionsDevOps DOSSIER53 «Bei DevOps geht es primär um Verbesserungen und nicht um eine Technologie» Der Softwarehersteller Bexio aus Rapperswil-Jona setzt auf DevOps. Teamleader DevOps ist David Schneider. Die Redaktion hat bei ihm nachgefragt, was DevOps für Vor- und Nachteile hat und für welche Unternehmen es überhaupt sinnvoll ist, auf DevOps zu setzen. Interview: Marcel Urech Für wen ist es sinnvoll, auf DevOps-Konzepte zu setzen? David Schneider: DevOps kommt traditionell aus Unternehmensbereichen, die selbst Software entwickeln, entweder als Produkt für Kunden oder für die interne Verwendung. Für diese Unternehmen lassen sich viele Ideen sicher sehr einfach umsetzen. Gerade wenn man die Geschwindigkeit der technischen Weiterentwicklung und Veränderungen vieler Bereiche betrachtet, ist es sinnvoll, selbst schnell auf solche Entwicklungen reagieren zu können, um nicht den Anschluss zu verlieren. DevOps liefert hier einen sehr guten Ansatz. Welche Vorteile bringt DevOps? Die Stärken von DevOps liegen in der Geschwindigkeit, mit der Software entwickelt, getestet und bereitgestellt werden kann, ohne auf Sicherheit oder Zuverlässigkeit zu verzichten. In einer modernen DevOps-Pipeline werden alle Änderungen automatisch getestet, wodurch Fehler schneller gefunden werden. Sofern die Tests, die natürlich auch manuelle Tests beinhalten können, erfolgreich abgeschlossen sind, erfolgt automatisch die Bereitstellung der Software. Entwicklungszyklen, die früher Wochen oder sogar Monate gedauert haben, können so in kürzester Zeit abgeschlossen werden. Je nach Aufbau der Pipeline kann so ein Zyklus weniger als eine Stunde dauern. Verschiedene Projekte können parallel ablaufen, wodurch täglich eine Vielzahl an Änderungen veröffentlicht werden kann. Hat DevOps auch Nachteile? Prinzipiell steht DevOps für Verbesserungen, was an sich kein Nachteil ist. Wenn man Veränderung aber als etwas Negatives wahrnimmt, wird es schnell zum Nachteil. Man wird zum Verlassen der eigenen Komfortzone gezwungen und muss sich kritisch mit der eigenen Arbeit und den Prozessen auseinandersetzen. Das ist nicht immer angenehm und kann zu verletzten Gefühlen führen, wenn andere Verbesserungen der eigenen Arbeit vorschlagen. Ich höre oft von Softwaretestern, dass sie sich Sorgen um ihren Arbeitsplatz machen, sobald von Testautomatisierungen die Rede ist. Diesen kann ich nur raten, sich selbst mit der Thematik zu beschäftigen und das Automatisieren zu erlernen. Schliesslich müssen auch automatische Tests permanent gepflegt, verändert und erweitert werden. Wie hilft DevOps Anbietern von SaaS-Lösungen? Durch die hohe Geschwindigkeit bei der Bereitstellung von Verbesserungen können Unternehmen schneller auf Kundenwünsche reagieren und neue Funktionen einführen. Gerade für SaaS-Unternehmen ist dies enorm wichtig, um ein hohes Mass an Kundenzufriedenheit zu erreichen und so Kunden langfristig zu behalten. Brauchen Unternehmen für DevOps eine neue Kultur? Bei allen Beteiligten muss die Bereitschaft vorhanden sein, neue Technologien und Methoden zu erlernen sowie bestehende Prozesse zu verändern oder sogar komplett zu ersetzen. Ohne diese Bereitschaft wird sich DevOps als Konzept nicht durchsetzen können. Müssen die Mitarbeiter für DevOps speziell geschult werden? Spezielle Schulungen können sicher hilfreich sein, aber man kann auch in Eigenregie eine Menge erreichen. Das Internet liefert eine Menge an Informationen und Erfahrungen zur Thematik DevOps. DevOps ohne Cloud, Container und Microservices. Geht das? Bei DevOps geht es primär um Verbesserungen und nicht um eine spezielle Technologie. Es geht darum, die Arbeitsschritte in einem Prozess zu analysieren, um Schwachstellen zu finden und zu beseitigen. Das Beseitigen findet oft unter dem Einsatz von neuen Methoden und Technologien statt; allerdings steht die Verbesserung im Vordergrund und nicht das hierfür benötigte Werkzeug. Ist Bexio durch DevOps agiler und flexibler geworden? Erste Erfolge sind definitiv sichtbar. Mit einigen Änderungen konnten wir bereits eine Reihe von Herausforderungen lösen. Auch wenn wir noch nicht ganz am Ziel sind und Herausforderungen noch vor uns stehen, sind wir zweifellos auf dem richtigen Weg. « Entwicklungszyklen, die früher Wochen oder sogar Monate gedauert haben, können mit DevOps in kürzester Zeit abgeschlossen werden. » David Schneider, Teamleader DevOps bei Bexio www.netzwoche.ch © netzmedien ag 06 / 2018

Archiv