SlideShare a Scribd company logo
Why you should rewrite
to Laravel
A success story of Liferay (Java) to Laravel (PHP)
INTRODUCTION Part 1
A success story of Laravel
Part 2
What we can learn from the experience
Questions
PART I
The Story
1
A product that is
merely surviving
01
Challenges the Liferay
Application was facing
What went wrong with Liferay?
1. High configurability of Liferay
wasn’t required.
2. Poorly written and
architected.
3. Hard to train and induct
developers.
4. High cost and timelines of
adding new features.
1
Idea of a
Rewrite
02
Birth of secret Project X in
Laravel.
Parallely building a prototype in
Laravel
1. Demonstrate the benefits of
Laravel.
2. Redesign a better ver2.0 with
improved features and
usability.
3. Implement primary features.
1
The Success
03
From surviving to the
Moonshot
Short Term Benefits
1. Lower Development Cost
2. Faster Development and
Release.
3. More Usable Product
Long Term Benefits
1. Higher budget for Product
development and Sales.
2. Scaling with more users
PART 2
The Experience
1
When to
Rewrite
01
Business needs it
1. Cost of maintenance is
increasing exponentially.
2. Product requirements have
evolved
Technology is in question
1. Developers are hard to find
and train.
2. Is not suitable for the product.
Political Interventions (Ha Ha)
Why Laravel
02
Reduced costs
1. Easier to build. (Did someone
say artisan?)
2. Easy to maintain. (Testing
support)
Easier to train
1. Training resources are plenty
2. Community presence is great.
The Approach
03
Julia
How does a rewrite
benefit my business?
CEO, Product X
1
Questions ? Via
Nishanth KD, ColoredCow
https://www.linkedin.com/in/nishanthkd/
Or
Visit at
www.ColoredCow.comYou can also stay in touch
References
● Min-maxing Software Costs - Konstantin Kudrayshov, Laracon EU 2015
● Rewrites vs Refactor: 17 essential reads for developers

More Related Content

What's hot

Asynchronous programming with javascript - edukite
Asynchronous programming with javascript - edukiteAsynchronous programming with javascript - edukite
Asynchronous programming with javascript - edukite
EduKite
 
React native - Under the Hood and App Live Updates without App Store Approval
React native - Under the Hood and App Live Updates without App Store ApprovalReact native - Under the Hood and App Live Updates without App Store Approval
React native - Under the Hood and App Live Updates without App Store Approval
Suresh Balla
 
Best React js Training course in Bangalore
Best React js Training course in BangaloreBest React js Training course in Bangalore
Best React js Training course in Bangalore
Avinash Kumar
 
Dev ops Training Course
Dev ops Training CourseDev ops Training Course
Dev ops Training Course
HimanshuPise2
 
WordPress 2018
WordPress 2018WordPress 2018
WordPress 2018
David Smith
 
iOSMumbai Meetup Keynote
iOSMumbai Meetup KeynoteiOSMumbai Meetup Keynote
iOSMumbai Meetup Keynote
Glimpse Analytics
 
Api Lifecycle Operation with Open Source Products
Api Lifecycle Operation with Open Source ProductsApi Lifecycle Operation with Open Source Products
Api Lifecycle Operation with Open Source Products
DevOps Indonesia
 
Creativity and-skill-to-java-app-development
Creativity and-skill-to-java-app-developmentCreativity and-skill-to-java-app-development
Creativity and-skill-to-java-app-development
Deepika Chaudhary
 
Developing powerful mobile apps with Xamarin.Essentials
Developing powerful mobile apps with Xamarin.EssentialsDeveloping powerful mobile apps with Xamarin.Essentials
Developing powerful mobile apps with Xamarin.Essentials
Luis Beltran
 
Time to learn flutter or stick to native development
Time to learn flutter or stick to native development Time to learn flutter or stick to native development
Time to learn flutter or stick to native development
Concetto Labs
 
Introduction to DevOps | Edureka
Introduction to DevOps | EdurekaIntroduction to DevOps | Edureka
Introduction to DevOps | Edureka
Edureka!
 
