IT/Technologie
Diebold Nixdorf
Diebold Nixdorf greift im Bereich Softwareentwicklung auf die Software-Experten der lise GmbH zurück.
Unsere agil entwickelten Software-Produkte setzen wir mit dem DevOps-Ansatz um. Schon 2009 entstanden, beschreibt dieser Begriff die Synergie von Development (Entwicklung) und Operations (Betrieb). Dabei hat die agile Prozessphilosophie zwei Ziele: Zum einen möchte sie Entwicklungen schneller und flexibler gestalten, zum anderen dem Wunsch nach einem stabilen und standardisierten Betrieb entsprechen.
Unsere DevOps-Experten in Köln legen dabei auf die Aspekte Kommunikation, Zusammenarbeit, frühe Integration und vollständige Automatisierung besonderen Wert. Wir sehen DevOps dabei nicht nur als Continuous Delivery Toolchain, sondern als einen kompletten Wandel der Unternehmenskultur an, bei dem wir Sie umfassend unterstützen.
Konkret werden mit DevOps die Feedback-Prozesse auf die gesamte Wertschöpfungskette erweitert – vom Anforderungsmanagement bis zum Betrieb. So werden die Produktion, die Entwicklungs- und Testzeiten wie auch die Flexibilität in jeder Stufe der Entwicklung verbessert. Eine flexible und schnelle Reaktion bei gleichzeitigem stabilen Betrieb ist der größte Vorteil von DevOps.
Die beste Voraussetzung dafür: abteilungsübergreifende und cross-funtkionale Teams mit Experten aus den Bereichen Development, Operations, Design, UX, Marketing und Vertrieb, die von Anfang bis zum Ende für ihren Teil der Software-Lösungen verantwortlich sind. Auch wenn Betriebsstrukturen dafür neu organisiert werden müssen, können Sie sich auf unsere Expertise agiler Softwareentwicklung verlassen. Wir sind überzeugt: der DevOps-Ansatz ist zukünftig alternativlos.
Mit dem DevOps-Ansatz verknüpfen wir die Entwicklung und den Betrieb von Software-Lösungen durch eine gemeinsame Kultur, Prozesse sowie Tools und schaffen so eine effiziente Zusammenarbeit zwischen Softwareentwicklern und Administratoren.
Traditionell werden Software-Releases drei- bis viermal im Jahr ausgeliefert. Dies wird im Rahmen von DevOps mit Continuous Delivery ersetzt. So wird der erforderliche Grad an Automatisierung mittelst einer „Deployment Pipeline" ermöglicht. In dieser werden alle für den Auslieferungsprozess benötigten Umgebungen abgebildet. Typischerweise besteht eine Deployment Pipeline aus entsprechenden Phasen: der „Commit Stage" (Continuous Integration), der „Acceptance Stage" (automatisierte Akzeptanztests) hin zur „Production Stage", oft flankiert von einer „User Acceptance Stage" (Benutzerakzeptanztests) und „Capacity Stage" (Last- und Performance-Tests). Die Implementierung von Continuous Delivery hängt dabei vor allem von der Verwendung der richtigen Werkzeuge ab.
Continuous Delivery umfasst die Prozesse, nachdem der Code für Anwendungs-Änderungen integriert wurde, um an Benutzer in bestimmten Zeitabständen oder bei Erreichen einer bestimmten Qualitätsmetrik ausgeliefert zu werden. Dabei geht es um das automatisierte, wiederholbare und zuverlässige Bereitstellen von funktionierender Software. Das Ziel: die Steigerung der Softwarequalität.
Mit der automatisierten Auslieferung unterstützt Continuous Delivery die kulturelle Veränderung durch DevOps, da regelmäßig Feedback über den Zustand der Software gemeldet wird. Außerdem wird mit Continuous Delivery Commit zum potenziellen Release-Kandidaten geschaffen und damit eine kürzere Time-to-Market erreicht. In Summe unterstützt das den kulturellen Wandel hin zu kontinuierlichem Experimentieren.
Auch im Rahmen von DevOps setzen unsere Kölner Softwareentwickler auf Cloud Computing und betreiben die webbasierten Tools in der Microsoft Azure oder AWS Cloud. So profitieren Sie von einer hochintegrierten und hochstandardisierten Palette an Tools, die sich in einem rasanten Tempo weiterentwickeln und immer up to date sind.
Cloud-Technologien überzeugen zudem aufgrund ihrer bedarfsgerechten Skalierbarkeit, Flexibilität, Mobilität und letztlich der höheren Sicherheit. Sie sparen zudem das Investitionskapital für eine eigene Infrastruktur sowie die Kosten für die Wartung.
Wir lassen Sie natürlich mit der Cloud-Technologie nicht allein, sondern versorgen Sie mit dem nötigen Know-how und entwickeln mit Ihnen auf dieser Basis eine erfolgreiche Cloud-Strategie.
Auch wenn wir nach Wunsch und Anforderung mit klassischen Projektmanagementmethoden arbeiten, sind unsere Software-Entwickler in Köln in agilen Praktiken geschult. Zudem sind wir überzeugt, dass viele Herausforderungen an die Digitalisierung Ihrer Prozesse und auch der Komplexität am Markt heutzutage mit agilen Methoden effizienter und zielführender umzusetzen sind.
Dabei passen wir den Prozessansatz an Ihre Bedürfnisse und Gegebenheiten an – von kleinen, agil entwickelten Produkten bis hin zur digitalen Transformation Ihrer Kernprozesse. Ziel ist, dass Sie nach einem umfassenden Know-how-Transfer agile Projekte selbständig durchführen können.
Was meint agil in Bezug auf Softwareentwicklung? Agilität kann sich in diesem Zusammenhang auf einen Teilbereich oder den gesamten Softwareentwicklungsprozess beziehen. Agile Programmierung baut auf selbstorganisierenden Teams auf, sowie einer iterativen und inkrementellen Vorgehensweise. Der Ursprung für agile Softwareentwicklung wurde im Februar 2001 bei einem Treffen in Utah gelegt, bei dem auch das sogenannte Agile Manifest formuliert wurde. Laut des jährlichen „State of Agile Report“ arbeiteten 2016 95 Prozent der weltweit befragten Unternehmen mit agilen Prozessen.
Jetzt über lise Scrum Trainings informieren!
Microservices sind kleine Architekturmuster, die einzelne Aufgaben im Gesamtprozess übernehmen. Der Gedanke dahinter: „Do One Thing and Do It Well“. Die Micro-Programme kommunizieren über standardisierte Programmier-Schnittstellen (APIs).
Wir nutzen für unsere Kunden dabei den großen Vorteil, agiler auf den Markt reagieren zu können. Funktionen, können schneller modifiziert bzw. integriert werden. Insgesamt können aufgrund der modularen Entwicklung Lösungen flexibler veröffentlicht und im laufenden Betrieb stetig optimiert werden.
Unsere Software-Experten in Köln nutzen dabei den Vorteil von Microservices und arbeiten in kleinen auf einzelne Services spezialisierten Teams. So erweitern wir für die entsprechenden Funktionen unsere Expertise, die wir für punktgenaue Lösungen für Sie einsetzen.– Nutzen Sie von uns erstellte Microservices, um am Puls der Zeit zu bleiben und nicht monatelang auf Ihre Lösung zu warten.
Mit Infrastructure as Code verwalten und stellen unsere Software-Experten anstelle manueller Verfahren die benötigte Infrastruktur auf Basis von Code bereit. Wo früher Systeme an die physische Hardware gebunden waren, sind sie im Cloud-Zeitalter von ihr losgelöst. Bereitstellung und Wartung wird über automatisierte Skripte oder eine Management-Software zur Ausführung dieser Skripte vorgenommen. Änderungen sind innerhalb von Sekunden möglich. Das senkt Risiko sowie Kosten – Produkte sind schneller am Markt.
Bei Infrastructure as Code handelt es sich nicht um neue Tools, sondern um eine völlig neue Herangehensweise im Management von IT-Infrastruktur. Ein System damit einzurichten, meint, es als Code zu programmieren, der beliebig dupliziert und versioniert werden kann. So wird ein lauffähiges System zum Ergebnis eines ausführbaren Codes. Oftmals ist die Cloud-Technologie Grundlage für Infrastructure as Code, um Systeme schnell zu erstellen, sie zu skalieren und auf neue Business-Anforderungen zu reagieren.
Für unsere Softwareentwickler ist Infrastructure as Code interessant, da sie beim Ausrollen einer neuen Anwendung selber einen Infrastructure-as-Code-Prozess für die Bereitstellung schreiben können, was vor allem in Testphasen viele Vorteile mit sich bringt. Außerdem wird so nicht nur die Anwendung selbst versioniert, sondern auch die für die Anwendung benötigte Laufzeitumgebung. Dies hat mehrere Benefits: Zum einen liegt der jeweiligen Software-Version die dafür benötigte Beschreibung der Laufzeitumgebung bei, zum Anderen kann damit ein „Configuration Drift" vermieden werden. Außerdem lässt sich die benötigte Laufzeitumgebung jederzeit wiederherstellen.
„Snowflake Server" gehören der Vergangenheit an. Für die Umsetzung von Infrastructure as Code gibt es zwei Ansätze: „Mutable Infrastructure" aktualisiert die bestehende Infrastruktur mit jeder neuen Version, „Immutable Infrastructure" dagegen tauscht mit jeder Aktualisierung die Infrastruktur aus, das heißt die alte Laufzeitumgebung wird heruntergefahren und durch eine neue Laufzeitumgebung ersetzt. Dies wird typischerweise durch Container-Technologie wie Docker erreicht.
Continuous-Delivery-Werkzeuge schaffen den erforderlichen hohen Grad an Automatisierung der „Deployment Pipeline“. Wir nutzen im gesamten Softwareentwicklungsprozess mehrere Tools in Kombination. Sie werden für jedes zu entwickelnde Produkt individuell zusammengestellt, sodass zum einen eine reibungslose Zusammenarbeit möglich ist als auch alle genutzten Zielplattformen unterstützt werden: