SlideShare ist ein Scribd-Unternehmen logo
1 von 109
Downloaden Sie, um offline zu lesen
#WISSENTEILEN
Hilfe, ich will meinen
Monolithen
zurück!
Lars Röwekamp
CIO New Technologies
@mobileLarson | @_openknowledge
#WISSENTEILEN
#WISSENTEILEN
ÜBER OPEN KNOWLEDGE
Branchenneutrale Softwareentwicklung & IT-Beratung
#WISSENTEILEN
ÜBER MICH
Wer bin ich - und wenn ja, wie viele?
• CIO New Technologies
• Enterprise & Mobile
• Autor, Speaker, Coach & Mentor
• Snowboard & MTB Enthusiast (a.k.a. “stets bemüht“)
Lars Röwekamp (a.k.a. @mobileLarson)
#WISSENTEILEN
Der böse, böse Monolith
#WISSENTEILEN
a.k.a. „Big Ball of Mud“
#WISSENTEILEN
MONOLITH
nix als Probleme
#WISSENTEILEN
MONOLITH
nix als Probleme
- Umsetzungsstau
- Robustheit
- Release Qualität
- Kosten
- Zukunftsfähigkeit
- Skalierbarkeit
#WISSENTEILEN
MICROSERVICES
to the Rescue
#WISSENTEILEN
MICROSERVICES
to the Rescue
- einfach(er)
- schnell(er)
- lokal(er)
- frei(er)
- isoliert(er)
- skalierbar(er)
- agil(er)
#WISSENTEILEN
MONOLITH
ACHTUNG: von Natur aus böse!
So kann ich
nicht arbeiten!
#WISSENTEILEN
MI CR O
SER VI CES
ARCHI TEC TURE
unabhängig
• entwickeln
• testen
• deployen
• skalieren
So will ich
arbeiten!
#WISSENTEILEN
MI CR O
SER VI CES
ARCHI TEC TURE
Ok, es gibt
Challenges …
#WISSENTEILEN
MI CR O
SER VI CES
ARCHI TEC TURE
Ok, es gibt
Challenges …
• Communication
#WISSENTEILEN
MI CR O
SER VI CES
ARCHI TEC TURE
Ok, es gibt
Challenges …
• Communication
#WISSENTEILEN
MI CR O
SER CES
ARCHI TEC TURE
Ok, es gibt
Challenges …
• Communication
VI
#WISSENTEILEN
MI CR O
SER CES
ARCHI TEC TURE
SORRY!
The service is
temporary
not available
Ok, es gibt
Challenges …
• Communication
• Resilience
#WISSENTEILEN
MI CR O
SER VI CES
ARCHI TEC TURE
Ok, es gibt
Challenges …
• Communication
• Resilience
• Monitoring
#WISSENTEILEN
MI CR O
SER VI CES
ARCHI TEC TURE
Ok, es gibt
Challenges …
• Communication
• Resilience
• Monitoring
?
#WISSENTEILEN
MI CR O
SER VI CES
ARCHI TEC TURE
Ok, es gibt
Challenges …
• Communication
• Resilience
• Monitoring
?
?
?
?
?
#WISSENTEILEN
MI CR O
SER VI CES
ARCHI TEC TURE
Ok, es gibt
Challenges …
• Communication
• Resilience
• Monitoring
• Security
#WISSENTEILEN
MI CR O
SER VI CES
ARCHI TEC TURE
Ok, es gibt
Challenges …
• Communication
• Resilience
• Monitoring
• Security
#WISSENTEILEN
MI CR O
SER VI CES
ARCHI TEC TURE
Ok, es gibt
Challenges …
• Communication
• Resilience
• Monitoring
• Security
• Data & TX
#WISSENTEILEN
MI CR O
SER VI CES
ARCHI TEC TURE
Ok, es gibt
Challenges …
• Communication
• Resilience
• Monitoring
• Security
• Data & TX
• Configuration
#WISSENTEILEN
MI CR
SER VI CES
TEC TURE
O
ARCHI
Ok, es gibt
Challenges …
• Communication
• Resilience
• Monitoring
• Security
• Data & TX
• Configuration
• Versioning
#WISSENTEILEN
MI CR
SER VI CES
TEC TURE
O
ARCHI
Ok, es gibt
Challenges …
• Communication
• Resilience
• Monitoring
• Security
• Data & TX
• Configuration
• Versioning
#WISSENTEILEN
MI CR
SER VI CES
TEC TURE
VI v2
O
ARCHI
v2
Ok, es gibt
Challenges …
• Communication
• Resilience
• Monitoring
• Security
• Data & TX
• Configuration
• Versioning
#WISSENTEILEN
MI CR
SER VI CES
TEC TURE
VI
O
ARCHI
v3
v2
Ok, es gibt
Challenges …
• Communication
• Resilience
• Monitoring
• Security
• Data & TX
• Configuration
• Versioning
VI v3
#WISSENTEILEN
MI CR
SER VI CES
TEC TURE
VI
VI v3
O
ARCHI
v3
v2
Ok, es gibt
Challenges …
• Communication
• Resilience
• Monitoring
• Security
• Data & TX
• Configuration
• Versioning
?
#WISSENTEILEN
MI
SER VI CES
TEC TURE
VI
VI v3
ARCHI
v3
v2
Ok, es gibt
Challenges …
• Communication
• Resilience
• Monitoring
• Security
• Data & TX
• Configuration
• Versioning
deprecated
O
CR
#WISSENTEILEN
Hilfe, ich will meinen
Monolithen
zurück!
#WISSENTEILEN
#WISSENTEILEN
Warum eigentlich noch mal
Microservices?
#WISSENTEILEN
Was waren noch mal die Problem?
• Umsetzungstaus
• Release Qualität
• Robustheit
• Kosten
• Zukunftsfähigkeit
• Skalierbarkeit*
*Entwicklungs- vs. Laufzeit
#WISSENTEILEN
Was waren noch mal die Problem?
• Umsetzungstaus
• Release Qualität
• Robustheit
• Kosten
• Zukunftsfähigkeit
• Skalierbarkeit
#1 stark verwässerte
Fachlichkeit
#2 fehlende Trennung
von Zuständigkeiten
#3 Abhängigkeiten
innerhalb der Architektur
#WISSENTEILEN
Was waren noch mal die Problem?
• Umsetzungstaus
• Release Qualität
• Robustheit
• Kosten
• Zukunftsfähigkeit
• Skalierbarkeit
viel zu viele
Abhängigkeiten
in der Entwicklung,
im Testing und
zur Laufzeit
#WISSENTEILEN
„Auflösen der
Abhängigkeiten“
*wo möglich und keine zusätzliche Komplexität geschaffen wird.
#WISSENTEILEN
Fachlichkeit
„zurück“ in den Fokus
Step #1
#WISSENTEILEN
Real Life Architecture
#WISSENTEILEN
Software Architecture
#WISSENTEILEN
Status Quo
Infrastructure-driven Architecture
• technische Injection
• technische Transaktionen
• technische Scopes
• technische Methoden
#WISSENTEILEN
TX
#WISSENTEILEN
Problemkind Schichtenmodell
• UI Controller via CDI Managed Beans
• Service Facade und Services via EJB/CDI
• Persistenz via EntityManager und Entities
• Alles nur Infrastruktur!
• Wo steckt eigentlich die fachliche Domain?
#WISSENTEILEN
TX
#WISSENTEILEN
TX
#WISSENTEILEN
TX
#WISSENTEILEN
Fachlichkeit im Fokus
UC-001: „create Customer“
• Kunde neu erfassen und speichern
• Begrüßungs-Mail an Neukunden versenden
• Call Center Agent als Audit-Info speichern
#WISSENTEILEN
#WISSENTEILEN
Wie steht‘s eigentlich
mit Transaktionen?
#WISSENTEILEN
#WISSENTEILEN
TX
#WISSENTEILEN
TX
#WISSENTEILEN
Step #1: fachliche Injektion
CDI Producer Methods & Fields
• CDI Producer Methods & Fields
• @Produces zur Erzeugung von Objekten
• @Qualifier zur fachlichen Qualifizierung
#WISSENTEILEN
#WISSENTEILEN
Warum eigentlich
hier injecten?
#WISSENTEILEN
Und nicht hier?
#WISSENTEILEN
Step #2: fachliche Transaktionen
Transaktionen auf Use-Case Ebene
• keine @EJB Facade
• @Transactional
#WISSENTEILEN
TX
#WISSENTEILEN
TX
#WISSENTEILEN
#WISSENTEILEN
Step #3: fachlicher Scope
Use-Case vs. Session
• Anti-Pattern „pumped-up“ Session
• Conversation exakt so lange wie benötigt
• @ConversationalScoped
#WISSENTEILEN
#WISSENTEILEN
Step #4: fachliche Methoden
a.k.a. „no more doAll(…)-Methods“
• Primärer Use Case: create Customer
• Sekundärer Use Case: send Welcome Mail
• Sekundärer Use Case: trace Trainee Audit Info
• Sekundärer Use Case: if tenant X …
#WISSENTEILEN
Step #4: fachliche Methoden
Idee der Domänen-Events
• Primärer Use Case löst Event aus
• Sekundäre Use Cases reagieren auf Event
#WISSENTEILEN
#WISSENTEILEN
#WISSENTEILEN
Step #4: fachliche Methoden
CDI Events zur losen Kopplung
• Event Object & Event Producer
• Observer Methoden
#WISSENTEILEN
#WISSENTEILEN
#WISSENTEILEN
Fachlichkeit im Fokus
Business-driven Architecture, d.h. ...
• fachliches Modell*
• fachliche Injection
• fachliche Transaktionen
• fachliche Scopes
• fachliche Methoden *DDD, Rich Domain Model
#WISSENTEILEN
TX
#WISSENTEILEN
TX
#WISSENTEILEN
TX
#WISSENTEILEN
TX
#WISSENTEILEN
Unabhängigkeit
der fachlichen Module
Step #2
#WISSENTEILEN
Monolithic
Architecture
Service-based
Architecture
„Big Ball of Mud“
?
Best-of-both-Worlds
Architecture
Abhängigkeit
stark schwach
#WISSENTEILEN
Monolithic
Architecture
Service-based
Architecture
„Big Ball of Mud“
*The Modular Monolith, Simon Brown
Modular*
Architecture
#WISSENTEILEN
• high cohesion
• low coupling
• business capabilities
• bounded context / aggregates
• encapsulated data
• substitutable
• composable
• deployable
• upgradeable
• replaceable
• scalable
alle Vorteile von „Modular“
plus unabhängig …
Services
Modular
#WISSENTEILEN
Unabhängigkeit in der Entwicklung und im Testing
• high cohesion
• low coupling
• business capabilities
• bounded context / aggregates
• encapsulated data
• substitutable
• composable
Modular
„Mehr verlange
ich doch gar nicht
vom Leben!“
#WISSENTEILEN
Modular Monolith
Wie erhalte ich die modulare Struktur?
#WISSENTEILEN
„The code structure
should reflect
the architectural intent.”
Simon Brown - „The modular Monolith“
Simon Brown
#WISSENTEILEN
George Fairbanks - „Just enough Software Architecture“
Model-Code Gap
George Fairbanks
#WISSENTEILEN
CustomersController
<< interface >>
CustomersService
CustomersServiceImpl
<< interface >>
CustomersRepository
Package by Layer
de.openknowledge.app.web
de.openknowledge.app.service
de.openknowledge.app.data
<<uses>>
<<uses>>
DbCustomersRepository
#WISSENTEILEN
Quelle: https://martinfowler.com/bliki/PresentationDomainDataLayering.html
#WISSENTEILEN
Package by Feature
CustomersController
<< interface >>
CustomersService
CustomersServiceImpl
<< interface >>
CustomersRepository
de.openknowledge.app.customers
<<uses>>
<<uses>>
DbCustomersRepository
#WISSENTEILEN
CustomersController
<< interface >>
CustomersService
CustomersServiceImpl
<< interface >>
Customers
de.openknowledge.app.web
de.openknowledge.app.domain
de.openknowledge.app.data
<<uses>>
<<uses>>
Package by Ports/Adapter
Domain*
(inside)
Infrastructure
(outside)
DbCustomersRepository
*DDD
#WISSENTEILEN
CustomersController
<< interface >>
CustomersService
CustomersServiceImpl
<< interface >>
CustomersRepository
Add a new Feature …
de.openknowledge.app.web
de.openknowledge.app.service
de.openknowledge.app.data
<<uses>>
<<uses>>
DbCustomersRepository
<<uses>>
#WISSENTEILEN
Big Ball of Mud
„A big ball of mud is a
casually, even haphazardly,
structured system.
Its organization, if one
can call it that, is dictated
more by expedience
than by design.“
by Brian Foote & Joseph Yoder
#WISSENTEILEN
Aber wir haben doch REGELN!
Architecture Principles geben Regeln vor.
Dev Reviews & Tools finden Verstöße, oder?
• Inspection von Code UND anderen Artifakten
• jqAssistant, SonarGraph/Cloud, jDepend
• ArchUnit (Arch Regeln als UnitTests)
• Spring Moduliths Framework
#WISSENTEILEN
Modularisierung* und ihre Probleme
Package pro …
• Layer: rein technische Sicht
• Features: übergreifende Fachlichkeit
• Ports & Adapters: Wrapper über Warpper
• ????
*the code structure should reflect the architectural intent
#WISSENTEILEN
CustomersController
<< interface >>
CustomersComponent
<< interface >>
CustomersRepositoty
Package by Component*
de.openknowledge.app.web
de.openknowledge.app.customers
<<uses>>
DbCustomersRepository
CustomersComponentImpl
<<uses>>
*grouping of related functionality behind a nice clean interface
#WISSENTEILEN
Business
Data
Package by Component
public API als „undurchlässige“ Grenze (Access Modifiers / Network Boundaries)
Business
Data
Component Microservice
Public API Public API
#WISSENTEILEN
Organisation
vs
Encapsulation
#WISSENTEILEN
Organisation vs Encapsulation
#WISSENTEILEN
Organisation vs Encapsulation
#WISSENTEILEN
Organisation vs Encapsulation
#WISSENTEILEN
„Use encapsulation to
minimise the number of
potential dependencies.”*
Simon Brown
*vermeide public Keyword wann immer möglich!
#WISSENTEILEN
Modularisierung via Artifacts*
v1
v1
v1
v1
v1
v1
v1
v1
v1
* mehrere JARs (aber trotzdem nur eine Version)
#WISSENTEILEN
Modularisierung via Repos*
v1
v1
v2
v1
v2
v1
v5
v1
v7
* mehrere JARs und mehrere Versionen
#WISSENTEILEN
Modularisierung via Artifacts/Repos
v1
v1
v1
v1
v1
v1
v1
v1
v1
Build Artifact pro Fachlichkeit
• jedes Modul erhält eigenes Build Artifact
• einige wenige „common“ / „core“ Artifacts
• Zugriffskontrolle* über die Dependencies
• Testen einzelner Module möglich
* und ggf. Versionierung
#WISSENTEILEN
Eigene Artifacts/Repos …
v1
v1
v1
v1
v1
v1
v1
v1
v1
aber was ist mit dem User Interface?
• eigenes Basismodul für UI-Core-Klassen und
Ressourcen (Menu, CSS, JS, …)
• eigenes Modul je Fachlichkeit für spezielle
Ausprägungen (Customer Menu, UI-Logic,
Wizwards, …)
#WISSENTEILEN
Eigene Artifacts/Repos …
v1
v1
v1
v1
v1
v1
v1
v1
v1
aber was ist mit der Datenbank?
• eigene Tabelle je Modul
• JOINS nur auf Tabellen eines Moduls
Keine geteilten Tabellen, aber referenzielle Integrität
über Modulgrenzen hinweg.
#WISSENTEILEN
Was ihr
mitnehmen
solltet.
#WISSENTEILEN
Die eigentliche Frage ist nicht
„Microservices?“
#WISSENTEILEN
Die eigentliche Frage ist
„Was will ich
verbessern?“
#WISSENTEILEN
„So einfach
wie möglich!“
… und so komplex wie notwendig!
#WISSENTEILEN
via Scopes* via Artifacts via Services
via Repos
v1
v1
v1
v1
v1
v1
v1
v1
v1
v1
v3
v7
v2
v1
v2
v3
v4
v1
Complexity
Level 1
Complexity
Level 2
Complexity
Level 3
Complexity
Level 1000
v1
Wie erhalte ich Struktur?
you‘r
here
you‘r
here
you‘r
here
you‘r
here
*und Fokus auf Fachlichkeit
#WISSENTEILEN
? ? ?
@mobileLarson
lars.roewekamp@openknowledge.de
#WISSENTEILEN
Lars Röwekamp, @mobileLarson
Kontakt:
lars.roewekamp@openknowledge.de
kontakt@openknowledge.de
Besten Dank! #WISSENTEILEN
#WISSENTEILEN
#001 thx to Andrea Picaquadio (pexels.com)
#006 thx to Mike van Schoonderwalt (pexels.com)
#008 thx to Andrea Picaquadio (pexels.com)
#030 thx to Andrea Picaquadio (pexels.com)
#102 thx to Andrea Picaquadio (pexels.com)
Alle weiteren Bilder der Präsentation sind entweder von pexels.com,
pixabay.com oder von mir selbst erstellt.
Bildernachweis

Weitere ähnliche Inhalte

Was ist angesagt?

[WhaTap DevOps Day] 세션 6 : 와탭랩스 DevOps 이야기
[WhaTap DevOps Day] 세션 6 : 와탭랩스 DevOps 이야기[WhaTap DevOps Day] 세션 6 : 와탭랩스 DevOps 이야기
[WhaTap DevOps Day] 세션 6 : 와탭랩스 DevOps 이야기WhaTap Labs
 
Non-regression testing in web app development
Non-regression testing in web app developmentNon-regression testing in web app development
Non-regression testing in web app developmentCédric Villa
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)NAVER D2
 
스위프트 성능 이해하기
스위프트 성능 이해하기스위프트 성능 이해하기
스위프트 성능 이해하기Yongha Yoo
 
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다Arawn Park
 
ノーコードだよ!全員集合!! ~ 技術者も業務担当者も大歓迎 ~(仮)
ノーコードだよ!全員集合!! ~ 技術者も業務担当者も大歓迎 ~(仮)ノーコードだよ!全員集合!! ~ 技術者も業務担当者も大歓迎 ~(仮)
ノーコードだよ!全員集合!! ~ 技術者も業務担当者も大歓迎 ~(仮)Yugo Shimizu
 
1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스Terry Cho
 
#살아있다 #자프링외길12년차 #코프링2개월생존기
#살아있다 #자프링외길12년차 #코프링2개월생존기#살아있다 #자프링외길12년차 #코프링2개월생존기
#살아있다 #자프링외길12년차 #코프링2개월생존기Arawn Park
 
컨테이너 (PaaS) 환경으로의 애플리케이션 전환 방법과 고려사항
컨테이너 (PaaS) 환경으로의 애플리케이션 전환 방법과 고려사항컨테이너 (PaaS) 환경으로의 애플리케이션 전환 방법과 고려사항
컨테이너 (PaaS) 환경으로의 애플리케이션 전환 방법과 고려사항Opennaru, inc.
 
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기NHN FORWARD
 
FIWARE Global Summit - NGSI-LD – an Evolution from NGSIv2
FIWARE Global Summit - NGSI-LD – an Evolution from NGSIv2FIWARE Global Summit - NGSI-LD – an Evolution from NGSIv2
FIWARE Global Summit - NGSI-LD – an Evolution from NGSIv2FIWARE
 
[Confluent] 실시간 하이브리드, 멀티 클라우드 데이터 아키텍처로 빠르게 혀...
[Confluent] 실시간 하이브리드, 멀티 클라우드 데이터 아키텍처로 빠르게 혀...[Confluent] 실시간 하이브리드, 멀티 클라우드 데이터 아키텍처로 빠르게 혀...
[Confluent] 실시간 하이브리드, 멀티 클라우드 데이터 아키텍처로 빠르게 혀...confluent
 
Multiplatform architecture ribs in swift
Multiplatform architecture ribs in swiftMultiplatform architecture ribs in swift
Multiplatform architecture ribs in swiftNAVER Engineering
 
웹 3.0 시대에서의 블록체인, 메타버스 및 대체불가 토큰(NFT) on AWS 사례 공유 [레벨 200] - 발표자: 이이구, CTO, ...
웹 3.0 시대에서의 블록체인, 메타버스 및 대체불가 토큰(NFT) on AWS 사례 공유 [레벨 200] - 발표자: 이이구, CTO, ...웹 3.0 시대에서의 블록체인, 메타버스 및 대체불가 토큰(NFT) on AWS 사례 공유 [레벨 200] - 발표자: 이이구, CTO, ...
웹 3.0 시대에서의 블록체인, 메타버스 및 대체불가 토큰(NFT) on AWS 사례 공유 [레벨 200] - 발표자: 이이구, CTO, ...Amazon Web Services Korea
 
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf정민 안
 
Microservices Interview Questions and Answers | Microservices Architecture Tr...
Microservices Interview Questions and Answers | Microservices Architecture Tr...Microservices Interview Questions and Answers | Microservices Architecture Tr...
Microservices Interview Questions and Answers | Microservices Architecture Tr...Edureka!
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)fisuda
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해Terry Cho
 
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
Node.js API 서버 성능 개선기
Node.js API 서버 성능 개선기Node.js API 서버 성능 개선기
Node.js API 서버 성능 개선기JeongHun Byeon
 

