SlideShare ist ein Scribd-Unternehmen logo
BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF
HAMBURG KOPENHAGEN LAUSANNE MÜNCHEN STUTTGART WIEN ZÜRICH
The Big Five
IT Architektur Heute
Anatole Tresch, Principal Consultant AD-ZH
anatole.tresch@trivadis.com
Twitter: @atsticks
Agenda
1. Einführung
2. The Big "Five"
Microservices und Container
Cloud und DevOps
Big Data
IoT
Künstliche Intelligenz
3. Und in der Praxis?
Die guten alten Zeiten…
Schwarzwaldgipfel3 22.03.2018
• Anforderungen
• Spezifikationen
• Implementation
• Betrieb
-> Klare Ziele
-> Langfristig und relativ starr
…und Heute?
Schwarzwaldgipfel4 22.03.2018
• Neue, teils komplexe Anforderungen
• Erhöhte Flexibilität
• Funktional
• Zeitlich
• Verteilte Systeme
• Explodierende Komplexität und Wartungsaufwände
• 24x7 weltweiter Betrieb
Wir brauchen neue Konzepte!
Schwarzwaldgipfel6 22.03.2018
The «Big Five»
Microservices
Schwarzwaldgipfel7 22.03.2018
• Entspricht weitgehend der Unix-Philosophie
(„Do One Thing and Do It Well“)
• Bounded Context
• APIs kapseln die Implementierungsdetails
• Isoliert
• Dezentralisiert und horizontal skalierbar
• Fehlertolerant
Vorteile von Microservices
Schwarzwaldgipfel8 22.03.2018
• Unabhängige Teams -> Skalierung agiler Entwicklungs-Prozesse
• Leicht weiterentwickelbar und ersetzbar
• Stabile Architektur
• Langfristig produktive Entwicklung
• Unabhängig voneinander skalierbar.
• Können gegen den Ausfall anderer Services abgesichert werden, so dass das
Gesamtsystem robust ist.
• Continuous Delivery ist einfacher.
• Einfache Modernisierung des Stacks.
Nachteile von Microservices
Schwarzwaldgipfel9 22.03.2018
• Zusätzliche Komplexität
• Netzwerk-Latenzen, Lastverteilung oder Netzwerkpartitionierung
• Grössere Ausfall-Wahrscheinlichkeit des Gesamtsystems
• Komplexe Softwareverteilung
• Hoher Aufwand für Migration bestehender Systeme
• Logging und Monitoring
• Unterschiedliche Zeitzonen der Clients UND Hosts
• CAP-Theorem (Verfügbarkeit vs. Konsistenz)
• Unterschiedliche Programmiersprachen und Software-Stacks
Container
Schwarzwaldgipfel10 22.03.2018
• OS-Virtualisierung
• Prozessisolation, gemeinsam genutzter Kernel
• Virtuelle Laufzeitumgebung (kein weiteres OS gestartet)
• Layered Dateisystem
• Container-Kataloge
Vorteile von Containern
Schwarzwaldgipfel11 22.03.2018
• Portabilität
• Sehr effiziente Ressourcennutzung (CPU, RAM, FS)
• Restartability, einfaches Recovery
• Einfach zurücksetzbar
• Isolation der Laufzeitumgebung inkl. Abhängigkeiten
Nachteile von Containern
Schwarzwaldgipfel12 22.03.2018
• Isolation des Kernel ist komplex
• Update aller betroffener Container im Falle von Issues/Upgrades
• Vielfalt an Einstellungs- und Konfigurationsmöglichkeiten begünstigen Fehler (zB
privilegierte Container)
• Kontrolle bzgl. Qualität von Container-Repositories
Cloud
Schwarzwaldgipfel13 22.03.2018
• Bereitstellung von IT-Infrastruktur zB
Speicherplatz, Rechenleistung oder
Anwendungssoftware als Dienstleistung
• Zugriff über ein Rechnernetz ohne lokale
Installation.
• IaaS
• PaaS
• SaaS
• FaaS
Cloud Charakteristika
Schwarzwaldgipfel14 22.03.2018
• On-demand Self-Service
• Breiter Netzwerkzugriff
• Resource Pooling
• Rasche Elastizität
• Messbare und überwachte Ressourcenutzung
• Sehr unterschiedliche Abrechnungsmodelle
Cloud Liefermodelle
Schwarzwaldgipfel15 22.03.2018
• Public Cloud
• Private Cloud
• Hybrid Cloud
• Community Cloud
• Virtual Private Cloud
• Multi Cloud
DevOps
Schwarzwaldgipfel16 22.03.2018
• Prozessverbesserungs-Ansatz für
Softwareentwicklung und
Systemadministration
• Anreize, Tools zur effektiveren und
effizienteren Zusammenarbeit der Bereiche
Dev, Ops und
Qualitätssicherung (QS)
DevOps in der Praxis
Schwarzwaldgipfel17 22.03.2018
• Automatisierung mit CI- und CD-Werkzeuge als „Deployment Pipeline“:
• Code – Entwicklung und Review, Versionskontrolle, Merge
• Build – Continuous-Integration-Tools, Build Status
• Test – Statische und dynamische Code-Analysen und Tests,
• Package – Ausliefern von binären Formaten
• Release – Change Management, Freigabe von Releases
• Configure – Configuration / Systems Management-Werkzeuge
• Monitor – Application performance, Kunden-Feedback
• Bekannte Tools: Docker, Jenkins, Ansible, Puppet
BigData
Schwarzwaldgipfel18 22.03.2018
• Datenmengen, welche
• zu groß
• zu komplex
• zu schnelllebig oder
• zu schwach strukturiert sind
um sie mit manuellen und herkömmlichen Methoden
der Datenverarbeitung auszuwerten.
BigData – «Big»
Schwarzwaldgipfel19 22.03.2018
• Volume
Umfang, Datenvolumen
• Velocity
Geschwindigkeit, mit der die Datenmengen generiert und transferiert werden
• Variety
Bandbreite der Datentypen und -quellen
BigData – «Data»
Schwarzwaldgipfel20 22.03.2018
• Geschäftsprozess-Verbesserungen in allen Funktionsbereichen, v.a. aber in
• Technologieentwicklung und Informationstechnik
• Marketing
• Vertriebs- und Servicesteuerung
• Trendforschung
• Prognosen
IoT
Schwarzwaldgipfel21 22.03.2018
• Internet der Dinge
• Vision einer globalen Infrastruktur
der Informationsgesellschaften
• Vernetzung physischer und
virtueller Gegenstände durch
Informations- und Kommunikationstechniken
• Anwendungsgebiete in allen Bereichen
IoT
Schwarzwaldgipfel22 22.03.2018
Künstliche Intelligenz
Schwarzwaldgipfel23 22.03.2018
• Automatisierung intelligenten Verhaltens und
Maschinenlernen
• „Intelligenz“ ?
• Wegweisende Antriebskräfte der Digitalen Revolution
• Nachbildung menschenähnlicher Entscheidungsstrukturen
• Oftmals «nachgeahmte» Intelligenz:
• Simulation „intelligentes Verhalten“ mit einfachen
Algorithmen
Impact
Schwarzwaldgipfel24 22.03.2018
• Automatisierung intelligenten Verhaltens und
Maschinenlernen
• „Intelligenz“ ?
• Wegweisende Antriebskräfte der Digitalen Revolution
• Nachbildung menschenähnlicher Entscheidungsstrukturen
• Oftmals «nachgeahmte» Intelligenz:
• Simulation „intelligentes Verhalten“ mit einfachen
Algorithmen
Und in der Praxis?
Moderne Architektur in der Praxis
Schwarzwaldgipfel25 22.03.2018
• Viele Lösungsvarianten
• Verteilung ergibt neue Fragestellungen
• Kombination Alt und Neu
• Bewährte Konzepte hinterfragen
• Cloud Native Know How selten
Know How Beispiel – Web-Shop für …
Schwarzwaldgipfel26 22.03.2018
• Webshop
• 1 Datenbank
• 1 Business Tier (REST API)
• 1 Frontend
// Add a product
POST /cart/product/123
// View basket
GET /cart
// View products
GET /products
// Place Order
POST /order (with product data)
Know How Beispiel – Web-Shop
Schwarzwaldgipfel27 22.03.2018
• Aufteilen in Microservices
• Produkts API
• Order API
• Cart API
// Place Order
POST /order (with product data)
// View products
GET /products
// Add a product
POST /cart/product/123
// View basket
GET /cart
Service
Service
Service
Know How Beispiel – Web-Shop
Schwarzwaldgipfel28 22.03.2018
• Der «Produkt» Microservice
• REST Service
• Messaging Service
• Datastore Service
• Monitoring Service
// View products
GET /products
Know How Beispiel – Ein einfacher Web-Shop
Schwarzwaldgipfel29 22.03.2018
• Finale Microservice Architektur
-> Das sind bereits 12 Microservices!
Products Orders Cart
REST Service REST Service REST Service
Messagebus Messagebus Messagebus
Datastore Datastore Datastore
Monitoring Monitoring Monitoring
Schwarzwaldgipfel30 22.03.2018
Was ist das Problem?
Manchmal gehen Dinge kaputt…
Schwarzwaldgipfel31 22.03.2018
Schwarzwaldgipfel32 22.03.2018
...manchmal gehen auch gleich mehrere Dinge kaputt...
Schwarzwaldgipfel33 22.03.2018
Schwarzwaldgipfel34 22.03.2018
...oder sie sehen sich nicht mehr...
Schwarzwaldgipfel35 22.03.2018
Schwarzwaldgipfel36 22.03.2018
...manchmal ist man sich nicht sicher...
Schwarzwaldgipfel37 22.03.2018
Schwarzwaldgipfel38 22.03.2018
...und unsere neuen Spielzeuge helfen auch nicht
wirklich...
Schwarzwaldgipfel39 22.03.2018
Schwarzwaldgipfel40 22.03.2018
Schwarzwaldgipfel41 22.03.2018
Wir brauchen eine resiliente Software-Architektur
Wie müssen wir also unsere Systeme bauen, damit
wir nebst den Vorteilen auch einen reibungslosen
Betrieb hinkriegen?
Resiliente Software-Architektur
Schwarzwaldgipfel
Resilienz = Fähigkeit zur Selbstheilung
MTTF
Availability =
MTTF + MTTR
Resilient Approach:
Minimize MTTR
42 22.03.2018
Service
Service
Input
Service
Service
Bewusste Verwaltung des
Zustandes
Service Isolation
Schwarzwaldgipfel43 22.03.2018
Isolation
1. Entkoppelte Kommunikation
(Events)
Reicht das?
Supervision
Going Resilient…45 19.10.16
Service
Input Output
Service
InputOutput
Queue
Error
Error
Handler
Monitoring
Errors
Super
visor
Going Resilient…46 19.10.16
Charakteristiken resilienter Systeme
• Asynchrone Kommunikation
• Idempotente, self-contained Events
• Lokationstransparenz
• Isolation & recursive Restartability
• Komplette Ein- und Ausgabe Validierung
• Einheitliches Error Handling und Monitoring
• Supervision
• Minimaler geteilter Zustand, Redundanz
Going Resilient…47 19.10.16
Resiliente Platformen
• Cloud Platformen
• Orchestrierung (zB Mesos, Kubernetes, Openshift)
• Software-Container
Eine Betrieb on-premise macht nur in wenigen Fällen Sinn.
Risiko der Cloud-Vendor-Abhängigkeit miteinbeziehen.
Going Resilient…48 19.10.16
Resilientes Software-Design
• Bounded Queues
• Fan out & quickest reply
• Circuit Breakers and Fail Fast
• Timeouts
• Throttling, Semaphores
• Failover
• Degradation of service level
DevOps
• DevOps bringt die nötige Flexibilität und Agilität
• Ohne DevOps werden die Systeme starr und unflexibel bleiben
• DevOps Plattformen können innert Stunden aufgebaut werden
• Kollaborative Arbeits- und Abrechnungsmodelle
• Pilotprojekte
Der Umgang mit Daten
• Storage ist günstig
• Daten in auswertbarer Form speichern
• Auswertungen on-the-fly
• Vorteile von no-sql nutzen
• Ereignisgesteuerte Konzepte, zB Event-Sourcing nutzen
• In der Cloud skalieren (Storage und CPU)
Künstliche Intelligenz
• Noch im Anfangsstadium
• Als Services in der Cloud beziehbar
• Wird viele manuelle Prozesse in Zukunft überflüssig machen oder stark
vereinfachen
Schwarzwaldgipfel52 22.03.2018
Zusammenfassung
Schwarzwaldgipfel53 22.03.2018
…eigentlich «nur» Microservices…
Wir wollten eine moderne Architektur…
…ok. Vielleicht noch etwas BigData und IoT,
Weil’s so cool ist..
DevOps gehört eh in die Charta der Menschenrechte
für Entwickler ;-)
Unsere Legacy-Systeme sind und vorerst mal egal…
Charakteristika einer modernen Cloud Architektur
Schwarzwaldgipfel54 22.03.2018
1. Skalierbarkeit
2. Microservices und Container
3. Elastic Load Balancing
4. APIs
5. DevOps und Continuous Deployment
6. Resilienz und Fehlertoleranz
7. Konnektivität
8. Data Collection
9. Monitoring
Schwarzwaldgipfel55 22.03.2018
Schwarzwaldgipfel56 22.03.2018
DANKE
• Fallacies of Distributed Computing:
https://de.wikipedia.org/wiki/Fallacies_of_Distributed_Computing
• 21 DevOps und Docker Reference Architectures:
https://devops.com/21-devops-docker-reference-architectures/
• Cloud Native Computing Foundation:
https://www.cncf.io/
• Docker: http://docker.com
• Openshift: http://openshift.org
Anatole Tresch
Principal Consultant AD-ZH
anatole.tresch@trivadis.com
Twitter: @atsticks

