next generation web development techniques with cloud foundry

Post on 01-Nov-2014

531 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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

top related