Was ist angesagt? (20)

[WhaTap DevOps Day] 세션 6 : 와탭랩스 DevOps 이야기
[WhaTap DevOps Day] 세션 6 : 와탭랩스 DevOps 이야기[WhaTap DevOps Day] 세션 6 : 와탭랩스 DevOps 이야기
[WhaTap DevOps Day] 세션 6 : 와탭랩스 DevOps 이야기
 
Non-regression testing in web app development
Non-regression testing in web app developmentNon-regression testing in web app development
Non-regression testing in web app development
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
 
스위프트 성능 이해하기
스위프트 성능 이해하기스위프트 성능 이해하기
스위프트 성능 이해하기
 
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다
 
ノーコードだよ!全員集合!! ~ 技術者も業務担当者も大歓迎 ~(仮)
ノーコードだよ!全員集合!! ~ 技術者も業務担当者も大歓迎 ~(仮)ノーコードだよ!全員集合!! ~ 技術者も業務担当者も大歓迎 ~(仮)
ノーコードだよ!全員集合!! ~ 技術者も業務担当者も大歓迎 ~(仮)
 
1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스
 
#살아있다 #자프링외길12년차 #코프링2개월생존기
#살아있다 #자프링외길12년차 #코프링2개월생존기#살아있다 #자프링외길12년차 #코프링2개월생존기
#살아있다 #자프링외길12년차 #코프링2개월생존기
 