Weitere ähnliche Inhalte

Ähnlich wie The Big Five - IT Architektur Heute

Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.QAware GmbH
 
Der erste Schritt – idealtypische Wege in die Cloud und in der Cloud für Unte...
Der erste Schritt – idealtypische Wege in die Cloud und in der Cloud für Unte...Der erste Schritt – idealtypische Wege in die Cloud und in der Cloud für Unte...
Der erste Schritt – idealtypische Wege in die Cloud und in der Cloud für Unte...AWS Germany
 
Wolfgang Mader (Huemer Data Center)
Wolfgang Mader (Huemer Data Center)Wolfgang Mader (Huemer Data Center)
Wolfgang Mader (Huemer Data Center)Agenda Europe 2035
 
Big/Smart/Fast Data – a very compact overview
Big/Smart/Fast Data – a very compact overviewBig/Smart/Fast Data – a very compact overview
Big/Smart/Fast Data – a very compact overviewOMM Solutions GmbH
 
Umgang mit Legacy in der Digitalen Transformation - Andreas Grütter, Die Mobi...
Umgang mit Legacy in der Digitalen Transformation - Andreas Grütter, Die Mobi...Umgang mit Legacy in der Digitalen Transformation - Andreas Grütter, Die Mobi...
Umgang mit Legacy in der Digitalen Transformation - Andreas Grütter, Die Mobi...BATbern
 
