Thanks
What does it all mean???
=
Web
Manage it all
Background
Analysis
Phillip Campbell
Jess Merriman
Steve Reynolds
Cool Kids in the Back Row
CIS 8020 - Volksota Engines
More Background
Background
Bold move for the brand to
open up to web
Enable everyday average programmer
to create mashups
Economic Downturn
Reduce Operational Costs
-Facilitate competition between vendors
Traffic
Open up large amounts of data, normally considered to be highly
secret and proprietary
Penetrating the web
Awesome Design Discussion/
Justification/
Explanation/Whatever of Roles
General problem is not unique
Up time
Variety of Markets
Support new and emerging
technologies and techniques
Age of Data
JSON
Open ID
REST
Reliability
Speed
Support old and dumb stuff
Facilitate Mashups
Vendors
XML
SOAP
Load
Performance
Point of Sale
Growth
Interesting data
Unrestrictive EULAs
(the absolutely most exciting part)
Scalability
Cost effectiveness
Technology Background
Java Stack
Centralized Server for Business Intelligence
Various vendors and scattered providers for web identities
Financial information stored regionally
Load Balancer
Load
balancer
Distribution of load
Round Robin
Load Reporting
Polling (response time)
Smart (connection count, some awesome algorithm)
Can be placed in multiple geographic locations for improved localized latency
Cachers
Cachers
Reduce need of downstream resources
Increase speed
Key Value Store
-URL Path
-In Memory
Non persistant (typically)
Load Balancer
Load
balancer
Same as before!!~!
One server instance dedicated to controlling all others
-Automatic Bootstrap
-Push changes to all of a role
Periodically tests health of all servers
-Automatic Provisioning
-Fill needed Roles
-Needed Capacity
-Server Failure
Every role serves one purpose so that it can easily be replaced (automatically)
The management role can even be duplicated for redundancy
Can be split up into multiple LBs
Application Server
App
Servers
The core!
Does the processing, the authentication, serves content, etc.
Roles can be split up
Does all the Grunt work
In typical small website/service, this is the only server in play
Plenty of capacity to serve data for mashups
Reliable enough to host APIs for vendors
Quickly Scalable to accomodate for demand
Down Scalable for non-peak times
(semi) Automated scaling and fault tolerance
Ability to create instances for one-off tasks
Ability to be based on an open source platform
Database Server
DB
Cluster
Houses Data
Scale vertical/horizontally
Database Middleware/Message Queue
Interact with existing systems
Can interact cross platform/completely different environment
Pass off tasks to existing systems
DB
Middleware
Message
Queue
Previously mentioned existing systems
Existing DB/Infrastructure