SlideShare una empresa de Scribd logo
1 de 48
Uwe Friedrichsen, Patrick Peschlow / codecentric AG


Jenseits der Grenze
Hochskalierbare Cloud-Architekturen
ÜBER UNS …




                 Uwe Friedrichsen   Patrick Peschlow

codecentric AG                                  17.01.2012   2
AGENDA


Aufgabenstellung

Herausforderungen

Muster & Prinzipien für hochskalierbare Systeme

Umsetzung & Erfahrungen

Zusammenfassung & Ausblick




codecentric AG                                    17.01.2012   3
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
AGENDA


Aufgabenstellung

Herausforderungen

Muster & Prinzipien für hochskalierbare Systeme

Umsetzung & Erfahrungen

Zusammenfassung & Ausblick




codecentric AG                                    17.01.2012   5
Verständlichkeit                               Cluster- & HA-Lösungen
             Erweiterbarkeit             Grenzen der Standardlösungen
                                                     Speichernetzwerke, …
         Skalierbarkeit
                                   „Single-Thread-Denken“
Datenmengen
                                                                  Frameworks
                            Herausforderungen                              Produkte
                                                                   Bibliotheken
     Wirtschaftlichkeit
                                                            CAP-Theorem
                        Verfügbarkeit
                          Never Down
                                                   Transaktionen
             Security                                   Enge Replikation

codecentric AG                                                         17.01.2012   6
AGENDA


Aufgabenstellung

Herausforderungen

Muster & Prinzipien für hochskalierbare Systeme

Umsetzung & Erfahrungen

Zusammenfassung & Ausblick




codecentric AG                                    17.01.2012   7
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
ALLGEMEINE ERFAHRUNGEN


      Das Java-Dilemma

      Anforderer vs. technische Schulden

      Entwickler-KnowHow

      Betriebs-KnowHow

      „Bleeding Edge“




codecentric AG                             17.01.2012   25
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
AGENDA


Aufgabenstellung

Herausforderungen

Muster & Prinzipien für hochskalierbare Systeme

Umsetzung & Erfahrungen

Zusammenfassung & Ausblick




codecentric AG                                    17.01.2012   45
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
VIELEN DANK!




            uwe.friedrichsen@codecentric.de   patrick.peschlow@codecentric.de

codecentric AG                                                   17.01.2012     47
DISKUSSION & FRAGEN




codecentric AG        17.01.2012   48

Más contenido relacionado

Destacado

Sicherheitsaspekte bei der Einführung von BYOD in Unternehmen
Sicherheitsaspekte bei der Einführung von BYOD in UnternehmenSicherheitsaspekte bei der Einführung von BYOD in Unternehmen
Sicherheitsaspekte bei der Einführung von BYOD in Unternehmenphilippkumar
 
Cloud Compliance - Bestimmungen, Zertifizierungen und all das
Cloud Compliance - Bestimmungen, Zertifizierungen und all dasCloud Compliance - Bestimmungen, Zertifizierungen und all das
Cloud Compliance - Bestimmungen, Zertifizierungen und all dasUwe Friedrichsen
 
The agile Architect - Craftsmanship on a new Level
The agile Architect - Craftsmanship on a new LevelThe agile Architect - Craftsmanship on a new Level
The agile Architect - Craftsmanship on a new LevelUwe Friedrichsen
 
Der Business Case für Architektur
Der Business Case für ArchitekturDer Business Case für Architektur
Der Business Case für ArchitekturUwe Friedrichsen
 
No crash allowed - Fault tolerance patterns
No crash allowed - Fault tolerance patternsNo crash allowed - Fault tolerance patterns
No crash allowed - Fault tolerance patternsUwe Friedrichsen
 
Kommunikation und Qualität - Java Forum Nord 2016
Kommunikation und Qualität - Java Forum Nord 2016Kommunikation und Qualität - Java Forum Nord 2016
Kommunikation und Qualität - Java Forum Nord 2016Sabine Wojcieszak
 
Dr. Hectic and Mr. Hype - surviving the economic darwinism
Dr. Hectic and Mr. Hype - surviving the economic darwinismDr. Hectic and Mr. Hype - surviving the economic darwinism
Dr. Hectic and Mr. Hype - surviving the economic darwinismUwe Friedrichsen
 
How to survive in a BASE world
How to survive in a BASE worldHow to survive in a BASE world
How to survive in a BASE worldUwe Friedrichsen
 
The Next Generation (of) IT
The Next Generation (of) ITThe Next Generation (of) IT
The Next Generation (of) ITUwe Friedrichsen
 
