Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Eclipse Flux - A micro-service architecture for...
Search
Martin Lippert
January 28, 2015
Technology
0
210
Eclipse Flux - A micro-service architecture for cloud-based developer tooling
Martin Lippert
January 28, 2015
Tweet
Share
More Decks by Martin Lippert
See All by Martin Lippert
OCX / EclipseCon 2024: GitHub Copilot + Spring: Making AI-Assisted Coding Spring Aware
martinlippert
2
39
OCX / EclipseCon 2024: Spring Tools Live - All the Great New Things
martinlippert
0
32
JUG Saxony Day 2023: Upgrade to Spring Boot 3? Spring Tools to the Rescue!
martinlippert
1
64
code.talks 2023: The Sustainability Mythbuster
martinlippert
0
70
Invited Talk at TU Dortmund
martinlippert
0
86
The Sustainability Mythbuster
martinlippert
0
57
JCON_ONLINE_2022__From_Zero_to_Spring_Boot_Hero_using_GitHub_Codespaces.pdf
martinlippert
0
53
Devoxx UK 2022: Sustainability in Software Engineering - Today and Tomorrow
martinlippert
0
130
Java Cro 2022: Bootiful Spring Tooling for the Masses
martinlippert
0
120
Other Decks in Technology
See All in Technology
【詳説】コンテンツ配信 システムの複数機能 基盤への拡張
hatena
0
190
内製化を加速させるlaC活用術
nrinetcom
PRO
2
110
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
3
160
偏光画像処理ライブラリを作った話
elerac
1
160
設計を積み重ねてシステムを刷新する
sansantech
PRO
0
130
「正しく」失敗できる チームの作り方 〜リアルな事例から紐解く失敗を恐れない組織とは〜 / A team that can fail correctly
i35_267
2
710
コンテナサプライチェーンセキュリティ
kyohmizu
1
130
依存パッケージの更新はコツコツが勝つコツ! / phpcon_nagoya2025
blue_goheimochi
3
200
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
27
14k
脳波を用いた嗜好マッチングシステム
hokkey621
0
270
Autonomous Database Serverless 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
17
45k
Helm , Kustomize に代わる !? 次世代 k8s パッケージマネージャー Glasskube 入門 / glasskube-entry
parupappa2929
0
290
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Typedesign – Prime Four
hannesfritz
40
2.5k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
GitHub's CSS Performance
jonrohan
1030
460k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Documentation Writing (for coders)
carmenintech
67
4.6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
How GitHub (no longer) Works
holman
314
140k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Unsuck your backbone
ammeep
669
57k
Transcript
Eclipse Flux Eine Micro-Service-Architektur für cloud-basierte Entwicklungswerkzeuge Martin Lippert, Pivotal
[email protected]
@martinlippert
todays Desktop IDEs are great
but the world has changed
“Why can Google search the Internet in 10ms and Eclipse
needs 5sec to open a type hierarchy?”
nowadays Ubiquitous, variable user interfaces Massively scalable compute and storage
Seamless and automatic software and data delivery Always connected
developer tooling in the cloud ?
challenge #1 run in the cloud
challenge #2 no either-or, enable both
challenge #3 do not re-implement everything
http://www.eclipse.org/flux
Demo
the architecture
async
Eclipse IDE Asynchronous Messaging Workspace Repository Cloud Region A Backup
Repository
Eclipse IDE Asynchronous Messaging Workspace Repository Cloud Region A Backup
Repository File Sync
Eclipse IDE Asynchronous Messaging Workspace Repository Cloud Region A Backup
Repository Browser Editor Local Storage
Eclipse IDE Asynchronous Messaging Workspace Repository Cloud Region A Backup
Repository Browser Editor Local Storage File Sync & Live Sync File Sync
micro-services
Eclipse IDE Asynchronous Messaging Workspace Repository Cloud Region A Backup
Repository Cloud Region B Java Service Browser Editor Local Storage
Eclipse IDE Asynchronous Messaging Workspace Repository Cloud Region A Java
Service Browser Editor Local Storage Cloud Region B Scala Service Cloud Region C JavaScript Service
highly decoupled
Eclipse IDE Asynchronous Messaging Workspace Repository Cloud Region A Java
Service Browser Editor Local Storage Cloud Region B Scala Service Cloud Region C JavaScript Service
Eclipse IDE Asynchronous Messaging Workspace Repository Cloud Region A Backup
Repository Browser Editor Local Storage Cloud Region B Backup Repository …
highly distributed
Eclipse IDE Asynchronous Messaging Java Service Workspace Repository Cloud Region
A Backup Repository Cloud Region B Java Service Browser Editor Local Storage
Eclipse IDE Asynchronous Messaging Workspace Repository Cloud Region A Java
Service Browser Editor Local Storage Cloud Region B Scala Service Cloud Region C JavaScript Service
real-time data sync backbone
Eclipse IDE Asynchronous Messaging Workspace Repository Cloud Region A Backup
Repository Cloud Region B Java Service Browser Editor Local Storage Live Sync & Service Results File Sync
the overall picture
Local Services Asynchronous Messaging Local Editors and IDEs Workspace Repository
Cloud Region A Backup Repository Cloud Region B Java Service Browser Editor Local Storage GitHub Repository Cross- Reference Service JavaScript Service Scala Service Collab. Service Cloud Foundry Service Executor Service
design choices & early experiences
services are not “called” - they engage and react
there is no master - data sync in p2p style
decomposing existing IDEs into micro-services is hard - but possible
async is a different beast
everything is eventually consistent
offline remains a challenge
more Q&A
Thank You Martin Lippert, Pivotal
[email protected]
@martinlippert