Infrastructure Solution Day | Private
Infrastructure Solution Day | PrivateInfrastructure Solution Day | Private
Infrastructure Solution Day | PrivateMicrosoft Österreich
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalQAware GmbH
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionQAware GmbH
 
Real-time Enterprise Architecture mit LeanIX
Real-time Enterprise Architecture mit LeanIX Real-time Enterprise Architecture mit LeanIX
Real-time Enterprise Architecture mit LeanIX LeanIX GmbH
 
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...Trivadis
 
Lego-Bausteine des Online-Handels
Lego-Bausteine des Online-HandelsLego-Bausteine des Online-Handels
Lego-Bausteine des Online-HandelsDirk Hoerig
 
Infrastructure Solution Day | Hybrid
Infrastructure Solution Day | HybridInfrastructure Solution Day | Hybrid
Infrastructure Solution Day | HybridMicrosoft Österreich
 
NETWAYS Cloud - Der Weg zur eigenen VM (Webinar vom 15. Juli 2016)
NETWAYS Cloud - Der Weg zur eigenen VM (Webinar vom 15. Juli 2016)NETWAYS Cloud - Der Weg zur eigenen VM (Webinar vom 15. Juli 2016)
NETWAYS Cloud - Der Weg zur eigenen VM (Webinar vom 15. Juli 2016)NETWAYS
 