Generation Y, und wie sie die Arbeitswelt verändern wird
Generation Y, und wie sie die Arbeitswelt verändern wirdGeneration Y, und wie sie die Arbeitswelt verändern wird
Generation Y, und wie sie die Arbeitswelt verändern wirdCarl-Christoph Fellinger
 
The promises and perils of microservices
The promises and perils of microservicesThe promises and perils of microservices
The promises and perils of microservicesUwe Friedrichsen
 

Destacado (20)

Sicherheitsaspekte bei der Einführung von BYOD in Unternehmen
Sicherheitsaspekte bei der Einführung von BYOD in UnternehmenSicherheitsaspekte bei der Einführung von BYOD in Unternehmen
Sicherheitsaspekte bei der Einführung von BYOD in Unternehmen
 
Cloud Compliance - Bestimmungen, Zertifizierungen und all das
Cloud Compliance - Bestimmungen, Zertifizierungen und all dasCloud Compliance - Bestimmungen, Zertifizierungen und all das
Cloud Compliance - Bestimmungen, Zertifizierungen und all das
 
Scalability patterns
Scalability patternsScalability patterns
Scalability patterns
 
Komplexität - Na und?
Komplexität - Na und?Komplexität - Na und?
Komplexität - Na und?
 
Cloud fuer entscheider
Cloud fuer entscheiderCloud fuer entscheider
Cloud fuer entscheider
 
Emergent architecture
Emergent architectureEmergent architecture
Emergent architecture
 
The agile Architect - Craftsmanship on a new Level
The agile Architect - Craftsmanship on a new LevelThe agile Architect - Craftsmanship on a new Level
The agile Architect - Craftsmanship on a new Level
 
Der Business Case für Architektur
Der Business Case für ArchitekturDer Business Case für Architektur
Der Business Case für Architektur
 
Down with the_sandals
Down with the_sandalsDown with the_sandals
Down with the_sandals
 
No crash allowed - Fault tolerance patterns
No crash allowed - Fault tolerance patternsNo crash allowed - Fault tolerance patterns
No crash allowed - Fault tolerance patterns
 
Kommunikation und Qualität - Java Forum Nord 2016
Kommunikation und Qualität - Java Forum Nord 2016Kommunikation und Qualität - Java Forum Nord 2016
Kommunikation und Qualität - Java Forum Nord 2016
 
Dr. Hectic and Mr. Hype - surviving the economic darwinism
Dr. Hectic and Mr. Hype - surviving the economic darwinismDr. Hectic and Mr. Hype - surviving the economic darwinism
Dr. Hectic and Mr. Hype - surviving the economic darwinism
 
OAuth 2.0
OAuth 2.0OAuth 2.0
OAuth 2.0
 
How to survive in a BASE world
How to survive in a BASE worldHow to survive in a BASE world
How to survive in a BASE world
 
The Next Generation (of) IT
The Next Generation (of) ITThe Next Generation (of) IT
The Next Generation (of) IT
 
Generation Y, und wie sie die Arbeitswelt verändern wird
Generation Y, und wie sie die Arbeitswelt verändern wirdGeneration Y, und wie sie die Arbeitswelt verändern wird
Generation Y, und wie sie die Arbeitswelt verändern wird
 
Fault tolerance made easy
Fault tolerance made easyFault tolerance made easy
Fault tolerance made easy
 
Life, IT and everything
Life, IT and everythingLife, IT and everything
Life, IT and everything
 
The promises and perils of microservices
The promises and perils of microservicesThe promises and perils of microservices
The promises and perils of microservices
 
BYOD Bring your own device
BYOD Bring your own deviceBYOD Bring your own device
BYOD Bring your own device
 

Similar a Hochskalierbare Cloud-Architekturen

Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...OPITZ CONSULTING Deutschland
 
EAI mit Mashups
EAI mit MashupsEAI mit Mashups
EAI mit Mashupsdanadx
 
SAP NetWeaver : Chance und Herausforderung
SAP NetWeaver : Chance und HerausforderungSAP NetWeaver : Chance und Herausforderung
SAP NetWeaver : Chance und HerausforderungGFU Cyrus AG
 
02 Computing Concepts der COMLINE Cloud Service Platform - CSP
02 Computing Concepts der COMLINE Cloud Service Platform - CSP02 Computing Concepts der COMLINE Cloud Service Platform - CSP
02 Computing Concepts der COMLINE Cloud Service Platform - CSPChristian Guenther
 
