Download - Thin Server Architecture
![Page 1: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/1.jpg)
Extreme Scale: Thin Server ArchitectureMitch Pirtle
codeworks new york city 2009
![Page 2: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/2.jpg)
Wha?
As website interactivity demands put a bigger strain on your beautiful code, faster internet connections and more website visitors don't make it any easier. There is a way to dramatically drop the overhead of rendering a page, by asking the browser to do all the work. Learn how to scale your applications to absurd extremes with this simple, ingenious concept.
![Page 3: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/3.jpg)
Before we begin
Coffee?
Breakfast?
![Page 4: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/4.jpg)
How it all started
![Page 5: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/5.jpg)
Data Center
Web server
Data server
Internet
![Page 6: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/6.jpg)
Hey, this thing is taking off
![Page 7: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/7.jpg)
Data Center
Web server
Data server
Internet
![Page 8: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/8.jpg)
Ok, we can handle that
![Page 9: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/9.jpg)
Data Center
Web server
Data server
Internet
![Page 10: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/10.jpg)
See the pattern?
![Page 11: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/11.jpg)
Problems with this approach
Ties computation with display
Significantly increases load
Significantly reduces opportunity to cache
IT DOESN’T SCALE
![Page 12: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/12.jpg)
But wait, there’s more
Most developers suck at design
Most designers suck at code
We just mixed a huge load of markup and code together in a big, amorphous glop
![Page 13: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/13.jpg)
There’s got to be a better way.
![Page 14: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/14.jpg)
![Page 15: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/15.jpg)
![Page 16: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/16.jpg)
![Page 17: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/17.jpg)
Thin Server Architecture
![Page 18: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/18.jpg)
Wha?
Keeps display and logic separate
Pulls unique information separately
Cache is simpler to implement
Cache reused objects separately from dynamic
![Page 19: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/19.jpg)
![Page 20: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/20.jpg)
![Page 21: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/21.jpg)
What it looks like
![Page 22: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/22.jpg)
BrowserPHPPHP
TSA to PHP developers
MV
C
M
CV
![Page 23: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/23.jpg)
Problems solved
Seperates display from computational work
Simplifies cache implementation
Lowers network latency, bandwidth usage
Users perceive fast, snappy response
Opens the door to rich internet applications (RIA)
![Page 24: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/24.jpg)
![Page 25: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/25.jpg)
![Page 26: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/26.jpg)
![Page 27: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/27.jpg)
Great example: Dojo
![Page 29: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/29.jpg)
TSA is platform agnostic
CODE: You can use Perl, Ruby, Python, PHP, etc.
CLIENT: You can use Dojo, jQuery, MooTools, etc.
DATA: The simpler the better...(next slide, Mitch)
![Page 30: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/30.jpg)
Why develop in an object language, just to stuff mismatched chunks of your objects in a non-object data store?
![Page 31: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/31.jpg)
MongoDBDocument store with speed, scale of key/value and creature comforts of relational systems
![Page 32: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/32.jpg)
What MongoDB can do
Simplifies development
Stores in binary JSON objects
Return data directly to browser in JSON
Store data, binary objects, whatevah!
![Page 33: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/33.jpg)
![Page 34: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/34.jpg)
![Page 35: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/35.jpg)
![Page 36: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/36.jpg)
Time for my favorite gameStump the Nerd™
![Page 37: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/37.jpg)
Great resources
![Page 38: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/38.jpg)
Thin Server Architecture
http://www.thinserverarchitecture.com/
http://www.slideshare.net/rajivmordani/practical-thin-server-architecture-with-dojo-peter-svensson-presentation
![Page 39: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/39.jpg)
Rich Internet Applications
http://en.wikipedia.org/wiki/Rich_Internet_application
![Page 40: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/40.jpg)
Thanks!http://www.spacemonkeylabs.comhttp://www.mitchitized.com
![Page 41: Thin Server Architecture](https://reader034.vdocument.in/reader034/viewer/2022052116/5453d14daf7959a4058b74a6/html5/thumbnails/41.jpg)
Photo credits
Bulldog Frances (stock photo by jaimo)
Cat (stock photo by klsa12)
Sleepy zoo lioness (stock photo by Meeshoo)