Cloud Computing ­- eine Revolution? by Hartmut Streppel
Cloud Computing ­- eine Revolution? by Hartmut StreppelCloud Computing ­- eine Revolution? by Hartmut Streppel
Cloud Computing ­- eine Revolution? by Hartmut StreppelMedien Meeting Mannheim
 
Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX ...
Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX ...Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX ...
Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX ...Turgut Dogan
 
Verteilte Software-Systeme im Kontext von Industrie 4.0
Verteilte Software-Systeme im Kontext von Industrie 4.0Verteilte Software-Systeme im Kontext von Industrie 4.0
Verteilte Software-Systeme im Kontext von Industrie 4.0Peter Tröger
 
Pivotal Digital Transformation Forum: Fraport AG
Pivotal Digital Transformation Forum: Fraport AGPivotal Digital Transformation Forum: Fraport AG
Pivotal Digital Transformation Forum: Fraport AGVMware Tanzu
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalQAware GmbH
 
BATbern52 InnoQ on Data Mesh 2019 2023 2024++
BATbern52 InnoQ on Data Mesh 2019 2023 2024++BATbern52 InnoQ on Data Mesh 2019 2023 2024++
BATbern52 InnoQ on Data Mesh 2019 2023 2024++BATbern
 

Ähnlich wie The Big Five - IT Architektur Heute (20)

Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
Der erste Schritt – idealtypische Wege in die Cloud und in der Cloud für Unte...
Der erste Schritt – idealtypische Wege in die Cloud und in der Cloud für Unte...Der erste Schritt – idealtypische Wege in die Cloud und in der Cloud für Unte...
Der erste Schritt – idealtypische Wege in die Cloud und in der Cloud für Unte...
 
Wolfgang Mader (Huemer Data Center)
Wolfgang Mader (Huemer Data Center)Wolfgang Mader (Huemer Data Center)
Wolfgang Mader (Huemer Data Center)
 
Big/Smart/Fast Data – a very compact overview
Big/Smart/Fast Data – a very compact overviewBig/Smart/Fast Data – a very compact overview
Big/Smart/Fast Data – a very compact overview
 
Umgang mit Legacy in der Digitalen Transformation - Andreas Grütter, Die Mobi...
Umgang mit Legacy in der Digitalen Transformation - Andreas Grütter, Die Mobi...Umgang mit Legacy in der Digitalen Transformation - Andreas Grütter, Die Mobi...
Umgang mit Legacy in der Digitalen Transformation - Andreas Grütter, Die Mobi...
 
Infrastructure Solution Day | Private
Infrastructure Solution Day | PrivateInfrastructure Solution Day | Private
Infrastructure Solution Day | Private
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue Normal
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
 
Real-time Enterprise Architecture mit LeanIX
Real-time Enterprise Architecture mit LeanIX Real-time Enterprise Architecture mit LeanIX
Real-time Enterprise Architecture mit LeanIX
 
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...
 
Lego-Bausteine des Online-Handels
Lego-Bausteine des Online-HandelsLego-Bausteine des Online-Handels
Lego-Bausteine des Online-Handels
 
Infrastructure Solution Day | Hybrid
Infrastructure Solution Day | HybridInfrastructure Solution Day | Hybrid
Infrastructure Solution Day | Hybrid
 
Innovation in der Instandhaltung - Motor für die Zukunft
Innovation in der Instandhaltung - Motor für die ZukunftInnovation in der Instandhaltung - Motor für die Zukunft
Innovation in der Instandhaltung - Motor für die Zukunft
 
NETWAYS Cloud - Der Weg zur eigenen VM (Webinar vom 15. Juli 2016)
NETWAYS Cloud - Der Weg zur eigenen VM (Webinar vom 15. Juli 2016)NETWAYS Cloud - Der Weg zur eigenen VM (Webinar vom 15. Juli 2016)
NETWAYS Cloud - Der Weg zur eigenen VM (Webinar vom 15. Juli 2016)
 
Cloud Computing ­- eine Revolution? by Hartmut Streppel
Cloud Computing ­- eine Revolution? by Hartmut StreppelCloud Computing ­- eine Revolution? by Hartmut Streppel
Cloud Computing ­- eine Revolution? by Hartmut Streppel
 
Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX ...
Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX ...Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX ...
Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX ...
 
