SlideShare ist ein Scribd-Unternehmen logo
Nanoservice
Architekturen
Leo Lindhorst
Consultant Softwareentwicklung
leo.lindhorst@saxsys.de
Monolith
• Einfach zu konstruieren
• Einfach zu deployen und zu betreiben
• Wiederverwendung von Implementierungen einfach
Aber…
• Kann unüberschaubar werden & interne
Abhängigkeiten leicht möglich
• Eine Technologie für die gesamte Anwendung
• Keine gezielte Skalierung möglich
• Kein abgegrenztes Deployment von Änderungen
möglich
Microservices
• Überschaubarere und isolierte Einheiten
• Individuelle Technologien möglich
• Können unabhängiger entwickelt werden
• Unabhäniges Deployment & Skalierung möglich
Aber…
• Betrieb & Deployment komplexer
• Höherer Kommunikationsaufwand
• Wiederverwendung von
Implementierungen schwieriger
Nanoservices?
Noch kleinere
Einheiten?
Aber?
• Betrieb & Deployment zu komplex?
• Zu viel Overhead?
• Übersichtlichkeit?
• Wiederverwendung von Querschnittsaspekten?
Nanoservices
Serverless
&
• Viele kleine Komponenten
• Häufiges Erstellen neuer Komponenten
• Häufige Aktualisierung der
Komponenten
• Abdeckung sehr kleiner
Anwendungsfälle
• Geringer Betriebsaufwand
• Viele Querschnittsaspekte von
Plattform implementiert
• Einfache Erstellung neuer
Komponenten
• Einfache unabhängige Aktualisierung
der Komponenten
• On-Demand Execution & Pricing
Domain
Daten
Nanoservice
Nanoservice
Nanoservice
Nanoservice
Domain
Daten
Nanoservice
Nanoservice
Nanoservice
Nanoservice
Nanoservice Architektur
Domain
Daten
Nanoservice
Nanoservice
Nanoservice
Nanoservice
APIGateway
Auth
Events
Nanoservice Nanoservice
Nanoservice Architektur
Workflow-Engine
Warum?
Kleine Komponenten sind extrem übersichtlich und einfach zu verstehen
Jeder Aspekt kann in der geeignetsten Technologie implementiert werden
Deployment-Artefakte kleiner —> Geringeres Risiko
Geringe Hürde zur Erstellung neuer Subsysteme
Umsetzung - Ein Ansatz
Technologien
Externe API
Service
Implementierung
Peristenz Kommunikation Komposition
Authentifizierung &
User Management
Managed API
Gateway
Functions as a Service
Serverless Datenbank | BLOB
Storage
Message Bus Workflow-Engine
User Management
Service
AWS API Gateway,
Azure Functions
Proxy,

Google Cloud
Endpoints
AWS Lambda,

Azure Functions,

Google Cloud
Functions
AWS DynamoDB / Aurora | S3,

Azure CosmosDB | Storage,

Google Cloud Firestore |
Storage

AWS SNS,

Azure Service Bus,

Google Cloud Pub/
Sub
AWS StepFunctions,

Azure Logic Apps
AWS Cognito,

