Khan Klatt, VP of Technology, Salad Labs, Inc.
Infrastructure of the Social Highway
Creators of
#emmecon http://i.khan.org/emmecon-khan
Photo Credit:cafeconlecheporfavor @ Flickr
Agenda
Adding Value
Technology Then & Now
A Deeper Dive
Technology
Process
People
Parting Thoughts
The good news is that more than ever,
value accrues to those that show up,
those that make a difference,
those that do work that matters.
-Seth Godin
Photo Credit:eat more toast@ Flickr
Photo Credit:jacksnell707 @ Flickr
Key Differences between now & 19951. You had to do the full stack, or at least huge part of it.2. Computer hardware was expensive3. Huge lead times to order, receive, install and deploy.4. Programming languages, architectures and frameworks were not as mature
and not as capable.
full stack
Storage vs.Memory/CPU
Magnitude
Time (Years)
Logarithmic Scale!
SaaS = Software as a Service
PaaS = Platform as a Service
IaaS = Infrastructure as a Service
Photo Credit:captpiper @ Flickr
full stack revisited
A Few Thoughts on the Cloud (IaaS)
Benefits:• Speed• Cost• Flexibility• Scalability• Elasticity
Detriments:• Less Control• Costly at large scale• Lower Performance
Photo Credit:paul-vallejo @ Flickr
expensive revisited
“I Meant To Do That!”
Photo Credit:estherase @ Flickr
Photo Credit:m2w2 @ Flickr
If all you’ve got is a hammer…
Ask yourself:
What classes of data do you have?
How consistent does it have to be?
How available does it have to be?
How up-to-date does it have to be?
What’s the breakdown of reads to writes?
What’s your tolerance for operations and DBA overhead?
What’s your tolerance for engineering and development overhead?
How much scalability do you need?
Scalability & The Art of Engine Maintenance at 20,000 feet
As the size and transaction volume of the database grows linearly, response times tend to grow logarithmically.
Typically (but not always) linear growth tends to be fairly flat, meaning logarithmic scale is expensive.
Scale
Cost
Consider the Graph…
Photo Credit:iconolith @ Flickr
Photo Credit:maynard @ Flickr
Batch Processing & Machine Learning(Hadoop, MapReduce, Mahout)
Application Cache(memcached) Web Server
(apache)
Application Server(JVM, Ruby on Rails, Symfony)
Data Persistence(ACID, BASE, or Graph)
Putting It All Together
Web Server(nginex)
Sprint, Don’t Walk, to Agile*
“The chemistry-building manager takes pains to divide the work into pieces and makes sure that each piece has some substantive demonstration of its own completion.
Such a manager may contrive to deliver a product in twenty versions, even though two are sufficient for upper management and the user. It may even be necessary to conceal some of these interim versions from the client, and build them only for internal confirmation and satisfaction.
Each new version is an opportunity for closure. Team members get warmed up as the moment approaches, they sprint near the very end. They get a high from success. It suffuses them with renewed energy for the next step. It makes them feel closer together.”
Tom DeMarco & Timothy Lister, PeopleWare, 1987
* Unless you are literally going to Mars! Photo Credit:lowercolumbiacollege @ Flickr
Creators of
Personal Contact:• Twitter: @khanklatt • Blog: http://www.khan.org• LinkedIn: khanklatt
VP of Technology at Salad Labs, Inc.http://www.saladlabs.comhttp://www.popsalad.com
Photo Credit:vernhart @ Flickr