Vue js & vue cli 3 plugins to boost up the performance of your application
Vue js & vue cli 3 plugins to boost up the performance of your applicationVue js & vue cli 3 plugins to boost up the performance of your application
Vue js & vue cli 3 plugins to boost up the performance of your application
Katy Slemon
 
My portfolio 2
My portfolio 2 My portfolio 2
My portfolio 2
Raj ch
 
How much would it cost to hire developers in india
How much would it cost to hire developers in indiaHow much would it cost to hire developers in india
How much would it cost to hire developers in india
Your Dedicated Developers
 
Why prefer flutter for drop shipping applications over React Native?
Why prefer flutter for drop shipping applications over React Native?  Why prefer flutter for drop shipping applications over React Native?
Why prefer flutter for drop shipping applications over React Native?
MathewWillson
 
[KaizenDiary] Minimize processing time on Automated Test
[KaizenDiary] Minimize processing time on Automated Test[KaizenDiary] Minimize processing time on Automated Test
[KaizenDiary] Minimize processing time on Automated Test
Woohyeok Kim
 
5 best practices in dev ops culture
5 best practices in dev ops culture5 best practices in dev ops culture
5 best practices in dev ops culture
Edureka!
 
Email Notifications in Jenkins | Edureka
Email Notifications in Jenkins | EdurekaEmail Notifications in Jenkins | Edureka
Email Notifications in Jenkins | Edureka
Edureka!
 
DevOps Real-Time Projects | Edureka
DevOps Real-Time Projects | EdurekaDevOps Real-Time Projects | Edureka
DevOps Real-Time Projects | Edureka
Edureka!
 

What's hot (20)

Asynchronous programming with javascript - edukite
Asynchronous programming with javascript - edukiteAsynchronous programming with javascript - edukite
Asynchronous programming with javascript - edukite
 
React native - Under the Hood and App Live Updates without App Store Approval
React native - Under the Hood and App Live Updates without App Store ApprovalReact native - Under the Hood and App Live Updates without App Store Approval
React native - Under the Hood and App Live Updates without App Store Approval
 
Jvm
JvmJvm
Jvm
 
Best React js Training course in Bangalore
Best React js Training course in BangaloreBest React js Training course in Bangalore
Best React js Training course in Bangalore
 
Dev ops Training Course
Dev ops Training CourseDev ops Training Course
Dev ops Training Course
 
WordPress 2018
WordPress 2018WordPress 2018
WordPress 2018
 
iOSMumbai Meetup Keynote
iOSMumbai Meetup KeynoteiOSMumbai Meetup Keynote
iOSMumbai Meetup Keynote
 
Api Lifecycle Operation with Open Source Products
Api Lifecycle Operation with Open Source ProductsApi Lifecycle Operation with Open Source Products
Api Lifecycle Operation with Open Source Products
 
Creativity and-skill-to-java-app-development
Creativity and-skill-to-java-app-developmentCreativity and-skill-to-java-app-development
Creativity and-skill-to-java-app-development
 
Developing powerful mobile apps with Xamarin.Essentials
Developing powerful mobile apps with Xamarin.EssentialsDeveloping powerful mobile apps with Xamarin.Essentials
Developing powerful mobile apps with Xamarin.Essentials
 
Time to learn flutter or stick to native development
Time to learn flutter or stick to native development Time to learn flutter or stick to native development
Time to learn flutter or stick to native development
 
Introduction to DevOps | Edureka
Introduction to DevOps | EdurekaIntroduction to DevOps | Edureka
Introduction to DevOps | Edureka
 
Vue js & vue cli 3 plugins to boost up the performance of your application
Vue js & vue cli 3 plugins to boost up the performance of your applicationVue js & vue cli 3 plugins to boost up the performance of your application
Vue js & vue cli 3 plugins to boost up the performance of your application
 
My portfolio 2
My portfolio 2 My portfolio 2
My portfolio 2
 