컨테이너 (PaaS) 환경으로의 애플리케이션 전환 방법과 고려사항
컨테이너 (PaaS) 환경으로의 애플리케이션 전환 방법과 고려사항컨테이너 (PaaS) 환경으로의 애플리케이션 전환 방법과 고려사항
컨테이너 (PaaS) 환경으로의 애플리케이션 전환 방법과 고려사항
 
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
 
FIWARE Global Summit - NGSI-LD – an Evolution from NGSIv2
FIWARE Global Summit - NGSI-LD – an Evolution from NGSIv2FIWARE Global Summit - NGSI-LD – an Evolution from NGSIv2
FIWARE Global Summit - NGSI-LD – an Evolution from NGSIv2
 
[Confluent] 실시간 하이브리드, 멀티 클라우드 데이터 아키텍처로 빠르게 혀...
[Confluent] 실시간 하이브리드, 멀티 클라우드 데이터 아키텍처로 빠르게 혀...[Confluent] 실시간 하이브리드, 멀티 클라우드 데이터 아키텍처로 빠르게 혀...
[Confluent] 실시간 하이브리드, 멀티 클라우드 데이터 아키텍처로 빠르게 혀...
 
Multiplatform architecture ribs in swift
Multiplatform architecture ribs in swiftMultiplatform architecture ribs in swift
Multiplatform architecture ribs in swift
 
웹 3.0 시대에서의 블록체인, 메타버스 및 대체불가 토큰(NFT) on AWS 사례 공유 [레벨 200] - 발표자: 이이구, CTO, ...
웹 3.0 시대에서의 블록체인, 메타버스 및 대체불가 토큰(NFT) on AWS 사례 공유 [레벨 200] - 발표자: 이이구, CTO, ...웹 3.0 시대에서의 블록체인, 메타버스 및 대체불가 토큰(NFT) on AWS 사례 공유 [레벨 200] - 발표자: 이이구, CTO, ...
웹 3.0 시대에서의 블록체인, 메타버스 및 대체불가 토큰(NFT) on AWS 사례 공유 [레벨 200] - 발표자: 이이구, CTO, ...
 
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf
 
Microservices Interview Questions and Answers | Microservices Architecture Tr...
Microservices Interview Questions and Answers | Microservices Architecture Tr...Microservices Interview Questions and Answers | Microservices Architecture Tr...
Microservices Interview Questions and Answers | Microservices Architecture Tr...
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
 
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
 
Node.js API 서버 성능 개선기
Node.js API 서버 성능 개선기Node.js API 서버 성능 개선기
Node.js API 서버 성능 개선기
 

Ähnlich wie Hilfe, ich will meinen Monolithen zurück!

Die Matrix: Enterprise-Architekturen jenseits von Microservices
Die Matrix: Enterprise-Architekturen jenseits von MicroservicesDie Matrix: Enterprise-Architekturen jenseits von Microservices
Die Matrix: Enterprise-Architekturen jenseits von MicroservicesOPEN KNOWLEDGE GmbH
 
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?OPEN KNOWLEDGE GmbH
 
Microservices Migration: Vom Monolithen zu Microservices
Microservices Migration: Vom Monolithen zu MicroservicesMicroservices Migration: Vom Monolithen zu Microservices
Microservices Migration: Vom Monolithen zu MicroservicesOPEN KNOWLEDGE GmbH
 
CQRS, der etwas andere Architekturansatz
CQRS, der etwas andere ArchitekturansatzCQRS, der etwas andere Architekturansatz
CQRS, der etwas andere ArchitekturansatzOPEN KNOWLEDGE GmbH
 
