Top Banner
Next Generation Web Dev Techniques with Cloud Foundry Lucas Carlson
33

Next Generation Web Development Techniques with Cloud Foundry

Nov 01, 2014

Download

Technology

Malachi Smith

An introduction to the changing landscape of Web Development, how Cloud App Dev is supplanting Web Dev, and how PaaS plays into the picture.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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