SlideShare a Scribd company logo
LEGACY
Dragos Miron
@dragosmiron
@capze
LEGACY

WON’T BE
THE END OF US

Dragos Miron
@dragosmiron
@capze
LEGACY
Dragos Miron
@dragosmiron
@capze
LEGACY

CAN MAKE US
BETTER DEVELOPERS
Dragos Miron
@dragosmiron
@capze
Dragos Miron
@dragosmiron
@capze
Dragos Miron
@dragosmiron
@capze
Dragos Miron
@dragosmiron
@capze
WHAT IS LEGACY
FOR YOU?
Dragos Miron
@dragosmiron
@capze
Dragos Miron
@dragosmiron
@capze
RUBY 1.8
RAILS 2
Dragos Miron
@dragosmiron
@capze
NO!
Dragos Miron
@dragosmiron
@capze
Legacy
Dragos Miron
@dragosmiron
@capze
RAILS 3
Dragos Miron
@dragosmiron
@capze
.9
1
BY
U

R

Dragos Miron
@dragosmiron
@capze

RAILS 3
RAILS 3

.9
1
BY
U
R
els
od
gM
Lon
les
du
mo
10
ith
w

Dragos Miron
@dragosmiron
@capze
Your MONGO version

Dragos Miron
@dragosmiron
@capze
Your MONGO version
MONOLITH App
Dragos Miron
@dragosmiron
@capze
Your MONGO version
MONOLITH App
BAD SQL QUERIES
Dragos Miron
@dragosmiron
@capze
Dragos Miron
@dragosmiron
@capze
A story of
Dragos Miron
@dragosmiron
@capze
at
ry
to
es
th
Dragos Miron
@dragosmiron
@capze
Dragos Miron
@dragosmiron
@capze
One day…

Dragos Miron
@dragosmiron
@capze
Dragos Miron
@dragosmiron
@capze
Dragos Miron
@dragosmiron
@capze
Dragos Miron
@dragosmiron
@capze
Dragos Miron
@dragosmiron
@capze
A TURN FOR THE GOOD
Dragos Miron
@dragosmiron
@capze
HARD PROBLEMS
Dragos Miron
@dragosmiron
@capze
HARD PROBLEMS
BETTER
SOFTWARE ENGINEERS

Dragos Miron
@dragosmiron
@capze
UL
CEF
UR
ESO
R

M
A
E
T

Dragos Miron
@dragosmiron
@capze
UL
CEF
UR
ESO
R

M
A
E
T

Dragos Miron
@dragosmiron
@capze
HOW DID WE

TACKLE the LEGACY

?
Dragos Miron
@dragosmiron
@capze
Os
PR
UR
O

Dragos Miron
@dragosmiron
@capze
Os
PR
UR
O

NG the APP
PI
IP
R

INTO SERVICES
Dragos Miron
@dragosmiron
@capze
Os
PR
UR
O

QUERY Optimisation

Dragos Miron
@dragosmiron
@capze
Os
PR
UR
O

QUERY Optimisation
use specific INDICES
get rid of FILESORT

Dragos Miron
@dragosmiron
@capze
Os
PR
UR
O

QUERY Optimisation
use specific INDICES
get rid of FILESORT

Dragos Miron
@dragosmiron
@capze
Os
PR
UR
O

Dragos Miron
@dragosmiron
@capze

DATA TIERING
REPLICATION
Os
PR
UR
O

We built OUR OWN
CI cluster
Dragos Miron
@dragosmiron
@capze
Os
PR
UR
O

TECH FRIDAYS
We handle more
LEGACY

Dragos Miron
@dragosmiron
@capze
Os
PR
UR
O

ruby 1.8 -> ruby 1.9
rails 2 -> rails 3
Dragos Miron
@dragosmiron
@capze
RECA

SOA
DB Opt.
Tech Fridays
Old tech. migration
Dragos Miron
@dragosmiron
@capze

P
M
A
E
T

RE
TU
UL
C

Dragos Miron
@dragosmiron
@capze
Pull Requests

Freedom of speech
Collaborative participation
Dragos Miron
@dragosmiron
@capze
at
ry
to
es
Th
Dragos Miron
@dragosmiron
@capze
RUBY might die…

Dragos Miron
@dragosmiron
@capze
RUBY might die…
TRAIN as
a software
CRAFTSMAN
Dragos Miron
@dragosmiron
@capze
TURN THE
WHEEL around
in YOUR FAVOUR
Dragos Miron
@dragosmiron
@capze
Legacy can make you

contribute to OpenSource
help your fellow devs
Dragos Miron
@dragosmiron
@capze
TAND
KE A S
TA

MPANY
OUR CO
IN Y

Dragos Miron
@dragosmiron
@capze
of
ON
TI
EC
IR
eD
th
te
ta
dic
RE
E
A
W
TW
OF
eS
th
Dragos Miron
@dragosmiron
@capze
TOMORRO
W
Leave a CLEANER
CODEBASE
Dragos Miron
@dragosmiron
@capze
RT
TA
S
g!
in
or
ct
fa
Re
Dragos Miron
@dragosmiron
@capze

TOMORRO
W
Legacy
Dragos Miron
@dragosmiron
@capze
Dragos Miron
@dragosmiron
@capze

Great SOFTWARE
thank you!
Dragos Miron
@dragosmiron
@capze

More Related Content

What's hot

Facebook insights (1)
Facebook insights (1)Facebook insights (1)
Facebook insights (1)
Alex Palermo
 
Shkarko&Laes The Lover Volledige pagina
Shkarko&Laes The Lover Volledige paginaShkarko&Laes The Lover Volledige pagina
Shkarko&Laes The Lover Volledige pagina
NurmiRini
 
(Get) Epub Lightseekers Full Access
(Get) Epub Lightseekers Full Access(Get) Epub Lightseekers Full Access
(Get) Epub Lightseekers Full Access
WienaHutauruk
 
LEGGI Schindler's List
 LEGGI Schindler's List LEGGI Schindler's List
LEGGI Schindler's List
groundsspecialised
 
The Social Break Up - Suscribers, Fans, & Followers
The Social Break Up - Suscribers, Fans, & FollowersThe Social Break Up - Suscribers, Fans, & Followers
The Social Break Up - Suscribers, Fans, & Followers
Salesforce Marketing Cloud
 
Shkarko&Lis Troy Page entiere
Shkarko&Lis Troy Page entiereShkarko&Lis Troy Page entiere
Shkarko&Lis Troy Page entiere
LiMingYanYanZhu
 
งานหนิง3จิจิ
งานหนิง3จิจิงานหนิง3จิจิ
งานหนิง3จิจิ
Noong Ning
 

What's hot (7)

Facebook insights (1)
Facebook insights (1)Facebook insights (1)
Facebook insights (1)
 
Shkarko&Laes The Lover Volledige pagina
Shkarko&Laes The Lover Volledige paginaShkarko&Laes The Lover Volledige pagina
Shkarko&Laes The Lover Volledige pagina
 
(Get) Epub Lightseekers Full Access
(Get) Epub Lightseekers Full Access(Get) Epub Lightseekers Full Access
(Get) Epub Lightseekers Full Access
 
LEGGI Schindler's List
 LEGGI Schindler's List LEGGI Schindler's List
LEGGI Schindler's List
 
The Social Break Up - Suscribers, Fans, & Followers
The Social Break Up - Suscribers, Fans, & FollowersThe Social Break Up - Suscribers, Fans, & Followers
The Social Break Up - Suscribers, Fans, & Followers
 
Shkarko&Lis Troy Page entiere
Shkarko&Lis Troy Page entiereShkarko&Lis Troy Page entiere
Shkarko&Lis Troy Page entiere
 