Azure Active
Directory
Umsetzung - Ein Ansatz
CD & Infrastructure as Code
Infrastructure as Code (IaC):
• Effizientes Deployment
• Gruppierung der Ressourcen —> Übersicht
• Versionierung und Reproduzierbarkeit der Konfiguration
Continuous Delivery:
• Effizientes Deployment
• Sicherstellung eines aktuellen Deployments—> Übersicht
• Automatische Durchführung von Tests
AWS CloudFormation,
Azure Resource Manager,
Google Cloud Deployment Manager,
HashiCorp Terraform
AWS CodePipeline/-Commit/-Build,
Azure VSTS,
Jenkins,
Jetbrains TeamCity
Umsetzung - Ein Ansatz
Deploymentstrukur
Umsetzung - Ein Ansatz
Projektstruktur
Umsetzung - Ein Ansatz
Projektstruktur
Build CI IaC
Build & Dependencies
Code
NanoserviceA
Build & Dependencies
Code
NanoserviceB
…
Umsetzung - Ein Ansatz
Testing
Unit-Tests
Integrations-Tests
System-Tests
e2e-Tests
Demo
github.com/serverless-shop-example
Aber…
Viele lose gekoppelte Komponenten —> Übersicht & Debugging schwieriger
Vendor Lock-In bei Serverless-Diensten
Junges Konzept —> Wenig Best-Practices & Tooling
System-Tests aufwendig umzusetzen
Leo Lindhorst
Consultant Softwareentwicklung
Nanoservices - Fazit
leo.lindhorst@saxsys.de
• Können die Entwicklung von komplexen Cloud Projekten
unterstützen
• Benötigen eine geeignete technologische Basis, z.B.
Serverless Technologien
• Konzept entwickelt sich noch —> Noch keine Lösungen für
alle Problemstellungen
TWITTER, TWEET, RETWEET and the Twitter logo are trademarks of Twitter, Inc. or its affiliates. LinkedIn, the LinkedIn logo, the IN logo and InMail are registered trademarks or trademarks of LinkedIn Corporation and
its affiliates in the United States and/or other countries. GITHUB®, the GITHUB® logo design, OCTOCAT® and the OCTOCAT® logo design are exclusive trademarks registered in the United States by GitHub, Inc.

Weitere ähnliche Inhalte

Was ist angesagt?

Mehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungMehr Sicherheit durch Automatisierung
Mehr Sicherheit durch Automatisierung
OPEN KNOWLEDGE GmbH
 
Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...
Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...
Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...
comspace GmbH & Co. KG
 
Gtug nov 2010
Gtug nov 2010Gtug nov 2010
Gtug nov 2010
Markus Kopf
 
CI und Android - Wie geht das? MTC2010
CI und Android - Wie geht das? MTC2010CI und Android - Wie geht das? MTC2010
CI und Android - Wie geht das? MTC2010
Markus Kopf
 
Cloud at massive scale and incredible speed, Ekkard Schnedermann berichtet vo...
Cloud at massive scale and incredible speed, Ekkard Schnedermann berichtet vo...Cloud at massive scale and incredible speed, Ekkard Schnedermann berichtet vo...
Cloud at massive scale and incredible speed, Ekkard Schnedermann berichtet vo...
Ekkard Schnedermann
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
Peter Hecker
 
Ms community.cloud express-route
Ms community.cloud express-routeMs community.cloud express-route
Ms community.cloud express-route
[MVP] Florian Klaffenbach
 
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
punkt.de GmbH
 
Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?
Christian Baranowski
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOps
matfsw
 
Never Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIsNever Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIs
Stefan Adolf
 
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
OPEN KNOWLEDGE GmbH
 
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
LeanIX GmbH
 
Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: Quarkus
OPEN KNOWLEDGE GmbH
 
Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...
Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...
Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...
Sebastian Huppmann
 
Technische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte EntwicklungsperformanceTechnische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte Entwicklungsperformance
OPEN KNOWLEDGE GmbH
 
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-Gewinnspiel
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-GewinnspielSüßwarenhersteller und Discounter launchen Webportal für EM 2016-Gewinnspiel
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-Gewinnspiel
AWS Germany
 
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
OPEN KNOWLEDGE GmbH
 
Arbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrt
Arbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrtArbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrt
Arbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrt
AWS Germany
 
5. Treffen der .NET User Group Paderborn
5. Treffen der .NET User Group Paderborn5. Treffen der .NET User Group Paderborn
5. Treffen der .NET User Group Paderborn
Mark Lechtermann
 

Was ist angesagt? (20)

Mehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungMehr Sicherheit durch Automatisierung
Mehr Sicherheit durch Automatisierung
 
Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...
Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...
Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...
 
Gtug nov 2010
Gtug nov 2010Gtug nov 2010
Gtug nov 2010
 
CI und Android - Wie geht das? MTC2010
CI und Android - Wie geht das? MTC2010CI und Android - Wie geht das? MTC2010
CI und Android - Wie geht das? MTC2010
 
Cloud at massive scale and incredible speed, Ekkard Schnedermann berichtet vo...
Cloud at massive scale and incredible speed, Ekkard Schnedermann berichtet vo...Cloud at massive scale and incredible speed, Ekkard Schnedermann berichtet vo...
Cloud at massive scale and incredible speed, Ekkard Schnedermann berichtet vo...
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
 
Ms community.cloud express-route
Ms community.cloud express-routeMs community.cloud express-route
Ms community.cloud express-route
 
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
 
Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOps
 
Never Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIsNever Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIs
 
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
 
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
 
Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: Quarkus
 
Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...
Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...
Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...
 
Technische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte EntwicklungsperformanceTechnische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte Entwicklungsperformance
 
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-Gewinnspiel
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-GewinnspielSüßwarenhersteller und Discounter launchen Webportal für EM 2016-Gewinnspiel
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-Gewinnspiel
 
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
 
Arbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrt
Arbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrtArbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrt
Arbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrt
 
5. Treffen der .NET User Group Paderborn
5. Treffen der .NET User Group Paderborn5. Treffen der .NET User Group Paderborn
5. Treffen der .NET User Group Paderborn
 

Ähnlich wie Nanoservice Architekturen

Serverless Application Framework
Serverless Application FrameworkServerless Application Framework
Serverless Application Framework
BATbern
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
QAware GmbH
 
Citrix Day 2014: APPDNA
Citrix Day 2014: APPDNACitrix Day 2014: APPDNA
Citrix Day 2014: APPDNA
Digicomp Academy AG
 
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreibenSQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
Jan Hentschel
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Andreas Wissel
 
MEAN SCS in der Cloud
MEAN SCS in der CloudMEAN SCS in der Cloud
MEAN SCS in der Cloud
Torsten Fink
 
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
GWAVA
 
Creasoft - Windows Azure
Creasoft - Windows AzureCreasoft - Windows Azure
Creasoft - Windows Azure
Creasoft AG
 
Continuous Delivery as a Way of Life
Continuous Delivery as a Way of LifeContinuous Delivery as a Way of Life
Continuous Delivery as a Way of Life
Kremer Consulting
 
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
.NET User Group Rhein-Neckar
 
Webcast Azure Integration Migration - Von BizTalk in die Cloud
Webcast Azure Integration Migration - Von BizTalk in die CloudWebcast Azure Integration Migration - Von BizTalk in die Cloud
Webcast Azure Integration Migration - Von BizTalk in die Cloud
QUIBIQ Hamburg
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
cusy GmbH
 
Continous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnContinous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickeln
Martin Seibert
 
DWX Developer Week 2015 - Microservice architecture applied
DWX Developer Week 2015 - Microservice architecture appliedDWX Developer Week 2015 - Microservice architecture applied
DWX Developer Week 2015 - Microservice architecture applied
Ramon Anger
 
Microsoft Azure Cloud mit der Sitecore Experience Platform
Microsoft Azure Cloud mit der Sitecore Experience PlatformMicrosoft Azure Cloud mit der Sitecore Experience Platform
Microsoft Azure Cloud mit der Sitecore Experience Platform
comspace GmbH & Co. KG
 
Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...
Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...
Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...
Michael Kirst-Neshva
 
BATbern41 Die Evolution zu Microservices
BATbern41 Die Evolution zu MicroservicesBATbern41 Die Evolution zu Microservices
BATbern41 Die Evolution zu Microservices
BATbern
 
