Skalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale
()
About this ebook
Related to Skalierbare Softwaresysteme
Titles in the series (100)
Skalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Rating: 0 out of 5 stars0 ratingsUX Design für Tablet-Websites: Ein Überblick Rating: 0 out of 5 stars0 ratingsIT Wissensmanagement: Theorie und Praxis Rating: 0 out of 5 stars0 ratingsHTML5 Security Rating: 0 out of 5 stars0 ratingsEinstieg in Google Go Rating: 0 out of 5 stars0 ratingsJava 7: Fork-Join-Framework und Phaser Rating: 0 out of 5 stars0 ratingsJava EE Security Rating: 0 out of 5 stars0 ratingsTitanium Mobile: Multi Platform Apps mit JavaScript Rating: 0 out of 5 stars0 ratingsServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Rating: 0 out of 5 stars0 ratingsHTML5 für Mobile Web Rating: 0 out of 5 stars0 ratingsJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Rating: 0 out of 5 stars0 ratingsÜberzeugende Präsentationen: Konzeption, Technik und Design Rating: 0 out of 5 stars0 ratingsAlgorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsJavaScript auf dem Server Rating: 0 out of 5 stars0 ratingsGeolocation mit PHP: Foursquare-API, Google Places & Qype Rating: 0 out of 5 stars0 ratingsTFS 2012 Versionskontrolle: Grundlagen, Check-In Policies und Branch-Modelle Rating: 0 out of 5 stars0 ratingsQualität in IT-Architekturen: Strategie und Planung Rating: 0 out of 5 stars0 ratingsAmazon Web Services für .NET Entwickler Rating: 0 out of 5 stars0 ratingsOAuth 2.0: Client & Server Rating: 0 out of 5 stars0 ratingsVaadin mit Eclipse, Clojure und OSGi Rating: 0 out of 5 stars0 ratingsBPM: Strategien und Anwendungsfälle Rating: 0 out of 5 stars0 ratingsNFC: Near Field Communication für Android-Entwickler Rating: 5 out of 5 stars5/5Qualitätssicherung mit JavaScript und PHP Rating: 0 out of 5 stars0 ratingsNintex Workflow: Konzepte und Strategien für leistungsfähige SharePoint-Workflows Rating: 0 out of 5 stars0 ratingsSoftwareentwicklungsprozess: Von der ersten Idee bis zur Installation Rating: 0 out of 5 stars0 ratingsADF - Mobile Apps entwickeln und Swing ablösen: Mobile Apps entwickeln und Swing ablösen Rating: 0 out of 5 stars0 ratingsUser Experience Testing 3.0: Status Quo, Entwicklung und Trends Rating: 0 out of 5 stars0 ratingsSpring: Vier Perspektiven auf Framework und Ökosystem Rating: 0 out of 5 stars0 ratings
Related ebooks
Softwarestabilität in der Industrie Rating: 0 out of 5 stars0 ratingsBig Data: Datenverarbeitung basierend auf MOM und SQL Rating: 0 out of 5 stars0 ratingsTFS 2012 Versionskontrolle: Grundlagen, Check-In Policies und Branch-Modelle Rating: 0 out of 5 stars0 ratingsStructr: Quelloffenes Daten-CMS auf Neo4j-Basis Rating: 0 out of 5 stars0 ratingsAgiles IT-Architekturmanagement Rating: 0 out of 5 stars0 ratingsApache Mahout: Empfehlen, clustern, klassifizieren Rating: 0 out of 5 stars0 ratingsLogging: Schnelleinstieg Rating: 0 out of 5 stars0 ratingsResilience: Wie Netflix sein System schützt Rating: 0 out of 5 stars0 ratingsMicrosoft Azure: Cloud Entwicklung für lokale Applikationen Rating: 0 out of 5 stars0 ratingsCloud Computing Rating: 0 out of 5 stars0 ratingsAdministrator Praxis - Kleine Windows Netzwerke Rating: 0 out of 5 stars0 ratingsMongoDB: Der praktische Einstieg Rating: 0 out of 5 stars0 ratingsApache Tamaya: Einstieg in die Konfiguration in Java Rating: 0 out of 5 stars0 ratingsSQL Server: Performanceprobleme analysieren und beheben Rating: 0 out of 5 stars0 ratingsApplication Insights Rating: 0 out of 5 stars0 ratingsSQL Server 2014: Ein Blick in die Datenzukunft Rating: 0 out of 5 stars0 ratingsPaaS - Die wichtigsten Java Clouds auf einen Blick: Die wichtigsten Java Clouds auf einen Blick Rating: 0 out of 5 stars0 ratingsCloud Computing Grundlagen: Technisch / rechtlich / wirtschaftlich und architekturell Rating: 0 out of 5 stars0 ratingsServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Rating: 0 out of 5 stars0 ratingsBig Data: Executive Briefing Rating: 0 out of 5 stars0 ratingsSoftwarearchitektur für Dummies Rating: 0 out of 5 stars0 ratingsNoSQL-Überblick - Elasticsearch und Redis Rating: 0 out of 5 stars0 ratingsNoSQL-Überblick: Couchbase, Riak, MongoDB Rating: 0 out of 5 stars0 ratingsTesten von Data-Warehouse- und Business-Intelligence-Systemen: Vorgehen, Methoden und Konzepte Rating: 0 out of 5 stars0 ratingsDatenbank-Tuning - Slow Queries und MySQL-Performance: Slow Queries und MySQL-Performance Rating: 0 out of 5 stars0 ratingsAgile Architektur mit .NET - Grundlagen und Best Practices Rating: 0 out of 5 stars0 ratingsAgiliät und Continuous Delivery Rating: 0 out of 5 stars0 ratingsNoSQL-Überblick - Neo4j, Apache Cassandra und HBase: Neo4j, Apache Cassandra und HBase Rating: 0 out of 5 stars0 ratingsIhr Weg in die Cloud: Ratgeber zur sicheren Migration Rating: 0 out of 5 stars0 ratings
Programming For You
Algorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsProgrammieren von Kopf bis Fuß Rating: 4 out of 5 stars4/5Programmieren für Einsteiger: Teil 1 Rating: 0 out of 5 stars0 ratingsJavaScript kurz & gut Rating: 3 out of 5 stars3/5Python kurz & gut: Für Python 3.x und 2.7 Rating: 3 out of 5 stars3/5Programmieren lernen mit Python 3: Schnelleinstieg für Beginner Rating: 0 out of 5 stars0 ratingsSQL von Kopf bis Fuß Rating: 4 out of 5 stars4/5Programmieren für Einsteiger: Teil 2 Rating: 0 out of 5 stars0 ratingsC++: Eine kompakte Einführung Rating: 0 out of 5 stars0 ratingsPython | Schritt für Schritt Programmieren lernen: Der ultimative Anfänger Guide für einen einfachen & schnellen Einstieg Rating: 0 out of 5 stars0 ratingsHacken mit Python und Kali-Linux: Entwicklung eigener Hackingtools mit Python unter Kali-Linux Rating: 0 out of 5 stars0 ratingsGit kurz & gut Rating: 0 out of 5 stars0 ratingsDas große Python3 Workbook: Mit vielen Beispielen und Übungen - Programmieren leicht gemacht! Rating: 4 out of 5 stars4/5Arduino: Ein schneller Einstieg in die Microcontroller-Entwicklung Rating: 5 out of 5 stars5/5Mikrocontroller in der Elektronik: Mikrocontroller programmieren und in der Praxis einsetzen Rating: 0 out of 5 stars0 ratingsEigene Spiele programmieren – Python lernen: Der spielerische Weg zur Programmiersprache Rating: 0 out of 5 stars0 ratingsWeniger schlecht programmieren Rating: 4 out of 5 stars4/5Linux Grundlagen - Ein Einstieg in das Linux-Betriebssystem Rating: 0 out of 5 stars0 ratingsC von Kopf bis Fuß Rating: 3 out of 5 stars3/5Microsoft Word 2016 (Microsoft Press): Einfache Anleitungen für wichtige Aufgaben Rating: 0 out of 5 stars0 ratingsSQL – kurz & gut Rating: 0 out of 5 stars0 ratingsAndroid-Programmierung kurz & gut Rating: 0 out of 5 stars0 ratingsRaspberry Pi: Mach's einfach: Die kompakteste Gebrauchsanweisung mit 222 Anleitungen. Geeignet für Raspberry Pi 3 Modell B / B+ Rating: 0 out of 5 stars0 ratingsLinux Befehlsreferenz: Schnelleinstieg in die Arbeit mit der Konsole, regulären Ausdrücken und Shellscripting Rating: 0 out of 5 stars0 ratingsPowerShell: Anwendung und effektive Nutzung Rating: 5 out of 5 stars5/5HTML5-Programmierung von Kopf bis Fuß: Webanwendungen mit HTML5 und JavaScript Rating: 0 out of 5 stars0 ratingsPython-Grundlagen Rating: 0 out of 5 stars0 ratingsJavaScript kinderleicht!: Einfach programmieren lernen mit der Sprache des Web Rating: 0 out of 5 stars0 ratingsDas Franzis Starterpaket Arduino Mega 2560: Das Handbuch für den Schnelleinstieg Rating: 0 out of 5 stars0 ratings
Reviews for Skalierbare Softwaresysteme
0 ratings0 reviews
Book preview
Skalierbare Softwaresysteme - Michael Pichler
Michael Pichler
Skalierbare Softwaresysteme
Design, Betrieb und Optimierungspotenziale
ISBN: 978-3-86802-422-7
© 2012 entwickler.press
Ein Imprint der Software & Support Media GmbH
1 Tipps zur Konstruktion von skalierbaren Softwaresystemen
Die Konstruktion von leistungsfähigen und skalierbaren Applikationen hängt natürlich von den eingesetzten Hardware-, Infrastruktur-, Betriebssystem- und Middleware-Plattformen ab. Trotzdem ist es keine reine Hardwarefrage, denn auch die installierten Softwaresysteme müssen so konstruiert sein, dass sie bei Einsatz von mehr Hardware tatsächlich skalierbar sind. Dieser shortcut behandelt drei wichtige Themenbereiche, auf die man beim Design eines skalierbaren Softwaresystems verstärktes Augenmerk legen sollte. Das Hauptaugenmerk liegt dabei auf Softwaredesign, wobei auch auf Themen wie Datenhaltung und Betrieb eingegangen wird.
Mithilfe verfügbarer Technologien und Frameworks ist es heute vergleichsweise leicht, sowohl kleine als auch große Softwaresysteme zu entwickeln. Das heißt jedoch nicht, dass sie auch skalierbar sind. Für all jene, die große Softwaresysteme konstruiert haben, ist das Folgende keine Überraschung: Große Softwaresysteme sind Belastungen ausgesetzt, die Verhalten erzeugen, das bei Systemen kleiner und mittlerer Größe nicht sichtbar wird. Die Symptome dieser Belastungen sind in den besten Fällen hohe Antwortzeiten. In den schlimmsten Fällen führen sie zu Systemstillständen oder gar -ausfällen. Natürlich können Systeme mithilfe von Last- und Performancetests gehärtet werden, um erst gar nicht in diese Situation zu kommen. Wurde der Grundstein zur Skalierbarkeit nicht bereits zum Zeitpunkt des Designs gelegt, können Umbauten zu einem späteren Zeitpunkt des Last- und Performancetests zeitaufwendig und teuer werden.
1.1 Skalierbarkeit
Bei der Konstruktion von skalierbaren Systemen geht es nicht nur darum, mehr Hardware anzuschaffen, sondern auch Systeme zu schaffen, die so gestaltet sind, dass sie mit Einsatz von mehr Hardware auch tatsächlich skalierbar sind. Wie im Kasten „Skalierbarkeit und Durchsatz" erklärt, ist ein System dann skalierbar, wenn man bei Erhöhung der Last und entsprechender Anpassung der Hardware auch eine Erhöhung des Durchsatzes erreichen kann.
Skalierbarkeit und Durchsatz
Skalierbarkeit
[1] beschreibt „skalierbar" als Situation, in der sich der Durchsatz (im Großen und Ganzen) proportional zur Änderung der Zahl oder der Größe der Eingaben