Verteilte Software-Systeme im Kontext von Industrie 4.0
Verteilte Software-Systeme im Kontext von Industrie 4.0Verteilte Software-Systeme im Kontext von Industrie 4.0
Verteilte Software-Systeme im Kontext von Industrie 4.0
 
Pivotal Digital Transformation Forum: Fraport AG
Pivotal Digital Transformation Forum: Fraport AGPivotal Digital Transformation Forum: Fraport AG
Pivotal Digital Transformation Forum: Fraport AG
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue Normal
 
BATbern52 InnoQ on Data Mesh 2019 2023 2024++
BATbern52 InnoQ on Data Mesh 2019 2023 2024++BATbern52 InnoQ on Data Mesh 2019 2023 2024++
BATbern52 InnoQ on Data Mesh 2019 2023 2024++
 

Mehr von Anatole Tresch

Jsr382: Konfiguration in Java
Jsr382: Konfiguration in JavaJsr382: Konfiguration in Java
Jsr382: Konfiguration in JavaAnatole Tresch
 
Wie man Applikationen nicht bauen sollte...
Wie man Applikationen nicht bauen sollte...Wie man Applikationen nicht bauen sollte...
Wie man Applikationen nicht bauen sollte...Anatole Tresch
 
The Gib Five - Modern IT Architecture
The Gib Five - Modern IT ArchitectureThe Gib Five - Modern IT Architecture
The Gib Five - Modern IT ArchitectureAnatole Tresch
 
Disruption is Change is Future
Disruption is Change is FutureDisruption is Change is Future
Disruption is Change is FutureAnatole Tresch
 
Configuration with Microprofile and Apache Tamaya
Configuration with Microprofile and Apache TamayaConfiguration with Microprofile and Apache Tamaya
Configuration with Microprofile and Apache TamayaAnatole Tresch
 
Configuration beyond Java EE 8
Configuration beyond Java EE 8Configuration beyond Java EE 8
Configuration beyond Java EE 8Anatole Tresch
 
Alles Docker oder Was ?
Alles Docker oder Was ?Alles Docker oder Was ?
Alles Docker oder Was ?Anatole Tresch
 
Configure once, run everywhere 2016
Configure once, run everywhere 2016Configure once, run everywhere 2016
Configure once, run everywhere 2016Anatole Tresch
 
Configuration with Apache Tamaya
Configuration with Apache TamayaConfiguration with Apache Tamaya
Configuration with Apache TamayaAnatole Tresch
 
Wie Monolithen für die Zukuft trimmen
Wie Monolithen für die Zukuft trimmenWie Monolithen für die Zukuft trimmen
Wie Monolithen für die Zukuft trimmenAnatole Tresch
 
Configure Your Projects with Apache Tamaya
Configure Your Projects with Apache TamayaConfigure Your Projects with Apache Tamaya
Configure Your Projects with Apache TamayaAnatole Tresch
 
JSR 354 Hackday - What you can do...
JSR 354 Hackday - What you can do...JSR 354 Hackday - What you can do...
JSR 354 Hackday - What you can do...Anatole Tresch
 
Legacy Renewal of Central Framework in the Enterprise
Legacy Renewal of Central Framework in the EnterpriseLegacy Renewal of Central Framework in the Enterprise
Legacy Renewal of Central Framework in the EnterpriseAnatole Tresch
 
Go for the Money: eine Einführung in JSR 354 - Java aktuell 2014 - Anatole Tr...
Go for the Money: eine Einführung in JSR 354 - Java aktuell 2014 - Anatole Tr...Go for the Money: eine Einführung in JSR 354 - Java aktuell 2014 - Anatole Tr...
Go for the Money: eine Einführung in JSR 354 - Java aktuell 2014 - Anatole Tr...Anatole Tresch
 
A first Draft to Java Configuration
A first Draft to Java ConfigurationA first Draft to Java Configuration
A first Draft to Java ConfigurationAnatole Tresch
 
Go for the Money - JSR 354
Go for the Money - JSR 354Go for the Money - JSR 354
Go for the Money - JSR 354Anatole Tresch
 

Mehr von Anatole Tresch (20)

Jsr382: Konfiguration in Java
Jsr382: Konfiguration in JavaJsr382: Konfiguration in Java
Jsr382: Konfiguration in Java
 
Wie man Applikationen nicht bauen sollte...
Wie man Applikationen nicht bauen sollte...Wie man Applikationen nicht bauen sollte...
Wie man Applikationen nicht bauen sollte...
 
The Gib Five - Modern IT Architecture
The Gib Five - Modern IT ArchitectureThe Gib Five - Modern IT Architecture
The Gib Five - Modern IT Architecture
 
Microservices in Java
Microservices in JavaMicroservices in Java
Microservices in Java
 
Disruption is Change is Future
Disruption is Change is FutureDisruption is Change is Future
Disruption is Change is Future
 
Configuration with Microprofile and Apache Tamaya
Configuration with Microprofile and Apache TamayaConfiguration with Microprofile and Apache Tamaya
Configuration with Microprofile and Apache Tamaya
 