How much would it cost to hire developers in india
How much would it cost to hire developers in indiaHow much would it cost to hire developers in india
How much would it cost to hire developers in india
 
Why prefer flutter for drop shipping applications over React Native?
Why prefer flutter for drop shipping applications over React Native?  Why prefer flutter for drop shipping applications over React Native?
Why prefer flutter for drop shipping applications over React Native?
 
[KaizenDiary] Minimize processing time on Automated Test
[KaizenDiary] Minimize processing time on Automated Test[KaizenDiary] Minimize processing time on Automated Test
[KaizenDiary] Minimize processing time on Automated Test
 
5 best practices in dev ops culture
5 best practices in dev ops culture5 best practices in dev ops culture
5 best practices in dev ops culture
 
Email Notifications in Jenkins | Edureka
Email Notifications in Jenkins | EdurekaEmail Notifications in Jenkins | Edureka
Email Notifications in Jenkins | Edureka
 
DevOps Real-Time Projects | Edureka
DevOps Real-Time Projects | EdurekaDevOps Real-Time Projects | Edureka
DevOps Real-Time Projects | Edureka
 

Similar to Why you should rewrite to Laravel by Nishanth Kaladharan

React vs laravel
React vs laravelReact vs laravel
React vs laravel
Brainmobiservice
 
2 Weeks is Too Long.pdf
2 Weeks is Too Long.pdf2 Weeks is Too Long.pdf
2 Weeks is Too Long.pdf
John Doyle
 
Best Practices for React Developer Test Technical Assessment for Hiring.pdf
Best Practices for React Developer Test Technical Assessment for Hiring.pdfBest Practices for React Developer Test Technical Assessment for Hiring.pdf
Best Practices for React Developer Test Technical Assessment for Hiring.pdf
DarshanaMallick
 
Key Skills to look for when you hire React developer India
Key Skills to look for when you hire React developer IndiaKey Skills to look for when you hire React developer India
Key Skills to look for when you hire React developer India
KritikaVerma295578
 
Key Skills to look for when you hire React developer India.pdf
Key Skills to look for when you hire React developer India.pdfKey Skills to look for when you hire React developer India.pdf
Key Skills to look for when you hire React developer India.pdf
KritikaVerma295578
 
Advantages and Disadvantages of React Native App Development
Advantages and Disadvantages of React Native App DevelopmentAdvantages and Disadvantages of React Native App Development
Advantages and Disadvantages of React Native App Development
APPNWEB Technologies
 
#bigwhale: An Unexpected Journey into Containerization @ Lockheed Martin - Pa...
#bigwhale: An Unexpected Journey into Containerization @ Lockheed Martin - Pa...#bigwhale: An Unexpected Journey into Containerization @ Lockheed Martin - Pa...
#bigwhale: An Unexpected Journey into Containerization @ Lockheed Martin - Pa...
Docker, Inc.
 
10 powerful reasons to choose laravel web development in 2022
10 powerful reasons to choose laravel web development in 202210 powerful reasons to choose laravel web development in 2022
10 powerful reasons to choose laravel web development in 2022
Moon Technolabs Pvt. Ltd.
 
10 powerful reasons to choose laravel web development in 2022
10 powerful reasons to choose laravel web development in 202210 powerful reasons to choose laravel web development in 2022
10 powerful reasons to choose laravel web development in 2022
Moon Technolabs Pvt. Ltd.
 
Laravel vs CodeIgniter_ Which One Is Better_.pdf
Laravel vs CodeIgniter_ Which One Is Better_.pdfLaravel vs CodeIgniter_ Which One Is Better_.pdf
Laravel vs CodeIgniter_ Which One Is Better_.pdf
OZONESOFT Solutions
 
Developing a React Application using Liferay
Developing a React Application using LiferayDeveloping a React Application using Liferay
Developing a React Application using Liferay
Inexture Solutions
 