Spaß mit Microservices: Transaktionen
Spaß mit Microservices: TransaktionenSpaß mit Microservices: Transaktionen
Spaß mit Microservices: TransaktionenOPEN KNOWLEDGE GmbH
 
Modern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit JavaModern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit JavaOPEN KNOWLEDGE GmbH
 
Shared Data in verteilten Systemen
Shared Data in verteilten SystemenShared Data in verteilten Systemen
Shared Data in verteilten SystemenOPEN KNOWLEDGE GmbH
 
Zukunftssichere Architekturen mit Microservices
Zukunftssichere Architekturen mit MicroservicesZukunftssichere Architekturen mit Microservices
Zukunftssichere Architekturen mit MicroservicesOPEN KNOWLEDGE GmbH
 
Java EE goes Microservices. Are you serious?
Java EE goes Microservices. Are you serious?Java EE goes Microservices. Are you serious?
Java EE goes Microservices. Are you serious?OPEN KNOWLEDGE GmbH
 
Microservices Architecture: Architektur und Patterns
Microservices Architecture: Architektur und PatternsMicroservices Architecture: Architektur und Patterns
Microservices Architecture: Architektur und PatternsOPEN KNOWLEDGE GmbH
 
Shared Data in verteilten Architekturen
Shared Data in verteilten ArchitekturenShared Data in verteilten Architekturen
Shared Data in verteilten ArchitekturenOPEN KNOWLEDGE GmbH
 
Herausforderung „Multi-Channel Architecture”
Herausforderung „Multi-Channel Architecture”Herausforderung „Multi-Channel Architecture”
Herausforderung „Multi-Channel Architecture”OPEN KNOWLEDGE GmbH
 
Herausforderung „Multi-Channel“-Architektur
Herausforderung „Multi-Channel“-ArchitekturHerausforderung „Multi-Channel“-Architektur
Herausforderung „Multi-Channel“-ArchitekturOPEN KNOWLEDGE GmbH
 
Aus der Rubrik "Spaß mit Microservices": Transaktionen
Aus der Rubrik "Spaß mit Microservices": TransaktionenAus der Rubrik "Spaß mit Microservices": Transaktionen
Aus der Rubrik "Spaß mit Microservices": TransaktionenOPEN KNOWLEDGE GmbH
 
Microservices mit dem MicroProfile
Microservices mit dem MicroProfileMicroservices mit dem MicroProfile
Microservices mit dem MicroProfileOPEN KNOWLEDGE GmbH
 
Mobile- & Offline-First: Mehr als nur Buzzword-Bingo
Mobile- & Offline-First: Mehr als nur Buzzword-BingoMobile- & Offline-First: Mehr als nur Buzzword-Bingo
Mobile- & Offline-First: Mehr als nur Buzzword-BingoOPEN KNOWLEDGE GmbH
 

Ähnlich wie Hilfe, ich will meinen Monolithen zurück! (20)

Die Matrix: Enterprise-Architekturen jenseits von Microservices
Die Matrix: Enterprise-Architekturen jenseits von MicroservicesDie Matrix: Enterprise-Architekturen jenseits von Microservices
Die Matrix: Enterprise-Architekturen jenseits von Microservices
 
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
 
Microservices Migration: Vom Monolithen zu Microservices
Microservices Migration: Vom Monolithen zu MicroservicesMicroservices Migration: Vom Monolithen zu Microservices
Microservices Migration: Vom Monolithen zu Microservices
 
Der perfekte Microservice
Der perfekte MicroserviceDer perfekte Microservice
Der perfekte Microservice
 
Java EE meets Microservices
Java EE meets MicroservicesJava EE meets Microservices
Java EE meets Microservices
 
CQRS, der etwas andere Architekturansatz
CQRS, der etwas andere ArchitekturansatzCQRS, der etwas andere Architekturansatz
CQRS, der etwas andere Architekturansatz
 
Spaß mit Microservices: Transaktionen
Spaß mit Microservices: TransaktionenSpaß mit Microservices: Transaktionen
Spaß mit Microservices: Transaktionen
 
Modern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit JavaModern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit Java
 
App-Delivery-Pipeline
App-Delivery-PipelineApp-Delivery-Pipeline
App-Delivery-Pipeline
 
Shared Data in verteilten Systemen
Shared Data in verteilten SystemenShared Data in verteilten Systemen
Shared Data in verteilten Systemen
 
Zukunftssichere Architekturen mit Microservices
Zukunftssichere Architekturen mit MicroservicesZukunftssichere Architekturen mit Microservices
Zukunftssichere Architekturen mit Microservices
 
