12. Cloud
• Fast and elastic Provision of
• Storage
• RAM, CPU or
• Software
• Ressource-Pooling
• Global network access
• Managed and secure Usage
• On-demand Self-Service
TechEvent 201812
14. DevOps
• Defines a “Contract” between Development and Operations
• Fast Time-to-Market through Automation
• Change of Responsibilities: “You build it, you run it!”
• Agile Culture
TechEvent 201814
16. Container
• Universel Deployment-Format for
any kind of software!
• Match very well with Microservice-style
• Enables DevOps (“The Contract”)
• All Software should be executable as container!
TechEvent 201816
19. Microservices
• Architectural Pattern
• Modularisierung/Komponentisierung
• Scaling of Development Process
• Independent and «small» Teams
• Reduced Complexity
• Independently scalable
• Stable Architecture through
• Isolation of internals
• Services that are simple to extend or replace
• Continuous Delivery is simpler..
TechEvent 201819
«Matching Complexity with
our brains!»
20. Challenges Microservices
• Network Latencies, Load- and Network Partitioning
• Stability of a System as a Whole
• Software Distribution and Release Management
• Adaptation or Integration of Existing Software
• Distributed Logging and Monitoring
• Different Programming languages and software-stacks
• The right «scope» !
You need tooling and processes = DevOps !!!
TechEvent 201820
22. IoT
Interconnectivity of physic and virtual «Things» using Information- and
Communication-Technologies:
• Devices getting smaller and faster
• Long term battery live durations
• Low Energy networking
• Applications throughout all areas
• Also in sensitive areas
TechEvent 201822
24. Big Data
• Volume
Huge volume of data
• Velocity
How fast data is generated and must be transferred
• Variety
Extensive Number of data Types and Sources
• Performance
Runtime for different access types (Read, Write, Update, Append-Only)
TechEvent 201824
26. Artificial Intelligence
• Intelligent Automization
• Machine Learning
• «Human Like» Decision Making
• One of the main triggers of the «Digital Revolution»
• Often only Simulation of „intelligent behaviour“ using simple algorithms
TechEvent 201826
27. And we are happy!
Or did we miss something?
TechEvent 201827
28. What are the main challenges with
distributed systems?
TechEvent 201828
43. Resilient System Architecture
Question: which of these concepts are useful for resilient systems?
• Transactions and Two Phase Commit
• Hot-, Cold-Standby
• Client-Server Systems, Software Agents, Microservices
• Event Driven Communications, Backpressure, Bounded Queues
• Orchestration
• Cloud, Container
• Datawarehouses
• …
TechEvent 201843
44. Impact
Schwarzwaldgipfel44 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
In Practice ?
45. Ausgangsposition
Schwabengipfel45 22.03.2018
Evaluate your Starting Position
• Maximal Benefits «Where is my pain?»
• Competitors and Market Situation
• Culture / Processes / Stakeholder
• Existing IT Infrastructure and Contracts
• Data Protection
• Budget
Neue, teils komplexe Anforderungen
Sensorik
Kybernetik
24x7 verbunden
Grosse Lasten
Enorme Lastspitzen
Geringe Kundenbindung
Win-Win or Loose !
…
Echt verteilte Systeme
CAP Theorem!
Was heisst das im Detail… ?
Rasche und elastische Bereitstellung von
Speicherplatz
Rechenleistung oder
Anwendungssoftware
Ressourcen-Pooling
Globaler Zugriff über ein Rechnernetzohne lokale Installation
Kontrollierter Zugriff und sichere Nutzung
On-demand Self-Service
Public, Private, Hybrid, Community, Multi-Cloud
Konsequenzen Cloud:
IT Infrastruktur ist jederzeit rasch, sicher und günstig verfügbar
Bestehende Betriebsmodelle sind zu hinterfragen
Moderne Lösungen laufen verteilt
Monitoring und Logging wird anspruchsvoller
SLAs, Haftungsfragen
Datenschutz
Zudem enthält die Definition des National Institute for Standards and Technology (NIST) vier Liefermodelle:[5]
Public Cloud – die öffentliche RechnerwolkeBietet Zugang zu abstrahierten IT-Infrastrukturen für die breite Öffentlichkeit über das Internet. Public-Cloud-Diensteanbieter erlauben ihren Kunden, IT-Infrastruktur zu mieten auf einer flexiblen Basis des Bezahlens für den tatsächlichen Nutzungsgrad bzw. Verbrauch (pay-as-you-go), ohne Kapital in Rechner- und Datenzentrumsinfrastruktur investieren zu müssen.
Private Cloud – die private RechnerwolkeEine Private Cloud ist eine Cloud-Umgebung welche ausschließlich für eine Organisation betrieben wird. Das Hosten und Verwalten der Cloud-Plattform kann intern (beispielsweise durch firmeneigene Rechenzentren) aber auch durch Dritte erfolgen.
Hybrid Cloud – die hybride RechnerwolkeBietet kombinierten Zugang zu abstrahierten IT-Infrastrukturen aus den Bereichen von Public Clouds und Private Clouds, nach den Bedürfnissen ihrer Nutzer.
Community Cloud – die gemeinschaftliche RechnerwolkeBietet Zugang zu abstrahierten IT-Infrastrukturen wie bei der Public Cloud – jedoch für einen kleineren Nutzerkreis, der sich, meist örtlich verteilt, die Kosten teilt (z. B. mehrere städtische Behörden, Universitäten, Betriebe oder Firmen mit ähnlichen Interessen, Forschungsgemeinschaften, Genossenschaften).Weiterhin gibt es Mischformen der oben genannten Cloud-Typen:
Virtual Private Cloud – eine private Rechnerwolke auf prinzipiell öffentlich-zugänglichen IT-InfrastrukturenDie Abschottung der „virtuell privaten“ Bereiche auf der öffentlichen Infrastruktur wird durch geeignete Sicherheitsmaßnahmen (z. B. VPN) gewährleistet.
Multi Cloud – Bündelung verschiedener Cloud Computing DiensteWeiterentwicklung der Hybrid Cloud, bei der mehrere Cloud Computing Dienste in einer heterogenen Systemarchitektur gleichzeitig genutzt werden können.
Why:
Amazon: Mai 2011
durchschnittlich alle 11,6 Sekunden ein neues Deployment angestoßen
Auf 10.000 Hosts gleichzeitig
DevOps ist ein Kunstwort aus den Begriffen Development (englisch für Entwicklung) und IT Operations (englisch für IT-Betrieb).
DevOps soll durch gemeinsame Anreize, Prozesse und Werkzeuge (englisch: Tools) eine effektivere und effizientere Zusammenarbeit der Bereiche Dev, Ops und Qualitätssicherung (QS) ermöglichen.[1]
Mit DevOps sollen die Qualität der Software, die Geschwindigkeit der Entwicklung und der Auslieferung sowie das Miteinander der beteiligten Teams verbessert werden.
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
Automation:
Frage: Wie lange dauert es einen Datenbankserver bereitszustellen?
Ausführungsmodell für Tasks!
Prozessisolation, gemeinsam genutzter Kernel (OS-Virtualisierung)
Virtuelle und isolierte Laufzeitumgebung (kein weiteres OS gestartet)
Sehr effiziente Ressourcennutzung (CPU, RAM, FS), zB Layered FS
Restartability, einfaches Recovery, einfach zurücksetzbar
Portabilität = universelles Deployment-Format
Container-Kataloge (Public, Private)
Isolation der Laufzeitumgebung inkl. Abhängigkeiten
Unabhängigkeit vom Cloud-Provider
Container unterstützen Modularisierung
Container ermöglichen evolutive Architektur
How containers:
Cloud
Orchestrierung
Alle Software muss mittelfristig im Container lauffähig sein!
Unix-Philosophie („Do One Thing and Do It Well“)
Bounded Context, Komponente
APIs kapseln die Implementierungsdetails (Information Hiding, Parnas)
Isoliert
Dezentralisiert und horizontal skalierbar
Fehlertolerant
Modularisierung/Komponentisierung
Scaling of Development Process
Independent and «small» Teams
Reduced Complexity
Independently scalable
Stable Architecture through
Isolation of internals
Services that are simple to extend or replace
Continuous Delivery is simpler..
Basically nothing new!
Wo sehen Sie Probleme bei Microservices?
Network Latencies, Load- and Network Partitioning
Stability of a System as a Whole
Software Distribution and Release Management
Adaptation or Integration of Existing Software
Distributed Logging and Monitoring
Different Programming languages and software-stacks
The right «scope» !
-> Tooling -> DevOps !!!
Interconnectivity of physic and virtual «Things» using Information- and Communication-Technologies:
Devices (Clocks, Machines)
Rooms
Humans (Animals) – Implants, Accessibility Tools, Smart Phoines
Robots ?
Beispiel für Quellen:
Aufzeichnungen verschiedenster Überwachungssysteme.
die Nutzung von Kunden- oder Bank- bzw. Bezahlkarten (Giro („EC“)-, Kreditkarte),
jegliche elektronische Kommunikation, dabei auch die persönlich geprägte, individuell unterschiedliche Art und Weise der Benutzung z. B. eines Smartphones (sowohl manuelle wie geografische Bewegungsmuster),[8]
geschäftliche bzw. private Nutzung elektronischer Geräte oder Systeme wie „Fitness“- bzw. „Gesundheitsarmbänder“ bzw. „Wearables“ wie „Activity Tracker“ oder „Smartwatches“, „Ambient Assisted Living“ („umgebungsunterstütztes Leben“) oder globaler Navigationssysteme wie „GPS“, Smartphones, Computer usw.,
die Nutzung von Social-Media-Informationen und -Interaktionen,
Kraftfahrzeuge (insbesondere im Kontext „Vernetztes Auto“),
vernetzte Technik in Häusern („Smart Homes“, „Smart Meter“),
von Behörden und Unternehmen erhobene und gesammelte Daten.
Nothing about distribution!
Elastic Nature matches with Cloud
Volume: also big amount can be handled quickly.
Storage is cheap -> collect first, then analyse
Use asynchronous and event-based processes:
Functions and streaming for
NoSQL
Intelligent Automatzation
Machine Learning
«Human Like» Decision Making
One of the main triggers of the Digitalen Revolution
Still often Simulation of „intelligent behaviour“ using simple algorithms
27
28
29
30
31
32
33
34
35
36
37
38
40
41
42
Ausgangsposition (Klicken)
Nutzungspotentiale «Wo schmerzt es?»
Konkurrenz und Marktumfeld
Kultur / Prozesse / Stakeholder
Bestehende IT Infrastrukturen und Verträge
Datenschutz-Anforderungen
Budget und Budgetprozesse
Ziele
Nutzungspotentiale «Wo schmerzt es?»
Konkurrenz und Marktumfeld
Kultur / Prozesse / Stakeholder
Bestehende IT Infrastrukturen und Verträge
Datenschutz-Anforderungen
Budget und Budgetprozesse
Viele Lösungsansätze
Welche Cloud?
Deploymentformate
Integration
Netzwerksicherheit
Frameworks
Verteilung bringt neue Fragestellungen
Sicherheit
Aufteilung
Kommunikationsprotokolle
Asynchronität
CAP
Kombination Alt und Neu
Greenfield eher selten
Leistungsfähigkeit von Legacy Lösungen richtig einschätzen
Legacy isolieren
Bewährte Konzepte hinterfragen
Transaktionen
Synchrone Aufrufe
Cloud Native Know How
Wenig verbreitet
Wenig Erfahrung
Adopt DevOps and Containers
Use the benefits of the Cloud
Think about your target architecture, especially regarding
Scalability, Flexibility
Time-to-market
Costs
Resilience
Evaluate the Potentials of IoT and KI
Start your «Digitaler Revolution»…