Conference:March 6-8, 2017
Workshops:March 9-10, 2017
Presentation: Rebuilding The Monolith With Composable Apps
Location:
- Whittle, 3rd flr.
Duration
Day of week:
- Monday
Level:
- Intermediate
Persona:
- Front-end Developer
Key Takeaways
- It is possible to introduce modern practises into legacy codebases a piece at a time
- Functional programming techniques make code testable, declarative and robust
- JavaScript, micro-apis and front-end components allow teams to scale and remain agile
Abstract
Working with JavaScript is exciting. There's constant change - in the language, the runtimes and the community. The last 24 months have seen the rise and fall of frameworks, libraries, platforms and best practises. All this change is great if you have the option to build smaller products, either starting from scratch or being given a green light to completely re-write an application in one go. But what if you can't do that? What if you have a valuable, scaled, complex product? How do you get to introduce these new ideas, best practices and frameworks? How do you effectively refactor your customer facing software to be the application you want it to be?
As the proud owners of a monolithic PHP and JavaScript codebase (with a side helping of Sass and Java), we were asking ourselves the same question. How do we remove our reliance on server-side templates, a monolithic codebase, shared pipelines and coupled services by replacing them with a fast, resiliant, clean and functional front-end backed by smaller, focused apis?
We came up with a plan and started the road to refactoring - this is our story of going beyond the monolith.
Similar Talks
![](../sites/default/files/styles/spaker_72h/public/yao_yue_1b4e6.jpg?itok=Y0356YoJ)
![](../sites/default/files/styles/spaker_72h/public/sudhir_tonse_005bb.jpg?itok=UvNPbfr_)
Tracks
-
Architecting for Failure
Building fault tolerate systems that are truly resilient
-
Architectures You've Always Wondered about
QCon classic track. You know the names. Hear their lessons and challenges.
-
Modern Distributed Architectures
Migrating, deploying, and realizing modern cloud architecture.
-
Fast & Furious: Ad Serving, Finance, & Performance
Learn some of the tips and technicals of high speed, low latency systems in Ad Serving and Finance
-
Java - Performance, Patterns and Predictions
Skills embracing the evolution of Java (multi-core, cloud, modularity) and reenforcing core platform fundamentals (performance, concurrency, ubiquity).
-
Performance Mythbusting
Performance myths that need busting and the tools & techniques to get there
-
Dark Code: The Legacy/Tech Debt Dilemma
How do you evolve your code and modernize your architecture when you're stuck with part legacy code and technical debt? Lessons from the trenches.
-
Modern Learning Systems
Real world use of the latest machine learning technologies in production environments
-
Practical Cryptography & Blockchains: Beyond the Hype
Looking past the hype of blockchain technologies, alternate title: Weaselfree Cryptography & Blockchain
-
Applied JavaScript - Atomic Applications and APIs
Angular, React, Electron, Node: The hottest trends and techniques in the JavaScript space
-
Containers - State Of The Art
What is the state of the art, what's next, & other interesting questions on containers.
-
Observability Done Right: Automating Insight & Software Telemetry
Tools, practices, and methods to know what your system is doing
-
Data Engineering : Where the Rubber meets the Road in Data Science
Science does not imply engineering. Engineering tools and techniques for Data Scientists
-
Modern CS in the Real World
Applied, practical, & real-world dive into industry adoption of modern CS ideas
-
Workhorse Languages, Not Called Java
Workhorse languages not called Java.
-
Security: Lessons Learned From Being Pwned
How Attackers Think. Penetration testing techniques, exploits, toolsets, and skills of software hackers
-
Engineering Culture @{{cool_company}}
Culture, Organization Structure, Modern Agile War Stories
-
Softskills: Essential Skills for Developers
Skills for the developer in the workplace