Java EE goes Microservices. Are you serious?
Java EE goes Microservices. Are you serious?Java EE goes Microservices. Are you serious?
Java EE goes Microservices. Are you serious?
 
Microservices Architecture: Architektur und Patterns
Microservices Architecture: Architektur und PatternsMicroservices Architecture: Architektur und Patterns
Microservices Architecture: Architektur und Patterns
 
Shared Data in verteilten Architekturen
Shared Data in verteilten ArchitekturenShared Data in verteilten Architekturen
Shared Data in verteilten Architekturen
 
Herausforderung „Multi-Channel Architecture”
Herausforderung „Multi-Channel Architecture”Herausforderung „Multi-Channel Architecture”
Herausforderung „Multi-Channel Architecture”
 
Herausforderung „Multi-Channel“-Architektur
Herausforderung „Multi-Channel“-ArchitekturHerausforderung „Multi-Channel“-Architektur
Herausforderung „Multi-Channel“-Architektur
 
Aus der Rubrik "Spaß mit Microservices": Transaktionen
Aus der Rubrik "Spaß mit Microservices": TransaktionenAus der Rubrik "Spaß mit Microservices": Transaktionen
Aus der Rubrik "Spaß mit Microservices": Transaktionen
 
Enterprise Java on Steroids
Enterprise Java on SteroidsEnterprise Java on Steroids
Enterprise Java on Steroids
 
Microservices mit dem MicroProfile
Microservices mit dem MicroProfileMicroservices mit dem MicroProfile
Microservices mit dem MicroProfile
 
Mobile- & Offline-First: Mehr als nur Buzzword-Bingo
Mobile- & Offline-First: Mehr als nur Buzzword-BingoMobile- & Offline-First: Mehr als nur Buzzword-Bingo
Mobile- & Offline-First: Mehr als nur Buzzword-Bingo
 

Mehr von OPEN KNOWLEDGE GmbH

Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AIWarum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AIOPEN KNOWLEDGE GmbH
 
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...OPEN KNOWLEDGE GmbH
 
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudFrom Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudOPEN KNOWLEDGE GmbH
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationFEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationOPEN KNOWLEDGE GmbH
 
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!OPEN KNOWLEDGE GmbH
 
From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud. From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud. OPEN KNOWLEDGE GmbH
 
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & CoReady for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & CoOPEN KNOWLEDGE GmbH
 
Machine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.jsMachine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.jsOPEN KNOWLEDGE GmbH
 
It's not Rocket Science: Neuronale Netze
It's not Rocket Science: Neuronale NetzeIt's not Rocket Science: Neuronale Netze
It's not Rocket Science: Neuronale NetzeOPEN KNOWLEDGE GmbH
 
Mehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungMehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungOPEN KNOWLEDGE GmbH
 
API-Design, Microarchitecture und Testing
API-Design, Microarchitecture und TestingAPI-Design, Microarchitecture und Testing
API-Design, Microarchitecture und TestingOPEN KNOWLEDGE 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: QuarkusOPEN KNOWLEDGE GmbH
 
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?OPEN KNOWLEDGE GmbH
 
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
 
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...OPEN KNOWLEDGE GmbH
 

Mehr von OPEN KNOWLEDGE GmbH (20)

Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AIWarum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
 
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
 
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudFrom Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationFEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
 
Nie wieder Log-Files!
Nie wieder Log-Files!Nie wieder Log-Files!
Nie wieder Log-Files!
 
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!
 
From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud. From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud.
 
API Expand Contract
API Expand ContractAPI Expand Contract
API Expand Contract
 
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & CoReady for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & Co
 
Machine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.jsMachine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.js
 
KI und Architektur
KI und ArchitekturKI und Architektur
KI und Architektur
 
It's not Rocket Science: Neuronale Netze
It's not Rocket Science: Neuronale NetzeIt's not Rocket Science: Neuronale Netze
It's not Rocket Science: Neuronale Netze
 
Business-Mehrwert durch KI
Business-Mehrwert durch KIBusiness-Mehrwert durch KI
Business-Mehrwert durch KI
 
Mehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungMehr Sicherheit durch Automatisierung
Mehr Sicherheit durch Automatisierung
 
API-Design, Microarchitecture und Testing
API-Design, Microarchitecture und TestingAPI-Design, Microarchitecture und Testing
API-Design, Microarchitecture und Testing
 
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
 
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
 
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!“
 
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...
 

Hilfe, ich will meinen Monolithen zurück!