Bring Sanity to your!
Frontend Infrastructure!
with EmberJS
@samselikoff
Sam Selikoff
TED
Burlington, VT
Economics, snowboarding, music
A story
Acme, Inc
Web appCodebase
monolith
growth
Data layer Interfaces
API
infrastructure
Backend
Independent
Scalable
Consistent
Frontend
Web appCodebase
Data layer Interfaces
API
js/css libs!
build pipeline!
data layer!
deployments!
testing
?
• Wastes time!
• Hard to share!
• Slows down new devs
Hampers growth
Ember/CLI
Improve!
infrastructure!
today
Discover!
infrastructure!
tomorrow
Today
Less boilerplate
ember new
serve
test
generate
…
Similar!
directory structure
Similar!
architecture
Consistent
answers
Conventions
eliminate trivial differences

that hold us back
Deploys
ember build
wrote a build
script for CI
Index JS CSS
configure

backends
wrote an
addon
ember deploy
Deploy

Server
1. manual!
2. shared script!
3. deploy addon!
4. deploy server
Testing
ember test
xhr
intercpetor
wrote an
addon
Server Client
ember generate

factory product
1. manual!
2. shared script!
3. test addon!
4. clientside server
Redundancies
Abstractions
identify
and
Tomorrow
Staying up to date
semver

+!
CLI conventions
Flexibility
New standards
and best practices
best practices!
standards
Promises!
Rendering layer!
API standards!
ES6 modules!
CLI tools!
FastBoot
Closing
?
Acme was right to

start with a monolith
But they don’t what
their apps will look
like in 5 years
Ember is not 

just a framework
It’s a philosophy
1. Give real devs
the tools to tinker
2. Deliberately fold
in shared solutions
Innovate
Share
&
@samselikoff

Frontend infrastructure (EmberConf 2015)