next generation web development techniques with cloud foundry
DESCRIPTION
An introduction to the changing landscape of Web Development, how Cloud App Dev is supplanting Web Dev, and how PaaS plays into the picture.TRANSCRIPT
Next Generation Web Dev Techniqueswith Cloud Foundry
Lucas Carlson
Lucas Carlson
PHP!!!?!?!
Circa 1996
Lucas Carlson
RUBY!!!?!?!
Circa 2005
Lucas Carlson
ZOMG!!!?!?!
Lucas Carlson
ZOMG!!!?!?!
Derek Collison
DaveMcCroy
Web App History
• HTML
• DHTML
• XHTML
• CSS
• AJAX
• HTML5
• Thin frontend
• Thick backend
• Thick frontend
• Thin backend
Early Web
• Network slow
• Browsers slow
• Servers fast
• Thick backend logic
Middle Web
• Network fast
• Browsers slow
• Servers fast
• AJAX/DHTML
• Thick backend logic
• Some client logic
Modern Web
• Network fast
• Browsers fast
• Servers fast
• HTML5
• Mobile
• Thick client logic
Thick Clients
• Gmail: 2007
• MobileMe: 2008
• Twitter redesign: 2011
Web Architectures
• Spaghetti
• MVC
• API Bindings
• Fat Client
Spaghetti
• PHP, Perl, Javascript
• Build everything from first principles
MVC
• Rails, Django
• Apply MVC to backend server
• Client side code is still spaghetti
API Bindings
• Knockout, Backbone
• Client code framework, loose structure
• Flexible UI
• Simple API backends
Fat Client
• Cappuccino, SproutCore
• Apply MVC to frontend client
• Prescribed UI elements
• Simple API backends
SproutCore
Cappuccino
Large scale web apps
• Monolithic
• One code base
• Feature creep
• Heavier and heavier
• Memory leaks
• Performance nightmare
Scaling issues
• Database grows
• 100+ tables
• SQL spaghetti queries
Pull them apart
• Create services
• Pull apart user registration
• A few services
• Big monolith hard to kill
Better Way?
• Start by building services
• Small, independent pieces of code
• Scale independently
• Compose in the front
Old Habits
• Old web development was based on old limitations
• Old habits no longer serving us well
Modern Web App Toolkit
New SaaS
• SaaS is headed this way
• Stripe for billing
• Billing backend service on separate infra
New Frameworks
New Frameworks
New