งานหนิง3จิจิ
งานหนิง3จิจิงานหนิง3จิจิ
งานหนิง3จิจิ
 

Viewers also liked

第一回チキチキUNICORNチューニング
第一回チキチキUNICORNチューニング第一回チキチキUNICORNチューニング
第一回チキチキUNICORNチューニング
tabun_muri
 
Predefを使ったsqlのトレース
Predefを使ったsqlのトレースPredefを使ったsqlのトレース
Predefを使ったsqlのトレース
悠滋 山本
 
私が見てきたあるセカイの物語 Part I & II
私が見てきたあるセカイの物語 Part I & II私が見てきたあるセカイの物語 Part I & II
私が見てきたあるセカイの物語 Part I & II
Koichi ITO
 
表参道.rb #1 Ruby Gold 2.1 に合格した話
表参道.rb #1 Ruby Gold 2.1 に合格した話表参道.rb #1 Ruby Gold 2.1 に合格した話
表参道.rb #1 Ruby Gold 2.1 に合格した話
Yoshiaki Yoshida
 
Action pack variantsの話
Action pack variantsの話Action pack variantsの話
Action pack variantsの話
sinsoku listy
 
gemの複数バージョンカジュアルテスト #shibuyarb
gemの複数バージョンカジュアルテスト #shibuyarbgemの複数バージョンカジュアルテスト #shibuyarb
gemの複数バージョンカジュアルテスト #shibuyarb
Go Sueyoshi (a.k.a sue445)
 
When you don't have 0days: client-side exploitation for the masses
When you don't have 0days: client-side exploitation for the massesWhen you don't have 0days: client-side exploitation for the masses
When you don't have 0days: client-side exploitation for the masses
Michele Orru
 
Vue.js with Go
Vue.js with GoVue.js with Go
Vue.js with Go
Kazuhiro Kubota
 
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)
Yohei Yasukawa
 

Viewers also liked (9)

第一回チキチキUNICORNチューニング
第一回チキチキUNICORNチューニング第一回チキチキUNICORNチューニング
第一回チキチキUNICORNチューニング
 
Predefを使ったsqlのトレース
Predefを使ったsqlのトレースPredefを使ったsqlのトレース
Predefを使ったsqlのトレース
 
私が見てきたあるセカイの物語 Part I & II
私が見てきたあるセカイの物語 Part I & II私が見てきたあるセカイの物語 Part I & II
私が見てきたあるセカイの物語 Part I & II
 
表参道.rb #1 Ruby Gold 2.1 に合格した話
表参道.rb #1 Ruby Gold 2.1 に合格した話表参道.rb #1 Ruby Gold 2.1 に合格した話
表参道.rb #1 Ruby Gold 2.1 に合格した話
 
Action pack variantsの話
Action pack variantsの話Action pack variantsの話
Action pack variantsの話
 
gemの複数バージョンカジュアルテスト #shibuyarb
gemの複数バージョンカジュアルテスト #shibuyarbgemの複数バージョンカジュアルテスト #shibuyarb
gemの複数バージョンカジュアルテスト #shibuyarb
 
When you don't have 0days: client-side exploitation for the masses
When you don't have 0days: client-side exploitation for the massesWhen you don't have 0days: client-side exploitation for the masses
When you don't have 0days: client-side exploitation for the masses
 
Vue.js with Go
Vue.js with GoVue.js with Go
Vue.js with Go
 
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)
 

Recently uploaded

Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
ScyllaDB
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
FilipTomaszewski5
 
Christine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptxChristine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptx
christinelarrosa
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024
Vadym Kazulkin
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
DanBrown980551
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
Enterprise Knowledge
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
Fwdays
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
Sease
 
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
Fwdays
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 

Recently uploaded (20)

Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
 
Christine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptxChristine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptx
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
 
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 

Legacy won't be the end of us