Auf der W-JAX 2011 haben mein Kollege Patrick Peschlow und ich über hochskalierbare Cloud-Architekturen gesprochen. Der Ausgangspunkt dafür war ein konkretes Cloud-Projekt, in dem es um ein praktisch beliebig skalierbares Cloud-SaaS-Angebot ging. In dem Vortrag geht es um typische Aufgaben und Fallstricke aus Architektursicht sowie eine ganze Reihe praktischer Erfahrungen, die wir in dem Zusammenhang gemacht haben.
4. AUFGABENSTELLUNG
Dokumentenablage mit intelligenter (Volltext-) Suche
Tags, Filter, Versionen, Sharing, Smart Analysis, …
Beliebige Skalierbarkeit
Geschäftskundentauglichkeit
Integration in andere (unbekannte) Anwendungen
Deutscher Datenschutz
Hosting in Deutschland
Und vieles mehr … ;-)
codecentric AG 17.01.2012 4
8. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
9. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
10. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
11. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
12. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
13. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
14. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
15. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
16. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
17. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
18. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
19. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
20. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
21. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
22. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
23. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
24. AGENDA
Aufgabenstellung
Herausforderungen
Muster & Prinzipien für hochskalierbare Systeme
Umsetzung & Erfahrungen
Allgemeine Erfahrungen
Tools, Frameworks & Bibliotheken
Erfahrungen mit den Mustern & Prinzipien
Weitere Erfahrungen
Zusammenfassung & Ausblick
codecentric AG 17.01.2012 24
25. ALLGEMEINE ERFAHRUNGEN
Das Java-Dilemma
Anforderer vs. technische Schulden
Entwickler-KnowHow
Betriebs-KnowHow
„Bleeding Edge“
codecentric AG 17.01.2012 25
26. TOOLS, FRAMEWORKS UND BIBLIOTHEKEN (1)
Der „übliche Kram“
Java 6
Tomcat 7
Vaadin / GWT
Eclipse / Maven / Jenkins / Robot / …
Darüber hinaus aktuell im Einsatz
Jersey (JAX-RS) / REST
Oauth 2.0
Apache Tika
Apache Solr / Lucene
MongoDB
RabbitMQ
Groovy EasyB (Integrations-Tests)
codecentric AG
27. TOOLS, FRAMEWORKS UND BIBLIOTHEKEN (2)
Zukunftsmusik
Gluster / OpenStack Swift
iOS / Android
Apache ZooKeeper
Memcached o.ä.
Load Balancer
Noch mehr Zukunftsmusik
Elastic Search
Scala / Akka
Riak & RiakSearch
OpenSocial
codecentric AG
28. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
29. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
30. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
31. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
32. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
33. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
34. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
35. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
36. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
37. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
38. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
39. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
40. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
41. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
42. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
43. hat Auswirkungen auf Konfigurations-
Elastizität
management Automatische
benötigt
unterstützt
Datenverteilung
Skalierbarkeit realisiert
Parallelisierbarkeit
benötigt
ermöglichen
unterstützt ermöglicht
erfordert
veränderte ermöglichen
Shared Nothing
ermöglicht
Verteilte Entitäten
Lose Kopplung Fehlerbehandlung
Automatisierung verbessert erfordert
veränderte beeinflusst
realisiert
erfordert andere benötigt
Behandlung von
Verfügbarkeit Transaktionen
benötigt Zustand (ACID vs. BASE)
hat Auswirkungen auf (Daten)
Standard Hardware ändert
bedingt
erforderlich für
Wirtschaftlichkeit Abrechnungsmodelle Mandantenfähigkeit organisiert durch
Big Data
codecentric AG
44. WEITERE ERFAHRUNGEN
Akzeptanz von BASE und Asynchronität
BDUF vs. evolutionäre Architektur
Suchen in der NoSQL-Welt
Reine Key-Suche
Dedizierte Such-Server à la Solr oder ElasticSearch
Such-Extensions à la RiakSearch
NoSQL mit erweiterten Such-Features à la MongoDB oder
CouchDB
MapReduce
codecentric AG 17.01.2012 44
46. Architektur und Design sind anders für
hochskalierbare Systeme
Neue und veränderte Muster & Prinzipien
(nicht immer durchgängig akzeptiert)
KnowHow ist (noch) Mangelware
Lösungen haben nicht gewohnten Komfort-
Level
Spannendes Thema mit viel Dynamik für die
nächsten Jahre
codecentric AG 17.01.2012 46
47. VIELEN DANK!
uwe.friedrichsen@codecentric.de patrick.peschlow@codecentric.de
codecentric AG 17.01.2012 47