Java Forum Nord 2015 - Swimming upstream in the container revolution
Java Forum Nord 2015 - Swimming upstream in the container revolutionJava Forum Nord 2015 - Swimming upstream in the container revolution
Java Forum Nord 2015 - Swimming upstream in the container revolution
Bert Jan Schrijver
 
Geecon Microservices 2015 - Swimming upstream in the container revolution
Geecon Microservices 2015 - Swimming upstream in the container revolutionGeecon Microservices 2015 - Swimming upstream in the container revolution
Geecon Microservices 2015 - Swimming upstream in the container revolution
Bert Jan Schrijver
 
« Training Within Software » using Dojo and Mob Programming by Bernard Notari...
« Training Within Software » using Dojo and Mob Programming by Bernard Notari...« Training Within Software » using Dojo and Mob Programming by Bernard Notari...
« Training Within Software » using Dojo and Mob Programming by Bernard Notari...
Institut Lean France
 
Part 6 debugging and testing java applications
Part 6 debugging and testing java applicationsPart 6 debugging and testing java applications
Part 6 debugging and testing java applicationstechbed
 
Laravel vs Codeigniter, Which is Better PHP Framework_.pptx
Laravel vs Codeigniter, Which is Better PHP Framework_.pptxLaravel vs Codeigniter, Which is Better PHP Framework_.pptx
Laravel vs Codeigniter, Which is Better PHP Framework_.pptx
Elsner Technologies Pvt. Ltd.
 
Salesforce LWC Training in Noida.pdf
Salesforce LWC Training in Noida.pdfSalesforce LWC Training in Noida.pdf
Salesforce LWC Training in Noida.pdf
isha bajpai
 
JavaOne 2015 - Swimming upstream in the container revolution
JavaOne 2015 - Swimming upstream in the container revolutionJavaOne 2015 - Swimming upstream in the container revolution
JavaOne 2015 - Swimming upstream in the container revolution
Bert Jan Schrijver
 
Introduction to lightning components
Introduction to lightning componentsIntroduction to lightning components
Introduction to lightning components
Mohith Shrivastava
 

Similar to Why you should rewrite to Laravel by Nishanth Kaladharan (20)

React vs laravel
React vs laravelReact vs laravel
React vs laravel
 
2 Weeks is Too Long.pdf
2 Weeks is Too Long.pdf2 Weeks is Too Long.pdf
2 Weeks is Too Long.pdf
 
Best Practices for React Developer Test Technical Assessment for Hiring.pdf
Best Practices for React Developer Test Technical Assessment for Hiring.pdfBest Practices for React Developer Test Technical Assessment for Hiring.pdf
Best Practices for React Developer Test Technical Assessment for Hiring.pdf
 
Key Skills to look for when you hire React developer India
Key Skills to look for when you hire React developer IndiaKey Skills to look for when you hire React developer India
Key Skills to look for when you hire React developer India
 
Key Skills to look for when you hire React developer India.pdf
Key Skills to look for when you hire React developer India.pdfKey Skills to look for when you hire React developer India.pdf
Key Skills to look for when you hire React developer India.pdf
 
Advantages and Disadvantages of React Native App Development
Advantages and Disadvantages of React Native App DevelopmentAdvantages and Disadvantages of React Native App Development
Advantages and Disadvantages of React Native App Development
 
#bigwhale: An Unexpected Journey into Containerization @ Lockheed Martin - Pa...
#bigwhale: An Unexpected Journey into Containerization @ Lockheed Martin - Pa...#bigwhale: An Unexpected Journey into Containerization @ Lockheed Martin - Pa...
#bigwhale: An Unexpected Journey into Containerization @ Lockheed Martin - Pa...
 
10 powerful reasons to choose laravel web development in 2022
10 powerful reasons to choose laravel web development in 202210 powerful reasons to choose laravel web development in 2022
10 powerful reasons to choose laravel web development in 2022
 
10 powerful reasons to choose laravel web development in 2022
10 powerful reasons to choose laravel web development in 202210 powerful reasons to choose laravel web development in 2022
10 powerful reasons to choose laravel web development in 2022
 