stackconf 2020 | SecDevOps in der Cloud by Florian Wiethoff
stackconf 2020 | SecDevOps in der Cloud by Florian Wiethoffstackconf 2020 | SecDevOps in der Cloud by Florian Wiethoff
stackconf 2020 | SecDevOps in der Cloud by Florian Wiethoff
NETWAYS
 
Basta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der CloudBasta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der Cloud
Marc Müller
 
Microservices - Was EAs zu Microservices wissen sollten
Microservices - Was EAs zu Microservices wissen solltenMicroservices - Was EAs zu Microservices wissen sollten
Microservices - Was EAs zu Microservices wissen sollten
Jan Thielscher
 

Ähnlich wie Nanoservice Architekturen (20)

Serverless Application Framework
Serverless Application FrameworkServerless Application Framework
Serverless Application Framework
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
 
Citrix Day 2014: APPDNA
Citrix Day 2014: APPDNACitrix Day 2014: APPDNA
Citrix Day 2014: APPDNA
 
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreibenSQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
 
MEAN SCS in der Cloud
MEAN SCS in der CloudMEAN SCS in der Cloud
MEAN SCS in der Cloud
 
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
 
Creasoft - Windows Azure
Creasoft - Windows AzureCreasoft - Windows Azure
Creasoft - Windows Azure
 
Continuous Delivery as a Way of Life
Continuous Delivery as a Way of LifeContinuous Delivery as a Way of Life
Continuous Delivery as a Way of Life
 
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
 
Webcast Azure Integration Migration - Von BizTalk in die Cloud
Webcast Azure Integration Migration - Von BizTalk in die CloudWebcast Azure Integration Migration - Von BizTalk in die Cloud
Webcast Azure Integration Migration - Von BizTalk in die Cloud
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
 
Continous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnContinous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickeln
 
DWX Developer Week 2015 - Microservice architecture applied
DWX Developer Week 2015 - Microservice architecture appliedDWX Developer Week 2015 - Microservice architecture applied
DWX Developer Week 2015 - Microservice architecture applied
 
Microsoft Azure Cloud mit der Sitecore Experience Platform
Microsoft Azure Cloud mit der Sitecore Experience PlatformMicrosoft Azure Cloud mit der Sitecore Experience Platform
Microsoft Azure Cloud mit der Sitecore Experience Platform
 
Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...
Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...
Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...
 
BATbern41 Die Evolution zu Microservices
BATbern41 Die Evolution zu MicroservicesBATbern41 Die Evolution zu Microservices
BATbern41 Die Evolution zu Microservices
 
stackconf 2020 | SecDevOps in der Cloud by Florian Wiethoff
stackconf 2020 | SecDevOps in der Cloud by Florian Wiethoffstackconf 2020 | SecDevOps in der Cloud by Florian Wiethoff
stackconf 2020 | SecDevOps in der Cloud by Florian Wiethoff
 
Basta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der CloudBasta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der Cloud
 
Microservices - Was EAs zu Microservices wissen sollten
Microservices - Was EAs zu Microservices wissen solltenMicroservices - Was EAs zu Microservices wissen sollten
Microservices - Was EAs zu Microservices wissen sollten
 

