iX Developer Effektiver entwickeln 2016

5,99 €*

Lieferzeit Sofort lieferbar

Highlights:
  • Continous Delivery: Basiswissen
  • DevOps: IT-Kulturwandel
  • Microservices: Architekturkonzept
  • inkl. Heft-DVD
Format
Anzahl
Inhaltsverzeichnis

Continuous Delivery

… verspricht Produktivsetzungen der entwickelten Software auf Knopfdruck bei besserer Qualität. Was sind die zentralen Ideen dahinter, welche Voraussetzungen muss man schaffen, um damit erfolgreich zu sein, und was sind die wichtigsten Tools?

DevOps

… lebt nicht nur von geeigneten Werkzeugen, sondern vor allem von gegenseitigem Vertrauen und geteilter Verantwortung. Erst dann lässt sich die Idee hinter DevOps umsetzen, wie Erfahrungen mit entsprechenden Tools aus der Praxis zeigen..


Einführung

Präambel

Wie DevOps, Continuous Delivery und Containerisierung zum idealen Gespann werden8

Qualitätssicherung

Zuverlässige Tests in der agilen Softwareentwicklung12

Build-Security

Risiken beim Bau von Anwendungen und Lösungsansätze für die Sicherheit16

Systemautomatisierung

Entwicklungs- und Produktionsumgebungen automatisiert bereitstellen und verwalten24


Continuous Delivery

Eine Einführung in Continuous Delivery – Tutorial

Grundlagen36
Commit Stage40
Acceptance Test Stage46
Bereitstellen der Infrastruktur50

Integrationswerkzeug

Continuos Integration und Continuous Delivery mit Jenkins54

Datenbanken

Schemamigrationen mit Liquibase und Flyway60


DevOps

IT-Kultur

DevOps führt Systemverwalter und Softwareentwickler zusammen66

Automatisierungs-Tools

Chef, Puppet und Ansible: Im Dienst der Continuous Integration70

APM

DevOps und Application Performance Management76

DevSec

DevOps, Compliance und Sicherheit82

Strategien gegen die Blockade

Softwareinnovationen im Maschinenbau86

Change Management

Agil allein reicht nicht – Veränderungen bei der 1&1 MyWebsite90

BizDevOps

Nächster Schritt in der Evolution mit einem holistischen Ansatz94

Microservices

Architekturkonzept

Microservices: Modularisierung ohne Middleware100

Patterns

Der perfekte Microservice106

Enterprise IT

Warum Microservices in großen Unternehmen mehr als nur Software sind114

Java-Microframeworks

Ein Blick auf Spark, Ninja, Jodd und Ratpack120


Container

Einführung

Wie Docker die IT-Landschaft revolutioniert126

Docker-Tools

Multi-Tier-Applikationen mit Docker Compose, Machine und Swarm130

Ökosystem

Mehr als das Standardvorgehen:
Tool-Auswahl für komplexe Docker-Szenarien136

Orchestrierung

Mit Google Kubernetes< viele Docker-Container verwalten145

Virtualisierung

Docker-Container sicher betreiben150


Sonstiges

Editorial3
DVD-Inhalt6
Inserentenverzeichnis113
Impressum113

Der ewige Kreis


Die Softwareentwicklung zeigt derzeit Mut zur Größe – zur kleinen Größe. Der Trend geht weg von monolithischen Systemen hin zu kleinen Bausteinen wie Microservices. Auch die Zeiträume zwischen Releases schrumpfen: Statt alle ein bis drei Jahre ein großes Major Release herauszubringen und durch Service Packs zu ergänzen, veröffentlichen Unternehmen mithilfe von Continuous Delivery eine neue Softwareversion, sobald sich eine Komponente ändert. Große Internetfirmen wie Google, Amazon oder Facebook aktualisieren ihre Plattformen inzwischen im Minutentakt. Dass die Nutzer davon nur bei Änderungen der Oberfläche etwas mitbekommen, zeigt, wie reibungslos die kontinuierlichen Prozesse funktionieren können. Ein Wartungsfenster am Wochenende existiert im Internet nicht. Die Softwareentwicklung wird zum ewigen Kreis. Container bieten Entwicklern eine in sich abgeschlossene und damit überschaubare Umgebung zum Testen und Ausrollen der Anwendungen. Dank der einfachen Reproduzierbarkeit können die Teams auf große Testumgebungen verzichten. Ändern sich die Anforderungen oder Umgebungen, passen sie einfach die Schablone an und rollen neue Container aus.


Containerisierung, Komponenten oder kontinuierliche Prozesse sind keine Erfindung der 2010er-Jahre, sondern haben in der ein oder anderen Ausprägung immer wieder den Weg in die Schlagzeilen geschafft. Oft scheiterten sie in der Realität jedoch an Komplexität und Inkompatibilitäten. Es gibt jedoch entscheidende Unterschiede, die den aktuellen Techniken und Tools zum Erfolg verhelfen sollten. Microservices punkten durch die Unabhängigkeit der einzelnen Dienste voneinander: Jeder hat seine eigene Ablaufumgebung und kommuniziert über Standardnetzwerkprotokolle mit der Außenwelt. Frühere Modularisierungskonzepte bedienten oftmals eine spezielle Sprache oder verwendeten einen Applikationsserver und scheiterten an der Zusammenarbeit über die Grenzen hinweg. Docker-Container haben einen klaren Fokus auf Entwickler und sind leichter zu verwenden als vorherige Ansätze. Jenkins ist besonders wegen seiner Flexibilität und des offenen Plug-in-Konzepts zur festen Größe für Continuous Delivery geworden. Bei den Konfigurations-Management-Systemen buhlen vor allem Chef, Puppet und Ansible mit unterschiedlichen Stärken um die Gunst der Anwender.