Laravel vs CodeIgniter_ Which One Is Better_.pdf
Laravel vs CodeIgniter_ Which One Is Better_.pdfLaravel vs CodeIgniter_ Which One Is Better_.pdf
Laravel vs CodeIgniter_ Which One Is Better_.pdf
 
Developing a React Application using Liferay
Developing a React Application using LiferayDeveloping a React Application using Liferay
Developing a React Application using Liferay
 
Java Forum Nord 2015 - Swimming upstream in the container revolution
Java Forum Nord 2015 - Swimming upstream in the container revolutionJava Forum Nord 2015 - Swimming upstream in the container revolution
Java Forum Nord 2015 - Swimming upstream in the container revolution
 
Geecon Microservices 2015 - Swimming upstream in the container revolution
Geecon Microservices 2015 - Swimming upstream in the container revolutionGeecon Microservices 2015 - Swimming upstream in the container revolution
Geecon Microservices 2015 - Swimming upstream in the container revolution
 
« Training Within Software » using Dojo and Mob Programming by Bernard Notari...
« Training Within Software » using Dojo and Mob Programming by Bernard Notari...« Training Within Software » using Dojo and Mob Programming by Bernard Notari...
« Training Within Software » using Dojo and Mob Programming by Bernard Notari...
 
Lect1
Lect1Lect1
Lect1
 
Part 6 debugging and testing java applications
Part 6 debugging and testing java applicationsPart 6 debugging and testing java applications
Part 6 debugging and testing java applications
 
Laravel vs Codeigniter, Which is Better PHP Framework_.pptx
Laravel vs Codeigniter, Which is Better PHP Framework_.pptxLaravel vs Codeigniter, Which is Better PHP Framework_.pptx
Laravel vs Codeigniter, Which is Better PHP Framework_.pptx
 
Salesforce LWC Training in Noida.pdf
Salesforce LWC Training in Noida.pdfSalesforce LWC Training in Noida.pdf
Salesforce LWC Training in Noida.pdf
 
JavaOne 2015 - Swimming upstream in the container revolution
JavaOne 2015 - Swimming upstream in the container revolutionJavaOne 2015 - Swimming upstream in the container revolution
JavaOne 2015 - Swimming upstream in the container revolution
 
Introduction to lightning components
Introduction to lightning componentsIntroduction to lightning components
Introduction to lightning components
 

Recently uploaded

Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 

Recently uploaded (20)

Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 

Why you should rewrite to Laravel by Nishanth Kaladharan

  • 1. Why you should rewrite to Laravel A success story of Liferay (Java) to Laravel (PHP)
  • 2. INTRODUCTION Part 1 A success story of Laravel Part 2 What we can learn from the experience Questions
  • 4. 1 A product that is merely surviving 01 Challenges the Liferay Application was facing What went wrong with Liferay? 1. High configurability of Liferay wasn’t required. 2. Poorly written and architected. 3. Hard to train and induct developers. 4. High cost and timelines of adding new features.
  • 5. 1 Idea of a Rewrite 02 Birth of secret Project X in Laravel. Parallely building a prototype in Laravel 1. Demonstrate the benefits of Laravel. 2. Redesign a better ver2.0 with improved features and usability. 3. Implement primary features.
  • 6. 1 The Success 03 From surviving to the Moonshot Short Term Benefits 1. Lower Development Cost 2. Faster Development and Release. 3. More Usable Product Long Term Benefits 1. Higher budget for Product development and Sales. 2. Scaling with more users
  • 8. 1 When to Rewrite 01 Business needs it 1. Cost of maintenance is increasing exponentially. 2. Product requirements have evolved Technology is in question 1. Developers are hard to find and train. 2. Is not suitable for the product. Political Interventions (Ha Ha)
  • 9. Why Laravel 02 Reduced costs 1. Easier to build. (Did someone say artisan?) 2. Easy to maintain. (Testing support) Easier to train 1. Training resources are plenty 2. Community presence is great.
  • 10. The Approach 03 Julia How does a rewrite benefit my business? CEO, Product X
  • 11. 1 Questions ? Via Nishanth KD, ColoredCow https://www.linkedin.com/in/nishanthkd/ Or Visit at www.ColoredCow.comYou can also stay in touch
  • 12. References ● Min-maxing Software Costs - Konstantin Kudrayshov, Laracon EU 2015 ● Rewrites vs Refactor: 17 essential reads for developers