Eclipse Magazin15 - Performance Logging
Eclipse Magazin15 - Performance LoggingEclipse Magazin15 - Performance Logging
Eclipse Magazin15 - Performance LoggingHeiko Seeberger
 

Similar a Hochskalierbare Cloud-Architekturen (8)

Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
 
EAI mit Mashups
EAI mit MashupsEAI mit Mashups
EAI mit Mashups
 
SAP NetWeaver : Chance und Herausforderung
SAP NetWeaver : Chance und HerausforderungSAP NetWeaver : Chance und Herausforderung
SAP NetWeaver : Chance und Herausforderung
 
02 Computing Concepts der COMLINE Cloud Service Platform - CSP
02 Computing Concepts der COMLINE Cloud Service Platform - CSP02 Computing Concepts der COMLINE Cloud Service Platform - CSP
02 Computing Concepts der COMLINE Cloud Service Platform - CSP
 
Plattformvergleich
PlattformvergleichPlattformvergleich
Plattformvergleich
 
Eclipse Magazin15 - Performance Logging
Eclipse Magazin15 - Performance LoggingEclipse Magazin15 - Performance Logging
Eclipse Magazin15 - Performance Logging
 
Patterns in der Produktkonfiguration
Patterns in der ProduktkonfigurationPatterns in der Produktkonfiguration
Patterns in der Produktkonfiguration
 
201210 innovationskonferenz
201210 innovationskonferenz201210 innovationskonferenz
201210 innovationskonferenz
 

Más de Uwe Friedrichsen

Timeless design in a cloud-native world
Timeless design in a cloud-native worldTimeless design in a cloud-native world
Timeless design in a cloud-native worldUwe Friedrichsen
 
The hitchhiker's guide for the confused developer
The hitchhiker's guide for the confused developerThe hitchhiker's guide for the confused developer
The hitchhiker's guide for the confused developerUwe Friedrichsen
 
Digitization solutions - A new breed of software
Digitization solutions - A new breed of softwareDigitization solutions - A new breed of software
Digitization solutions - A new breed of softwareUwe Friedrichsen
 
Real-world consistency explained
Real-world consistency explainedReal-world consistency explained
Real-world consistency explainedUwe Friedrichsen
 
The 7 quests of resilient software design
The 7 quests of resilient software designThe 7 quests of resilient software design
The 7 quests of resilient software designUwe Friedrichsen
 
Excavating the knowledge of our ancestors
Excavating the knowledge of our ancestorsExcavating the knowledge of our ancestors
Excavating the knowledge of our ancestorsUwe Friedrichsen
 
The truth about "You build it, you run it!"
The truth about "You build it, you run it!"The truth about "You build it, you run it!"
The truth about "You build it, you run it!"Uwe Friedrichsen
 
Resilient Functional Service Design
Resilient Functional Service DesignResilient Functional Service Design
Resilient Functional Service DesignUwe Friedrichsen
 
Resilience reloaded - more resilience patterns
Resilience reloaded - more resilience patternsResilience reloaded - more resilience patterns
Resilience reloaded - more resilience patternsUwe Friedrichsen
 
DevOps is not enough - Embedding DevOps in a broader context
DevOps is not enough - Embedding DevOps in a broader contextDevOps is not enough - Embedding DevOps in a broader context
DevOps is not enough - Embedding DevOps in a broader contextUwe Friedrichsen
 
Towards complex adaptive architectures
Towards complex adaptive architecturesTowards complex adaptive architectures
Towards complex adaptive architecturesUwe Friedrichsen
 
Conway's law revisited - Architectures for an effective IT
Conway's law revisited - Architectures for an effective ITConway's law revisited - Architectures for an effective IT
Conway's law revisited - Architectures for an effective ITUwe Friedrichsen
 
Microservices - stress-free and without increased heart attack risk
Microservices - stress-free and without increased heart attack riskMicroservices - stress-free and without increased heart attack risk
Microservices - stress-free and without increased heart attack riskUwe Friedrichsen
 
Modern times - architectures for a Next Generation of IT
Modern times - architectures for a Next Generation of ITModern times - architectures for a Next Generation of IT
Modern times - architectures for a Next Generation of ITUwe Friedrichsen
 
Why resilience - A primer at varying flight altitudes
Why resilience - A primer at varying flight altitudesWhy resilience - A primer at varying flight altitudes
Why resilience - A primer at varying flight altitudesUwe Friedrichsen
 

Más de Uwe Friedrichsen (20)

Timeless design in a cloud-native world
Timeless design in a cloud-native worldTimeless design in a cloud-native world
Timeless design in a cloud-native world
 