Configuration beyond Java EE 8
Configuration beyond Java EE 8Configuration beyond Java EE 8
Configuration beyond Java EE 8
 
Alles Docker oder Was ?
Alles Docker oder Was ?Alles Docker oder Was ?
Alles Docker oder Was ?
 
Going Resilient...
Going Resilient...Going Resilient...
Going Resilient...
 
Configure once, run everywhere 2016
Configure once, run everywhere 2016Configure once, run everywhere 2016
Configure once, run everywhere 2016
 
Configuration with Apache Tamaya
Configuration with Apache TamayaConfiguration with Apache Tamaya
Configuration with Apache Tamaya
 
Wie Monolithen für die Zukuft trimmen
Wie Monolithen für die Zukuft trimmenWie Monolithen für die Zukuft trimmen
Wie Monolithen für die Zukuft trimmen
 
Configure Your Projects with Apache Tamaya
Configure Your Projects with Apache TamayaConfigure Your Projects with Apache Tamaya
Configure Your Projects with Apache Tamaya
 
JSR 354 Hackday - What you can do...
JSR 354 Hackday - What you can do...JSR 354 Hackday - What you can do...
JSR 354 Hackday - What you can do...
 
Legacy Renewal of Central Framework in the Enterprise
Legacy Renewal of Central Framework in the EnterpriseLegacy Renewal of Central Framework in the Enterprise
Legacy Renewal of Central Framework in the Enterprise
 
Go for the Money: eine Einführung in JSR 354 - Java aktuell 2014 - Anatole Tr...
Go for the Money: eine Einführung in JSR 354 - Java aktuell 2014 - Anatole Tr...Go for the Money: eine Einführung in JSR 354 - Java aktuell 2014 - Anatole Tr...
Go for the Money: eine Einführung in JSR 354 - Java aktuell 2014 - Anatole Tr...
 
A first Draft to Java Configuration
A first Draft to Java ConfigurationA first Draft to Java Configuration
A first Draft to Java Configuration
 
JSR 354 LJC-Hackday
JSR 354 LJC-HackdayJSR 354 LJC-Hackday
JSR 354 LJC-Hackday
 
Adopt JSR 354
Adopt JSR 354Adopt JSR 354
Adopt JSR 354
 
Go for the Money - JSR 354
Go for the Money - JSR 354Go for the Money - JSR 354
Go for the Money - JSR 354
 