Editor's Notes

  1. Good evening Everyone, I must say, it feels great to be in the same room with a majority of the Laravel community present in India and neighbouring countries. I think as a group this conference is a huge step and my respect to goes out to the organisers of this event. My name’s Nishanth, I’ve been a Laravel enthusiast for the past three years. And While my journey in Laravel began as a developer, it has now grown into evangelising more and more application in Laravel. You might be curious and ask me at this point why am I evangelising Laravel. Is Taylor or someone from the Laravel community paying me to do that? In the past three years, I’ve seen that Laravel applications doesn’t just delight developers like me. Happy developers and good code delight business. I’m here today to share one such experience, and of course my learning from it. When Laravel took a business from a failed tech product to becoming a market leader.
  2. I’ve divided this talk into 2 parts. In the first one we’ll talk about this success story of Laravel In the second part one we’ll gather our learnings from the entire experience. It’ll be a ten minute talk, save questions for later a five minute QA.
  3. In fall of 2015, we started working on a product, written in Liferay. It had been acquired by various firms in the past 3 years and somehow with time, the product was surviving with beta users and rounds of funding. It was clear that if it continues on the same path, it would be a matter of another year before the product ceases to exist. There was a road map for version 2.0 a more stable, usable product that fits the markets needs. We came in as consultants to assist building this version 2.0 along with their in-house development team that was taking care of all the Liferay development so far.
  4. In the first few months we realised that there were tonnes of reasons why the product wasn’t doing great. There were multiple reasons but somehow everything pointed to the Liferay application. Liferay was not fitting Liferay Provided a high level of configurability that the application did not need. The primary use case or the idea to be implemented was quite simplistic and did not require a heavy portal framework in Java. I remember booting up my dev environment would itself take almost 30 - 40 minutes. That’s approximately 2 productive hours of a team member gone to waste in a day without a single line of code. Poor Architecture Hard to Train The development team was not as skilled at Liferay, their decision making in terms of architecting and refactoring the code was very limited. Inducting new developers into the platform required months of training on the platform. Cost of Development With a team that was struggling to develop the quality features in time the development cost was high.
  5. In late December, we considered the idea of re-writing this application in a new technology away from Java and Liferay. PHP Laravel was our choice of framework. We figured that with Laravel the development cost of the same features would reduce by 2x. Yeah I’m not kidding! It was that bad. We also figured that since the UI was obsolete and UX was bad, the application would anyways need a re-wamp in the near future. Before we would take this huge step we would have to validate that this idea is indeed correct. Laravel is a better choice for the future. So we estimated what it would take to build a certain feature in the existing Liferay application. It came out to be 1 month. Then we built that feature in Laravel. Any guesses on how much time it took? 1 week. Given the success, we put the Liferay application on the minimum support mode and started building ver2 in Laravel.
  6. This project lasted for another 6 months, and in summer of 2016 we retired the Liferay Application. Today that same product is a market leader in it’s domain and supports thousands of lives. It continues to grow. How ? Slides
  7. From this experience of Liferay to Laravel, we realised that there could be so many applications like this that have been built on frameworks and technology stacks that don’t fit in the scenario. Places where Laravel can help these businesses in a similar fashion. We figured we should extract our learnings from it and apply them in other places. It’s been about two years since then that we did more rewrites. From frameworks like Ruby on Rails and CodeIgniter.
  8. A rewrite doesn't happen because X technology is better than Y or because Laravel is the best framework to build on. It always has to benefit the business. Focus on Long Term benefits from the re-write. Build it better than the previous one. More Usable Better Architecture Easier to maintain