Deep learning - a primer
Deep learning - a primerDeep learning - a primer
Deep learning - a primer
 
Life after microservices
Life after microservicesLife after microservices
Life after microservices
 
The hitchhiker's guide for the confused developer
The hitchhiker's guide for the confused developerThe hitchhiker's guide for the confused developer
The hitchhiker's guide for the confused developer
 
Digitization solutions - A new breed of software
Digitization solutions - A new breed of softwareDigitization solutions - A new breed of software
Digitization solutions - A new breed of software
 
Real-world consistency explained
Real-world consistency explainedReal-world consistency explained
Real-world consistency explained
 
The 7 quests of resilient software design
The 7 quests of resilient software designThe 7 quests of resilient software design
The 7 quests of resilient software design
 
Excavating the knowledge of our ancestors
Excavating the knowledge of our ancestorsExcavating the knowledge of our ancestors
Excavating the knowledge of our ancestors
 
The truth about "You build it, you run it!"
The truth about "You build it, you run it!"The truth about "You build it, you run it!"
The truth about "You build it, you run it!"
 
Resilient Functional Service Design
Resilient Functional Service DesignResilient Functional Service Design
Resilient Functional Service Design
 
Watch your communication
Watch your communicationWatch your communication
Watch your communication
 
Resilience reloaded - more resilience patterns
Resilience reloaded - more resilience patternsResilience reloaded - more resilience patterns
Resilience reloaded - more resilience patterns
 
DevOps is not enough - Embedding DevOps in a broader context
DevOps is not enough - Embedding DevOps in a broader contextDevOps is not enough - Embedding DevOps in a broader context
DevOps is not enough - Embedding DevOps in a broader context
 
Production-ready Software
Production-ready SoftwareProduction-ready Software
Production-ready Software
 
Towards complex adaptive architectures
Towards complex adaptive architecturesTowards complex adaptive architectures
Towards complex adaptive architectures
 
Conway's law revisited - Architectures for an effective IT
Conway's law revisited - Architectures for an effective ITConway's law revisited - Architectures for an effective IT
Conway's law revisited - Architectures for an effective IT
 
Microservices - stress-free and without increased heart attack risk
Microservices - stress-free and without increased heart attack riskMicroservices - stress-free and without increased heart attack risk
Microservices - stress-free and without increased heart attack risk
 
Patterns of resilience
Patterns of resiliencePatterns of resilience
Patterns of resilience
 
Modern times - architectures for a Next Generation of IT
Modern times - architectures for a Next Generation of ITModern times - architectures for a Next Generation of IT
Modern times - architectures for a Next Generation of IT
 
Why resilience - A primer at varying flight altitudes
Why resilience - A primer at varying flight altitudesWhy resilience - A primer at varying flight altitudes
Why resilience - A primer at varying flight altitudes
 

Hochskalierbare Cloud-Architekturen

  • 1. Uwe Friedrichsen, Patrick Peschlow / codecentric AG Jenseits der Grenze Hochskalierbare Cloud-Architekturen
  • 2. ÜBER UNS … Uwe Friedrichsen Patrick Peschlow codecentric AG 17.01.2012 2
  • 3. AGENDA Aufgabenstellung Herausforderungen Muster & Prinzipien für hochskalierbare Systeme Umsetzung & Erfahrungen Zusammenfassung & Ausblick codecentric AG 17.01.2012 3
  • 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
  • 5. AGENDA Aufgabenstellung Herausforderungen Muster & Prinzipien für hochskalierbare Systeme Umsetzung & Erfahrungen Zusammenfassung & Ausblick codecentric AG 17.01.2012 5
  • 6. Verständlichkeit Cluster- & HA-Lösungen Erweiterbarkeit Grenzen der Standardlösungen Speichernetzwerke, … Skalierbarkeit „Single-Thread-Denken“ Datenmengen Frameworks Herausforderungen Produkte Bibliotheken Wirtschaftlichkeit CAP-Theorem Verfügbarkeit Never Down Transaktionen Security Enge Replikation codecentric AG 17.01.2012 6
  • 7. AGENDA Aufgabenstellung Herausforderungen Muster & Prinzipien für hochskalierbare Systeme Umsetzung & Erfahrungen Zusammenfassung & Ausblick codecentric AG 17.01.2012 7
  • 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
  • 45. AGENDA Aufgabenstellung Herausforderungen Muster & Prinzipien für hochskalierbare Systeme Umsetzung & Erfahrungen Zusammenfassung & Ausblick codecentric AG 17.01.2012 45
  • 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