The Big Five - IT Architektur Heute

  • 1. BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF HAMBURG KOPENHAGEN LAUSANNE MÜNCHEN STUTTGART WIEN ZÜRICH The Big Five IT Architektur Heute Anatole Tresch, Principal Consultant AD-ZH anatole.tresch@trivadis.com Twitter: @atsticks
  • 2. Agenda 1. Einführung 2. The Big "Five" Microservices und Container Cloud und DevOps Big Data IoT Künstliche Intelligenz 3. Und in der Praxis?
  • 3. Die guten alten Zeiten… Schwarzwaldgipfel3 22.03.2018 • Anforderungen • Spezifikationen • Implementation • Betrieb -> Klare Ziele -> Langfristig und relativ starr
  • 4. …und Heute? Schwarzwaldgipfel4 22.03.2018 • Neue, teils komplexe Anforderungen • Erhöhte Flexibilität • Funktional • Zeitlich • Verteilte Systeme • Explodierende Komplexität und Wartungsaufwände • 24x7 weltweiter Betrieb
  • 5. Wir brauchen neue Konzepte!
  • 7. Microservices Schwarzwaldgipfel7 22.03.2018 • Entspricht weitgehend der Unix-Philosophie („Do One Thing and Do It Well“) • Bounded Context • APIs kapseln die Implementierungsdetails • Isoliert • Dezentralisiert und horizontal skalierbar • Fehlertolerant
  • 8. Vorteile von Microservices Schwarzwaldgipfel8 22.03.2018 • Unabhängige Teams -> Skalierung agiler Entwicklungs-Prozesse • Leicht weiterentwickelbar und ersetzbar • Stabile Architektur • Langfristig produktive Entwicklung • Unabhängig voneinander skalierbar. • Können gegen den Ausfall anderer Services abgesichert werden, so dass das Gesamtsystem robust ist. • Continuous Delivery ist einfacher. • Einfache Modernisierung des Stacks.
  • 9. Nachteile von Microservices Schwarzwaldgipfel9 22.03.2018 • Zusätzliche Komplexität • Netzwerk-Latenzen, Lastverteilung oder Netzwerkpartitionierung • Grössere Ausfall-Wahrscheinlichkeit des Gesamtsystems • Komplexe Softwareverteilung • Hoher Aufwand für Migration bestehender Systeme • Logging und Monitoring • Unterschiedliche Zeitzonen der Clients UND Hosts • CAP-Theorem (Verfügbarkeit vs. Konsistenz) • Unterschiedliche Programmiersprachen und Software-Stacks
  • 10. Container Schwarzwaldgipfel10 22.03.2018 • OS-Virtualisierung • Prozessisolation, gemeinsam genutzter Kernel • Virtuelle Laufzeitumgebung (kein weiteres OS gestartet) • Layered Dateisystem • Container-Kataloge
  • 11. Vorteile von Containern Schwarzwaldgipfel11 22.03.2018 • Portabilität • Sehr effiziente Ressourcennutzung (CPU, RAM, FS) • Restartability, einfaches Recovery • Einfach zurücksetzbar • Isolation der Laufzeitumgebung inkl. Abhängigkeiten
  • 12. Nachteile von Containern Schwarzwaldgipfel12 22.03.2018 • Isolation des Kernel ist komplex • Update aller betroffener Container im Falle von Issues/Upgrades • Vielfalt an Einstellungs- und Konfigurationsmöglichkeiten begünstigen Fehler (zB privilegierte Container) • Kontrolle bzgl. Qualität von Container-Repositories
  • 13. Cloud Schwarzwaldgipfel13 22.03.2018 • Bereitstellung von IT-Infrastruktur zB Speicherplatz, Rechenleistung oder Anwendungssoftware als Dienstleistung • Zugriff über ein Rechnernetz ohne lokale Installation. • IaaS • PaaS • SaaS • FaaS
  • 14. Cloud Charakteristika Schwarzwaldgipfel14 22.03.2018 • On-demand Self-Service • Breiter Netzwerkzugriff • Resource Pooling • Rasche Elastizität • Messbare und überwachte Ressourcenutzung • Sehr unterschiedliche Abrechnungsmodelle
  • 15. Cloud Liefermodelle Schwarzwaldgipfel15 22.03.2018 • Public Cloud • Private Cloud • Hybrid Cloud • Community Cloud • Virtual Private Cloud • Multi Cloud
  • 16. DevOps Schwarzwaldgipfel16 22.03.2018 • Prozessverbesserungs-Ansatz für Softwareentwicklung und Systemadministration • Anreize, Tools zur effektiveren und effizienteren Zusammenarbeit der Bereiche Dev, Ops und Qualitätssicherung (QS)
  • 17. DevOps in der Praxis Schwarzwaldgipfel17 22.03.2018 • Automatisierung mit CI- und CD-Werkzeuge als „Deployment Pipeline“: • Code – Entwicklung und Review, Versionskontrolle, Merge • Build – Continuous-Integration-Tools, Build Status • Test – Statische und dynamische Code-Analysen und Tests, • Package – Ausliefern von binären Formaten • Release – Change Management, Freigabe von Releases • Configure – Configuration / Systems Management-Werkzeuge • Monitor – Application performance, Kunden-Feedback • Bekannte Tools: Docker, Jenkins, Ansible, Puppet
  • 18. BigData Schwarzwaldgipfel18 22.03.2018 • Datenmengen, welche • zu groß • zu komplex • zu schnelllebig oder • zu schwach strukturiert sind um sie mit manuellen und herkömmlichen Methoden der Datenverarbeitung auszuwerten.
  • 19. BigData – «Big» Schwarzwaldgipfel19 22.03.2018 • Volume Umfang, Datenvolumen • Velocity Geschwindigkeit, mit der die Datenmengen generiert und transferiert werden • Variety Bandbreite der Datentypen und -quellen
  • 20. BigData – «Data» Schwarzwaldgipfel20 22.03.2018 • Geschäftsprozess-Verbesserungen in allen Funktionsbereichen, v.a. aber in • Technologieentwicklung und Informationstechnik • Marketing • Vertriebs- und Servicesteuerung • Trendforschung • Prognosen
  • 21. IoT Schwarzwaldgipfel21 22.03.2018 • Internet der Dinge • Vision einer globalen Infrastruktur der Informationsgesellschaften • Vernetzung physischer und virtueller Gegenstände durch Informations- und Kommunikationstechniken • Anwendungsgebiete in allen Bereichen
  • 23. Künstliche Intelligenz Schwarzwaldgipfel23 22.03.2018 • Automatisierung intelligenten Verhaltens und Maschinenlernen • „Intelligenz“ ? • Wegweisende Antriebskräfte der Digitalen Revolution • Nachbildung menschenähnlicher Entscheidungsstrukturen • Oftmals «nachgeahmte» Intelligenz: • Simulation „intelligentes Verhalten“ mit einfachen Algorithmen
  • 24. Impact Schwarzwaldgipfel24 22.03.2018 • Automatisierung intelligenten Verhaltens und Maschinenlernen • „Intelligenz“ ? • Wegweisende Antriebskräfte der Digitalen Revolution • Nachbildung menschenähnlicher Entscheidungsstrukturen • Oftmals «nachgeahmte» Intelligenz: • Simulation „intelligentes Verhalten“ mit einfachen Algorithmen Und in der Praxis?
  • 25. Moderne Architektur in der Praxis Schwarzwaldgipfel25 22.03.2018 • Viele Lösungsvarianten • Verteilung ergibt neue Fragestellungen • Kombination Alt und Neu • Bewährte Konzepte hinterfragen • Cloud Native Know How selten
  • 26. Know How Beispiel – Web-Shop für … Schwarzwaldgipfel26 22.03.2018 • Webshop • 1 Datenbank • 1 Business Tier (REST API) • 1 Frontend // Add a product POST /cart/product/123 // View basket GET /cart // View products GET /products // Place Order POST /order (with product data)
  • 27. Know How Beispiel – Web-Shop Schwarzwaldgipfel27 22.03.2018 • Aufteilen in Microservices • Produkts API • Order API • Cart API // Place Order POST /order (with product data) // View products GET /products // Add a product POST /cart/product/123 // View basket GET /cart Service Service Service
  • 28. Know How Beispiel – Web-Shop Schwarzwaldgipfel28 22.03.2018 • Der «Produkt» Microservice • REST Service • Messaging Service • Datastore Service • Monitoring Service // View products GET /products
  • 29. Know How Beispiel – Ein einfacher Web-Shop Schwarzwaldgipfel29 22.03.2018 • Finale Microservice Architektur -> Das sind bereits 12 Microservices! Products Orders Cart REST Service REST Service REST Service Messagebus Messagebus Messagebus Datastore Datastore Datastore Monitoring Monitoring Monitoring
  • 31. Manchmal gehen Dinge kaputt… Schwarzwaldgipfel31 22.03.2018
  • 33. ...manchmal gehen auch gleich mehrere Dinge kaputt... Schwarzwaldgipfel33 22.03.2018
  • 35. ...oder sie sehen sich nicht mehr... Schwarzwaldgipfel35 22.03.2018
  • 37. ...manchmal ist man sich nicht sicher... Schwarzwaldgipfel37 22.03.2018
  • 39. ...und unsere neuen Spielzeuge helfen auch nicht wirklich... Schwarzwaldgipfel39 22.03.2018
  • 41. Schwarzwaldgipfel41 22.03.2018 Wir brauchen eine resiliente Software-Architektur Wie müssen wir also unsere Systeme bauen, damit wir nebst den Vorteilen auch einen reibungslosen Betrieb hinkriegen?
  • 42. Resiliente Software-Architektur Schwarzwaldgipfel Resilienz = Fähigkeit zur Selbstheilung MTTF Availability = MTTF + MTTR Resilient Approach: Minimize MTTR 42 22.03.2018
  • 43. Service Service Input Service Service Bewusste Verwaltung des Zustandes Service Isolation Schwarzwaldgipfel43 22.03.2018 Isolation 1. Entkoppelte Kommunikation (Events)
  • 45. Supervision Going Resilient…45 19.10.16 Service Input Output Service InputOutput Queue Error Error Handler Monitoring Errors Super visor
  • 46. Going Resilient…46 19.10.16 Charakteristiken resilienter Systeme • Asynchrone Kommunikation • Idempotente, self-contained Events • Lokationstransparenz • Isolation & recursive Restartability • Komplette Ein- und Ausgabe Validierung • Einheitliches Error Handling und Monitoring • Supervision • Minimaler geteilter Zustand, Redundanz
  • 47. Going Resilient…47 19.10.16 Resiliente Platformen • Cloud Platformen • Orchestrierung (zB Mesos, Kubernetes, Openshift) • Software-Container Eine Betrieb on-premise macht nur in wenigen Fällen Sinn. Risiko der Cloud-Vendor-Abhängigkeit miteinbeziehen.
  • 48. Going Resilient…48 19.10.16 Resilientes Software-Design • Bounded Queues • Fan out & quickest reply • Circuit Breakers and Fail Fast • Timeouts • Throttling, Semaphores • Failover • Degradation of service level
  • 49. DevOps • DevOps bringt die nötige Flexibilität und Agilität • Ohne DevOps werden die Systeme starr und unflexibel bleiben • DevOps Plattformen können innert Stunden aufgebaut werden • Kollaborative Arbeits- und Abrechnungsmodelle • Pilotprojekte
  • 50. Der Umgang mit Daten • Storage ist günstig • Daten in auswertbarer Form speichern • Auswertungen on-the-fly • Vorteile von no-sql nutzen • Ereignisgesteuerte Konzepte, zB Event-Sourcing nutzen • In der Cloud skalieren (Storage und CPU)
  • 51. Künstliche Intelligenz • Noch im Anfangsstadium • Als Services in der Cloud beziehbar • Wird viele manuelle Prozesse in Zukunft überflüssig machen oder stark vereinfachen
  • 53. Schwarzwaldgipfel53 22.03.2018 …eigentlich «nur» Microservices… Wir wollten eine moderne Architektur… …ok. Vielleicht noch etwas BigData und IoT, Weil’s so cool ist.. DevOps gehört eh in die Charta der Menschenrechte für Entwickler ;-) Unsere Legacy-Systeme sind und vorerst mal egal…
  • 54. Charakteristika einer modernen Cloud Architektur Schwarzwaldgipfel54 22.03.2018 1. Skalierbarkeit 2. Microservices und Container 3. Elastic Load Balancing 4. APIs 5. DevOps und Continuous Deployment 6. Resilienz und Fehlertoleranz 7. Konnektivität 8. Data Collection 9. Monitoring
  • 56. Schwarzwaldgipfel56 22.03.2018 DANKE • Fallacies of Distributed Computing: https://de.wikipedia.org/wiki/Fallacies_of_Distributed_Computing • 21 DevOps und Docker Reference Architectures: https://devops.com/21-devops-docker-reference-architectures/ • Cloud Native Computing Foundation: https://www.cncf.io/ • Docker: http://docker.com • Openshift: http://openshift.org Anatole Tresch Principal Consultant AD-ZH anatole.tresch@trivadis.com Twitter: @atsticks