next generation web development techniques with cloud foundry

33
Next Generation Web Dev Techniques with Cloud Foundry Lucas Carlson

Upload: malachi-smith

Post on 01-Nov-2014

531 views

Category:

Technology


0 download

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

Page 1: Next Generation Web Development Techniques with Cloud Foundry

Next Generation Web Dev Techniqueswith Cloud Foundry

Lucas Carlson

Page 2: Next Generation Web Development Techniques with Cloud Foundry

Lucas Carlson

PHP!!!?!?!

Circa 1996

Page 3: Next Generation Web Development Techniques with Cloud Foundry

Lucas Carlson

RUBY!!!?!?!

Circa 2005

Page 4: Next Generation Web Development Techniques with Cloud Foundry

Lucas Carlson

ZOMG!!!?!?!

Page 5: Next Generation Web Development Techniques with Cloud Foundry

Lucas Carlson

ZOMG!!!?!?!

Page 6: Next Generation Web Development Techniques with Cloud Foundry
Page 7: Next Generation Web Development Techniques with Cloud Foundry

Derek Collison

DaveMcCroy

Page 8: Next Generation Web Development Techniques with Cloud Foundry
Page 9: Next Generation Web Development Techniques with Cloud Foundry
Page 10: Next Generation Web Development Techniques with Cloud Foundry
Page 11: Next Generation Web Development Techniques with Cloud Foundry

Web App History

• HTML

• DHTML

• XHTML

• CSS

• AJAX

• HTML5

• Thin frontend

• Thick backend

• Thick frontend

• Thin backend

Page 12: Next Generation Web Development Techniques with Cloud Foundry

Early Web

• Network slow

• Browsers slow

• Servers fast

• Thick backend logic

Page 13: Next Generation Web Development Techniques with Cloud Foundry

Middle Web

• Network fast

• Browsers slow

• Servers fast

• AJAX/DHTML

• Thick backend logic

• Some client logic

Page 14: Next Generation Web Development Techniques with Cloud Foundry

Modern Web

• Network fast

• Browsers fast

• Servers fast

• HTML5

• Mobile

• Thick client logic

Page 15: Next Generation Web Development Techniques with Cloud Foundry

Thick Clients

• Gmail: 2007

• MobileMe: 2008

• Twitter redesign: 2011

Page 16: Next Generation Web Development Techniques with Cloud Foundry

Web Architectures

• Spaghetti

• MVC

• API Bindings

• Fat Client

Page 17: Next Generation Web Development Techniques with Cloud Foundry

Spaghetti

• PHP, Perl, Javascript

• Build everything from first principles

Page 18: Next Generation Web Development Techniques with Cloud Foundry

MVC

• Rails, Django

• Apply MVC to backend server

• Client side code is still spaghetti

Page 19: Next Generation Web Development Techniques with Cloud Foundry

API Bindings

• Knockout, Backbone

• Client code framework, loose structure

• Flexible UI

• Simple API backends

Page 20: Next Generation Web Development Techniques with Cloud Foundry
Page 21: Next Generation Web Development Techniques with Cloud Foundry

Fat Client

• Cappuccino, SproutCore

• Apply MVC to frontend client

• Prescribed UI elements

• Simple API backends

Page 22: Next Generation Web Development Techniques with Cloud Foundry

SproutCore

Page 23: Next Generation Web Development Techniques with Cloud Foundry

Cappuccino

Page 24: Next Generation Web Development Techniques with Cloud Foundry

Large scale web apps

• Monolithic

• One code base

• Feature creep

• Heavier and heavier

• Memory leaks

• Performance nightmare

Page 25: Next Generation Web Development Techniques with Cloud Foundry

Scaling issues

• Database grows

• 100+ tables

• SQL spaghetti queries

Page 26: Next Generation Web Development Techniques with Cloud Foundry

Pull them apart

• Create services

• Pull apart user registration

• A few services

• Big monolith hard to kill

Page 27: Next Generation Web Development Techniques with Cloud Foundry

Better Way?

• Start by building services

• Small, independent pieces of code

• Scale independently

• Compose in the front

Page 28: Next Generation Web Development Techniques with Cloud Foundry

Old Habits

• Old web development was based on old limitations

• Old habits no longer serving us well

Page 29: Next Generation Web Development Techniques with Cloud Foundry

Modern Web App Toolkit

Page 30: Next Generation Web Development Techniques with Cloud Foundry

New SaaS

• SaaS is headed this way

• Stripe for billing

• Billing backend service on separate infra

Page 31: Next Generation Web Development Techniques with Cloud Foundry

New Frameworks

Page 32: Next Generation Web Development Techniques with Cloud Foundry

New Frameworks

Page 33: Next Generation Web Development Techniques with Cloud Foundry

New