Nanoservice Architekturen

  • 3. Monolith • Einfach zu konstruieren • Einfach zu deployen und zu betreiben • Wiederverwendung von Implementierungen einfach Aber… • Kann unüberschaubar werden & interne Abhängigkeiten leicht möglich • Eine Technologie für die gesamte Anwendung • Keine gezielte Skalierung möglich • Kein abgegrenztes Deployment von Änderungen möglich
  • 4. Microservices • Überschaubarere und isolierte Einheiten • Individuelle Technologien möglich • Können unabhängiger entwickelt werden • Unabhäniges Deployment & Skalierung möglich Aber… • Betrieb & Deployment komplexer • Höherer Kommunikationsaufwand • Wiederverwendung von Implementierungen schwieriger
  • 5. Nanoservices? Noch kleinere Einheiten? Aber? • Betrieb & Deployment zu komplex? • Zu viel Overhead? • Übersichtlichkeit? • Wiederverwendung von Querschnittsaspekten?
  • 6. Nanoservices Serverless & • Viele kleine Komponenten • Häufiges Erstellen neuer Komponenten • Häufige Aktualisierung der Komponenten • Abdeckung sehr kleiner Anwendungsfälle • Geringer Betriebsaufwand • Viele Querschnittsaspekte von Plattform implementiert • Einfache Erstellung neuer Komponenten • Einfache unabhängige Aktualisierung der Komponenten • On-Demand Execution & Pricing
  • 9. Warum? Kleine Komponenten sind extrem übersichtlich und einfach zu verstehen Jeder Aspekt kann in der geeignetsten Technologie implementiert werden Deployment-Artefakte kleiner —> Geringeres Risiko Geringe Hürde zur Erstellung neuer Subsysteme
  • 10. Umsetzung - Ein Ansatz Technologien Externe API Service Implementierung Peristenz Kommunikation Komposition Authentifizierung & User Management Managed API Gateway Functions as a Service Serverless Datenbank | BLOB Storage Message Bus Workflow-Engine User Management Service AWS API Gateway, Azure Functions Proxy, Google Cloud Endpoints AWS Lambda, Azure Functions, Google Cloud Functions AWS DynamoDB / Aurora | S3, Azure CosmosDB | Storage, Google Cloud Firestore | Storage AWS SNS, Azure Service Bus, Google Cloud Pub/ Sub AWS StepFunctions, Azure Logic Apps AWS Cognito, Azure Active Directory
  • 11. Umsetzung - Ein Ansatz CD & Infrastructure as Code Infrastructure as Code (IaC): • Effizientes Deployment • Gruppierung der Ressourcen —> Übersicht • Versionierung und Reproduzierbarkeit der Konfiguration Continuous Delivery: • Effizientes Deployment • Sicherstellung eines aktuellen Deployments—> Übersicht • Automatische Durchführung von Tests AWS CloudFormation, Azure Resource Manager, Google Cloud Deployment Manager, HashiCorp Terraform AWS CodePipeline/-Commit/-Build, Azure VSTS, Jenkins, Jetbrains TeamCity
  • 12. Umsetzung - Ein Ansatz Deploymentstrukur
  • 13. Umsetzung - Ein Ansatz Projektstruktur
  • 14. Umsetzung - Ein Ansatz Projektstruktur Build CI IaC Build & Dependencies Code NanoserviceA Build & Dependencies Code NanoserviceB …
  • 15. Umsetzung - Ein Ansatz Testing Unit-Tests Integrations-Tests System-Tests e2e-Tests
  • 17. Aber… Viele lose gekoppelte Komponenten —> Übersicht & Debugging schwieriger Vendor Lock-In bei Serverless-Diensten Junges Konzept —> Wenig Best-Practices & Tooling System-Tests aufwendig umzusetzen
  • 18. Leo Lindhorst Consultant Softwareentwicklung Nanoservices - Fazit leo.lindhorst@saxsys.de • Können die Entwicklung von komplexen Cloud Projekten unterstützen • Benötigen eine geeignete technologische Basis, z.B. Serverless Technologien • Konzept entwickelt sich noch —> Noch keine Lösungen für alle Problemstellungen TWITTER, TWEET, RETWEET and the Twitter logo are trademarks of Twitter, Inc. or its affiliates. LinkedIn, the LinkedIn logo, the IN logo and InMail are registered trademarks or trademarks of LinkedIn Corporation and its affiliates in the United States and/or other countries. GITHUB®, the GITHUB® logo design, OCTOCAT® and the OCTOCAT® logo design are exclusive trademarks registered in the United States by GitHub, Inc.