Die technische Basis und die weitgehend quelloffenen Werkzeuge sind jedoch nur die halbe Miete. DevOps, also das Zusammenspiel von Softwareentwicklern (Dev) und den Administratoren (Ops), erfordert ein Umdenken der Beteiligten: Die Fraktionen müssen zusammenarbeiten und bei Problemen gemeinsam nach Lösungen suchen. Wenn Entwickler im Prozess der kontinuierlichen Verteilung eine Komponente ändern und damit einen neuen Build anstoßen, der die Änderung sofort ins Livesystem übernimmt, kommt ihnen und ihrem Werk zudem eine höhere Bedeutung zu als bisher. Der Satz „You build it, you run it“ von Amazons CTO Werner Vogels bringt es auf den Punkt: Jeder Entwickler ist für seinen Code verantwortlich und bekommt dadurch mehr Bezug zum Gesamtprodukt.


Der Kulturwandel erfordert Umdenken auf allen Ebenen. In einigen Projekten erweist es sich als sinnvoll, dass sich das Management aus dem Tagesgeschäft heraushält und somit den einzelnen Teams mehr Verantwortung zuteilt. Auch traditionelle Unternehmen wie Maschinenbauer können durchaus von moderner Softwareentwicklung profitieren und mit den passenden Ansätzen den Produktionsbetrieb in der Fabrik optimieren, ohne dort den reibungslosen Ablauf zu gefährden. Damit schließt er sich wieder, der ewige Kreis. Mit diesem Heft möchten wir Ihnen helfen, sich bei den Themen Continuous Delivery, DevOps, Containerisierung und Microservices zurechtzufinden. iX und heise Developer wünschen Ihnen viel Spaß beim Lesen!



Rainald Menge-Sonnentag & Alexander Neumann

Auf der Heft-DVD


Multimedia: Videos (Continuous Lifecycle 2015): The Rationale for Continuous Delivery Dave Farleys Keynote-Vortrag von der Continuous Lifecycle 2015 ist ein zeitgemäßer Überblick zu den mit Continuous Delivery und DevOps verbundenen Entwicklungsprozessen. Reinventing your Workplace – Struktur, Technik und Kultur bei 1&1 MyWebsite Der Vortrag von Matthias Kainer und Marcel Devantier zeigt, wie Struktur, Technik und Kultur Hand in Hand gehen, welche Werkzeuge man dabei verwenden kann und wie schwierig es ist, alles zu ändern.


Microservices, DevOps, Continuous :Delivery – mehr als drei Buzzwords: Eberhard Wolffs Vortrag zeigt, wie Microservices, Continuous Delivery und DevOps zusammenpassen und dass Microservices mehr als ein Hype sind.

Branch-Modelle mit Git: Verschiedene Entwicklungsszenarien erfordern passende Branches. Der Vortrag von Bjørn Stachmann und René Preißel zeigt Möglichkeiten, diese und weitere Release-Prozesse mit Git umzusetzen.


Audio (SoftwareArchitekTOUR):
• Modularisierte Architektur für große Systeme
• Know-how für Architekten
• Architekturanalyse und -bewertung
• Soziale Kompetenz für Architekten


Software: Ubuntu 14.04.4: Long-Term-Support-Release der populären Linux-Distribution, die für viele Artikel des Hefts herangezogen wurde.


Eclipse 4.5.2: Auf der Heft-DVD finden Leser das zweite Update der Entwicklungsumgebung in der Mars-Distribution für Java-Entwickler.




DevOps- und Produktivitätswerkzeuge: Continuous Delivery und DevOps sind ohne diese auf DVD zu findenden Tools nur schwer vorstellbar: Ansible, Chef, Puppet, Docker, Kubernetes, Marathon, Aurora, Mesos, Vagrant, Flyway,ˇ Liquibase, Jenkins, VirtualBox.


Listings und Lizenzen: Die Listings zu den Heftartikeln und die Lizenzen zu den Softwarepaketen auf der Heft-DVD.


Microservices (Broschüre zum Buch):Diese von Eberhard Wolff konfektionierte Broschüre gibt eine kurze Einführung in das Thema Microservices und stellt dar, was Microservices überhaupt sind und welche Vorteile sie haben. Das soll den Einstieg in das Thema erleichtern und helfen, die Einsetzbarkeit und den Nutzen von Microservices in einem bestimmten Kontext abzuschätzen. So können Microservices vom Hype zum sinnvollen Bestandteil im Werkzeugkasten eines Architekten werden. Continuous Delivery – Der pragmatische


Einstieg (Buchauszüge):Continuous Delivery ermöglicht es, Software viel schneller und mit wesentlich höherer Zuverlässigkeit in Produktion zu bringen. Eberhard Wolffs Buch hilft, sich mit dem Aufbau einer Continuous-Delivery-Pipeline vertraut zu machen, und erklärt, welche Technologien Entwickler dazu einsetzen können.


iX Developer „Bessere Software“:Das von heise Developer 2013 zusammengestellte Heft zur Qualitätssicherung in der Softwareentwicklung setzt auf 180 Seiten den Fokus auf die Schlagwörter „Agile ALM“, „Continuous Delivery“ und „DevOps“.


Artikel-Details
Anbieter:
Heise Medien GmbH & Co. KG
EAN:
4018837040294
Veröffentlicht:
06.04.16