
DevOps für Dummies
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Persons
Content
Über die Autorin 9
Vorwort 11
Einleitung 25
Über dieses Buch 25
Törichte Annahmen über den Leser 25
Symbole in diesem Buch 26
Wie geht es weiter? 26
Teil I: DevOps entmystifizieren 27
Kapitel 1 Einführung in DevOps 29
Was ist DevOps? 29
DevOps hat sich aus Agile entwickelt 30
DevOps stellt Menschen in den Mittelpunkt 30
Unternehmenskultur ist die Grundlage von DevOps 30
Sie lernen, indem Sie den Prozess überwachen und Daten sammeln 31
Überzeugungskraft ist der Schlüssel zur Umsetzung von DevOps 31
Kleine, inkrementelle Änderungen sind unbezahlbar 32
Von DevOps profitieren 32
Das CALMS-Modell 33
Das Problem der Interessenskonflikte lösen 35
Kapitel 2 Gestalten Sie Ihre Organisation 37
Die Gesundheit Ihrer Unternehmenskultur bewerten 38
DevOps integrieren 39
Die DevOps-Werte im Einzelnen 40
Teamwork fördern 40
Silos reduzieren 41
Denken Sie systemorientiert 41
Fehlschläge akzeptieren 41
Kommunizieren, kommunizieren, kommunizieren 42
Rückmeldungen entgegennehmen 42
Abläufe automatisieren (falls sinnvoll) 43
Die Unternehmenskultur formen 43
Die schlimmsten Fehler der Technologiekultur vermeiden 45
Eine Vision entwerfen 46
Auf ein gemeinsames Ziel hinarbeiten 47
Beurteilungen 48
Prämien 49
Kapitel 3 Überflüssiges erkennen 51
Die sieben Arten von Verschwendung 52
Unnötige Abläufe 52
Wartezeiten 52
Bewegung 53
Kosten für Fehler 53
Überproduktion 53
Transport 53
Lagerbestand 54
Verschwendung in DevOps verstehen 54
Verschwendung vermeiden 56
Flaschenhälse erkennen 56
Auf die Auswirkungen konzentrieren 59
Kapitel 4 Die Kollegen überzeugen, es mit DevOps zu probieren 61
Angst vor Veränderungen 61
Die Leute um Sie herum vom Wechsel zu DevOps überzeugen 63
Unterstützung von Führungskräften erhalten 65
Eine Dünung im Entwicklungsteam aufbauen 66
Die mittleren Manager managen 67
Die Sturköpfe überzeugen 68
Die Adaptionskurve verstehen 69
Den Wandel vorantreiben 71
Auf Gegenwind reagieren 72
Den Abgrund überqueren 72
Fragen Sie »warum« 73
Kapitel 5 Ihr Unternehmen beurteilen 75
DevOps quantifizieren 77
Menschen 77
Abläufe 78
Technologie 79
Die Daten erheben 80
Interne Fallstudien entwickeln 80
Eine qualitative Fallstudie: Konzentrieren Sie sich auf Ihre Mitarbeiter 81
Eine quantitative Fallstudie: Konzentrieren Sie sich auf Deployments 83
Teil II: Eine Pipeline einrichten 85
Kapitel 6 Den neuen Entwicklungslebenszyklus übernehmen 87
Alle an einen Tisch bitten 87
Prozesse umwandeln: Von der Linie zum Kreis 88
Administrative Aufgaben »nach links« schieben: über Infrastruktur nachdenken 92
Auch Deployments nach links verschieben 93
Simulation der Produktion durch Staging 93
Kapitel 7 Vorausplanen 95
Über das Agile-Modell hinausgehen 95
Herausforderungen vorhersehen 97
Herausforderungen und Einschränkungen bei Projekten identifizieren 98
Zeitplan 98
Budget 99
Anforderungen bestimmen 99
Ein MVP entwickeln 100
Herausfinden, welches Problem Ihr MVP lösen muss 101
Herausfinden, wer Ihre Kunden sind 102
Die Konkurrenz unter die Lupe nehmen 102
Funktionen priorisieren 103
Die Benutzererfahrung gestalten 104
Ihre Hypothese überprüfen 105
Beta-Release, ja oder nein? 106
Personas entwerfen, um Ihre Kunden besser kennenzulernen 106
Was ist eine Persona? 107
Eine Persona ausarbeiten 107
Kapitel 8 Aus der DevOps-Perspektive designen 109
Ihr Design konstruieren 110
Für DevOps gestalten 112
Softwareentwicklung für den Wandel 112
Software kontinuierlich verbessern 113
Ihre Software dokumentieren 114
Codearchitektur für die sechs Leistungsmerkmale von DevOps 115
Wartungsfreundlichkeit 116
Skalierbarkeit 116
Sicherheit 118
Benutzerfreundlichkeit 119
Zuverlässigkeit 120
Flexibilität 120
Designentscheidungen dokumentieren 121
Fallstricke bei der Architektur vermeiden 122
Kapitel 9 Code entwickeln 125
Kommunikation rund um den Code 125
Für den Fehlerfall entwickeln 128
Wartungsfreundlichen Code schreiben 128
Code testen 129
Code debuggen 129
Code protokollieren 130
Unveränderbaren Code schreiben 130
Lesbaren Code erstellen 131
Programmiermuster 131
Objektorientierte Programmierung 131
Funktionale Programmierung 132
Eine Programmiersprache wählen 132
Anti-Patterns vermeiden 133
Nach DevOps-Prinzipien entwickeln 134
Sauberen Code schreiben 135
Das Geschäft verstehen 135
Anderen zuhören 135
Die richtigen Schwerpunkte setzen 136
Die Komfortzone verlassen 136
Gute Vorgehensweisen etablieren 137
Ordnung im Quellcode halten 137
Tests schreiben 137
Features dokumentieren 138
Legen Sie den Kollegen Ihren Code zur Kontrolle vor 139
Kapitel 10 Tests vor der Veröffentlichung 141
Warum Tests? 141
Automatisierte Tests sind nicht optional 142
Testen in verschiedenen Umgebungen 143
Lokale Umgebung 144
Entwicklungsumgebung 144
Testumgebung 145
Staging-Umgebung 146
Produktionsumgebung 146
Über den Komponententest hinaus 147
Komponententests: Es lebt! 147
Integrationstests: Spielen alle Teile zusammen? 148
Regressionstests: Verhält sich der Code nach
Änderungen noch genauso? 148
Visuelle Tests: Sieht alles noch genauso aus? 148
Performance-Tests 149
Kontinuierliches Testen 149
Kapitel 11 Ein Produkt deployen 151
Code freigeben 151
Kontinuierliche Integration und Auslieferung 152
Von CI/CD profitieren 152
CI/CD implementieren 153
Kontinuierliche Integration 153
Kontinuierliche Bereitstellung 154
Kontinuierliches Deployment 154
Deployments managen 155
Richtig automatisieren 155
Versionierung 156
Fehler abmildern 158
Rollbacks 158
Flucht nach vorne 159
Deployments demokratisieren 159
Einen Deployment-Stil wählen 160
Blue-Green-Deployment 160
Schrödingers Kanarienvogel: Der Deploy ist tot (oder doch nicht?) 162
Rolling Release 163
Feature-Flags 165
Ihre Systeme überwachen 165
Telemetrie verstehen 166
Verhalten aufzeichnen 166
SLAs, SLIs und SLOs 167
Teil III: Den Kreis schließen 169
Kapitel 12 Rapid Iteration implementieren 171
Wichtige Aufgaben zuerst 172
Wichtig und dringend 173
Wichtig, nicht dringend 173
Dringend, nicht wichtig 175
Weder wichtig noch dringend 176
Schneller werden 177
Die Performance verbessern 180
Unvollkommenheit akzeptieren 181
Kleine Teams gestalten 181
Ihre Arbeit nachverfolgen 182
Reibung verringern 183
Warnmeldungen menschlicher gestalten 183
Kapitel 13 Feedback-Schleifen rund um den Kunden einrichten 185
Einen Kundenrückmeldungsprozess erstellen 186
Eine Feedback-Schleife erstellen 187
Empfangen 187
Analysieren 188
Kommunizieren 188
Verändern 189
Feedback sammeln 190
Umfragen zur Zufriedenheit 190
Fallstudien 191
Dogfooding: Selbstanwendung 191
Um kontinuierliche Rückmeldung bitten 193
Promotorenüberhang: Net Promoter Score (NPS) 194
Einen Rhythmus finden 194
Kapitel 14 DevOps-Teams zusammenstellen 197
DevOps-Teams formen 197
So funktionieren funktionale Teams 198
Ein spezielles DevOps-Team bereitstellen 199
Funktionsübergreifende Produktteams bilden 200
Schnell zum Vorstellungsgespräch (aber nicht zu schnell) 202
Eine Stellenbezeichnung wählen 203
Die Personalbeschaffung endet nie 205
Die richtigen Leute finden 206
Hervorragende Kandidaten weiterreichen 206
Technische Fähigkeiten bewerten 207
Überarbeitetes Whiteboarding 207
Hausaufgaben 208
Code-Reviews 209
Schnell feuern 209
Das Ekel 210
Der Märtyrer 211
Der Underperformer 211
Kapitel 15 Eigenverantwortung für die Entwickler 213
Entwicklungsteams mit DevOps skalieren 213
Drei Phasen eines Unternehmens 214
Start-up 215
Etabliertes Start-up oder mittelständisches Unternehmen 215
Großunternehmen 216
Die Mühen der Ebene 218
Die Motivation ergründen 219
Motivation für Entwickler 220
Abhängigkeit von extrinsischen Belohnungen vermeiden 220
Autonomie 221
Meisterschaft 221
Sinnhaftigkeit 222
Arbeit zum Vergnügen machen 222
Den Leuten die Möglichkeit geben, ihre Teams auszuwählen 223
Motivation messen 223
Teil IV: Kaizen: die Kunst der kontinuierlichen Verbesserung 225
Kapitel 16 Erfolgreich mit Fehlschlägen umgehen 227
Schnelles Scheitern im Tech-Bereich 227
Sicheres Scheitern 228
Fehlerausbreitung einschränken 228
Menschliches Versagen akzeptieren - und keine Schuldzuweisungen! 229
Gut scheitern 230
Wachstumsmentalität 230
Die Freiheit zum Scheitern schaffen 231
Kapitel 17 Auf Zwischenfälle vorbereitet sein 235
Mit Automatisierung gegen »menschliches Versagen« ankämpfen 236
Fokussierung auf Systeme: realistische Automatisierung 237
Mit Automatisierungstools Probleme bei der
Codeintegration vermeiden 238
Deployments und Infrastruktur managen 240
Overengineering eingrenzen 240
Bereitschaftsdienste menschlicher gestalten 242
Wenn Bereitschaftsdienste unmenschlich werden 242
Humane Erwartungen an den Bereitschaftsdienst 243
Notfallmanagement 245
Beständigkeit zum Ziel machen 246
Standardverfahren einführen 247
Ein realistisches Budget ansetzen 248
Reaktion auf Vorfälle vereinfachen 248
Auf eine ungeplante Unterbrechung reagieren 249
Fortschritt empirisch messen 253
MTTR: Mean Time to Repair 253
MTBF: Mean Time between Failures 254
CPI: Cost per Incident 254
Kapitel 18 Vorfälle nachträglich untersuchen 255
Über die Analyse der Grundursache hinaus 255
Die einzelnen Phasen eines Vorfalls durchgehen 257
Vorfälle erfolgreich nachbereiten 258
Das Treffen sofort anberaumen 258
Alle miteinbeziehen 258
Schuldzuweisungen vermeiden 258
Den zeitlichen Ablauf betrachten 259
Schwierige Fragen stellen 260
Im Nachhinein sind Sie immer schlauer 261
Gesprächsprotokolle anfertigen 262
Einen Plan erstellen 262
Teil V: Werkzeuge für Ihre DevOps-Praxis 263
Kapitel 19 Neue Tools 265
Integration von Open-Source-Software 265
Open Computing als Innovationstreiber 266
Open-Source-Lizenzierung 267
Entscheidung für Open Source 268
Auf neue Sprachen umstellen 270
Compiler- und Interpretersprachen 270
Parallelisierung und Multithreading 271
Funktionale Programmierung 272
Speicherverwaltung 273
Sprachen sinnvoll auswählen 273
Kapitel 20 Verteilte Systeme 277
Monolithen und Microservices 278
Zuerst eine monolithische Architektur wählen 279
Umstieg auf Microservices 280
Großartige APIs entwickeln 281
Was ist eine API? 282
Auf einheitliches Design achten 282
Container: Viel mehr als virtuelle Maschinen 285
Container und Images verstehen 286
Microservices in Containern deployen 286
Orchestrierer vergleichen: Die Harmonisierung des Schwarms 288
Container konfigurieren 290
Container überwachen: Halten Sie sie am Leben, bis Sie sie töten 291
Container absichern: Diese Kisten brauchen ein Schloss 292
Kapitel 21 Migration in die Cloud 295
DevOps in der Cloud 295
Ihre DevOps-Kultur in die Cloud bringen 296
Lernen durch Übernahme 296
Von Cloud-Diensten profitieren 297
Arten von Clouds 298
Public Cloud 298
Private Cloud 299
Hybrid Cloud 299
Cloud as a Service 299
Infrastructure as a Service 300
Platform as a Service 300
Software as a Service 301
Den besten Cloud-Anbieter wählen 301
Amazon Web Services (AWS) 302
Microsoft Azure 302
Google Cloud Platform (GCP) 303
Tools und Services in der Cloud finden 303
Teil VI: Der Top-Ten-Teil 307
Kapitel 22 (Mehr als) 10 wichtige Gründe für DevOps 309
Beständigen Wandel akzeptieren 309
Die Cloud nutzen 310
Die Besten einstellen 310
Wettbewerbsfähig bleiben 311
Menschliche Probleme lösen 311
Mitarbeiter fordern 312
Brücken schlagen 312
Gut scheitern 312
Kontinuierliche Verbesserung 313
Mühsame Arbeiten automatisieren 314
Auslieferung beschleunigen 314
Kapitel 23 Die zehn größten DevOps-Fallstricke 315
Kultur vernachlässigen 315
Nicht alle mitnehmen 316
Anreize schlecht aufeinander abstimmen 316
Stillschweigen 317
Vergessen zu messen 318
Micromanaging 318
Zu schnell zu viel verändern 319
Schlechte Werkzeugauswahl 319
Angst vor Misserfolgen 320
Zu hart sein 320
Stichwortverzeichnis 323
Kapitel 1
Einführung in DevOps
IN DIESEM KAPITEL
- Die wichtigsten Grundsätze von DevOps im Überblick
- Die Werte von DevOps verstehen
- Die Vorteile für Ihre Organisation erkennen
DevOps verändert die Zusammenarbeit von Entwicklungsteams bei der Erstellung und Bereitstellung von Software. Diese breit angelegte, umfassende Philosophie wirkt branchenübergreifend und in den verschiedensten Anwendungsgebieten inspirierend.
Ich definiere DevOps als Entwicklungskultur der Zusammenarbeit, Eigenverantwortung und des Lernens, alles mit dem Ziel, den Lebenszyklus der Softwareentwicklung von der Idee zum fertigen Produkt zu beschleunigen. DevOps kann zwischenmenschliche Reibungsverluste reduzieren, Engpässe beseitigen, die Zusammenarbeit optimieren, die Arbeitsmoral der Entwickler durch selbstbestimmte Tätigkeit erhöhen und die Produktivität der Teams steigern. DevOps ist kein Wundermittel, kann sich aber massiv auf Ihre Organisation und Ihre Produkte auswirken.
In diesem Kapitel betone ich die wichtige Rolle der Unternehmenskultur gegenüber Abläufen und Werkzeugen, diskutiere die Grundsätze und Werte von DevOps und führe aus, inwiefern Ihre Organisation von einem DevOps-Ansatz profitieren wird.
Was ist DevOps?
Dieses Buch liefert Ihnen kein genaues DevOps-Rezept - denn es gibt keins. DevOps ist eine Philosophie, die Menschen über den Prozess stellt und Prozesse über Werkzeuge. DevOps schafft eine Kultur des Vertrauens, der Zusammenarbeit und kontinuierlichen Verbesserung. Der Entwicklungsprozess wird ganzheitlich betrachtet, dabei werden alle Beteiligten berücksichtigt: Entwickler, Tester, ITler, Sicherheitsleute und Infrastrukturentwickler. DevOps stellt keine dieser Gruppen über die andere, noch wertet es die Bedeutung ihrer Arbeit. Stattdessen ist für ein DevOps-Unternehmen das gesamte Entwicklerteam entscheidend, um dem Kunden die bestmögliche Erfahrung zu bieten. (In Kapitel 2 erfahren Sie mehr über Unternehmenskultur.)
DevOps hat sich aus Agile entwickelt
Im Jahr 2001 trafen sich 17 Softwareentwickler und veröffentlichten das »Manifest für agile Softwareentwicklung«, in dem die 12 Grundsätze des agilen Projektmanagements dargelegt wurden. (Im Kasten »Die Ursprünge von Agile« in Kapitel 7 erfahren Sie weitere Details darüber.) Dieser neue Workflow war eine Reaktion auf die Frustration und Inflexibilität von Teams, die in einem (linearen) Wasserfallprozess arbeiten. Bei der Arbeit nach agilen Prinzipien müssen sich Entwickler nicht an die ursprünglichen Anforderungen halten oder einem linearen Entwicklungsworkflow folgen, bei dem jedes Team Arbeit an das nächste abgibt. Stattdessen können sie sich an die sich ständig ändernden Erfordernisse des Unternehmens oder des Markts und manchmal sogar an neue Technologien und Tools anpassen.
Obwohl Agile die Softwareentwicklung in vielerlei Hinsicht revolutionierte, konnte es den Konflikt zwischen Entwicklern und Ops-Team nicht lösen. Um technische Fähigkeiten und Spezialitäten bildeten sich immer noch Silos, und die Entwickler gaben den Code weiterhin an den IT-Betrieb weiter, der ihn bereitstellt und betreut.
Im Jahr 2008 machte Andrew Clay Shafer in einem Gespräch mit Patrick Debois seinen Ärger über den ständigen Konflikt zwischen Entwicklern und operativen Mitarbeitern deutlich. Gemeinsam organisierten sie die ersten DevOpsDays in Belgien, um eine bessere und flexiblere Vorgehensweise bei der Softwareentwicklung zu etablieren. Diese Weiterentwicklung von Agile konnte sich durchsetzen und DevOps ermöglicht es mittlerweile Unternehmen auf der ganzen Welt, schneller (und meist auch kostengünstiger) bessere Software zu produzieren. DevOps ist kein kurzlebiger Trend, sondern eine weithin akzeptierte Entwicklungsphilosophie.
DevOps stellt Menschen in den Mittelpunkt
Wer sagt, dass es bei DevOps nur um Werkzeuge geht, will Ihnen etwas verkaufen. DevOps ist vor allem eine Philosophie, die sich auf Entwickler und die Verbesserung der Zusammenarbeit zwischen ihnen konzentriert - mit dem Ziel, großartige Software zu entwickeln. Sie könnten Millionen in alle DevOps-Tools der Welt investieren und wären trotzdem keinen Schritt weiter in Richtung DevOps-Nirvana. Konzentrieren Sie sich stattdessen auf Ihr wichtigstes Entwicklungsinstrument: die Entwickler. Glückliche Entwickler produzieren großartige Software. Wie bekommen Sie glückliche Entwickler? Nun, Sie schaffen eine kollaborative Arbeitsumgebung, in der gegenseitiger Respekt, gemeinsames Wissen und die Anerkennung harter Arbeit gedeihen können. In den Kapiteln 2 und 15 erfahren Sie mehr darüber, wie Sie Teams aus glücklichen, eigenverantwortlichen Entwicklern bilden können, die stolz auf ihre Arbeit sind und wachstumsorientiert denken.
Unternehmenskultur ist die Grundlage von DevOps
Ihr Unternehmen verfügt über eine Kultur, selbst wenn sich diese durch Trägheit entwickeln musste. Diese Kultur hat mehr Einfluss auf die Arbeitszufriedenheit, Produktivität und Teamgeschwindigkeit, als Sie es wahrscheinlich für möglich halten.
Unternehmenskultur lässt sich am besten als die unausgesprochenen Erwartungen, das Verhalten und die Werte eines Unternehmens beschreiben. Sie signalisiert Ihren Mitarbeitern auch, ob die Unternehmensführung offen für neue Ideen ist, und beeinflusst die Entscheidung des Einzelnen, ob er ein Problem ansprechen oder doch lieber unter den Teppich kehren soll.
Kultur möchte gestaltet und verfeinert werden und sollte nicht dem Zufall überlassen werden. Auch wenn die tatsächliche Definition von Unternehmen zu Unternehmen und von Person zu Person variiert, ist DevOps im Grunde eine kulturelle Herangehensweise an die Produktentwicklung.
Eine vergiftete Unternehmenskultur wird Ihre DevOps-Reise ruinieren, bevor sie überhaupt beginnt. Selbst wenn Ihr Entwicklungsteam sich eine DevOps-Mentalität zu eigen macht, werden die Haltungen und Schwierigkeiten der übergeordneten Organisation in Ihre Arbeitsumgebung einfließen.
Mit DevOps vermeiden Sie Schuldzuweisungen, Sie schaffen Vertrauen und konzentrieren sich auf den Kunden. Sie lassen Ihren Entwicklern freie Hand, das zu tun, was sie am besten können: Lösungen ausarbeiten. Wenn Sie mit der Umsetzung von DevOps beginnen, geben Sie Ihren Entwicklern Zeit und Raum, sich darauf einzustellen. Lassen Sie ihnen die Möglichkeit, sich gegenseitig besser kennenzulernen und Kontakte zu Leuten mit unterschiedlichen Fachkenntnissen aufzubauen. Zudem messen Sie den Fortschritt und belohnen Leistungen. Geben Sie niemals Einzelpersonen die Schuld an Misserfolgen. Stattdessen sollte sich das Team gemeinsam kontinuierlich verbessern, und Erfolge sollten gefeiert und belohnt werden.
Sie lernen, indem Sie den Prozess überwachen und Daten sammeln
Die unvoreingenommene Beobachtung des Arbeitsablaufs ist eine leistungsstarke Technik, mit der Sie die Erfolge und Herausforderungen Ihres Workflows realistisch einschätzen können. Dies ist die einzige Möglichkeit, die richtige Lösung für Problembereiche zu finden, die Engpässe in Ihren Abläufen verursachen. Genau wie bei Software besteht die Lösung nicht immer darin, einfach Kubernetes (oder ein anderes neues Tool) einzusetzen. Sie müssen erkennen, wo die Probleme liegen, bevor Sie sie beheben. Währenddessen sammeln Sie Daten - nicht, um Erfolg oder Misserfolg zu messen, sondern um die Leistung des Teams zu verfolgen. Sie ermitteln, was funktioniert und was nicht und was Sie beim nächsten Mal versuchen sollten. In Kapitel 3 erfahren Sie, wie Sie Engpässe in Ihrem Entwicklungsprozess identifizieren können.
Überzeugungskraft ist der Schlüssel zur Umsetzung von DevOps
Es ist nicht einfach, DevOps an Ihre Führungskräfte, Kollegen und Mitarbeiter zu verkaufen. Auch für Entwickler ist der Ablauf nicht immer intuitiv. Sollte sich eine gute Idee nicht von selbst verkaufen? Wenn es doch nur so einfach wäre! Als Schlüsselkonzept bei der Umsetzung von DevOps sollten Sie jedoch immer daran denken, dass es die Menschen in den Vordergrund stellt. Die sogenannten »Soft Skills«, also Kommunikation und Zusammenarbeit, sind für die Einführung von DevOps von zentraler Bedeutung. Andere Leute in Ihrem Team und in Ihrem Unternehmen vom Einsatz von DevOps zu überzeugen, erfordert gute Kommunikationsfähigkeiten. Frühe Gespräche mit Kollegen über DevOps können Wegbereiter für den späteren Erfolg sein - besonders wenn Sie auf unerwartete Hindernisse stoßen.
Kleine, inkrementelle Änderungen sind unbezahlbar
Der Aspekt von DevOps, der darauf abzielt, immer nur kleine, graduelle Änderungen durchzuführen, hat seine Wurzeln in der schlanken Fertigung, die auf schnelles Feedback, kontinuierliche Verbesserung und kürzere Time-to-Market setzt. Wenn ich über die Einführung von DevOps spreche, verwende ich als Metapher gerne das Wasser. Wasser ist eines der mächtigsten Elemente der Welt. Wenn es nicht gerade eine Hochwasserkatastrophe gibt, halten wir es für relativ harmlos. Der Colorado River hat den Grand Canyon geformt. Langsam,...
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.