Heroku @ Toyota Motor Europe: Platform As A Factory As A Service

Post on 12-Jul-2015

181 views 0 download

Tags:

Transcript of Heroku @ Toyota Motor Europe: Platform As A Factory As A Service

Heroku @ Toyota Motor EuropePlatform As A Factory As A Service

@raymcdermott

What’s wrong with this picture? Where is the customer? As a small aside you should cherish pictures of cars with people - they’re rare!

This is better … but now we can go beyond the forecourt….

Connected technology changes the game… If software is eating the world, let’s use it to track understand and serve the customer better than ever before

Research and Development

Manufacturing

Supply Chain

Distribution

R & D = Software development Supply Chain = Commercial and OSS libraries, frameworks, databases, etc… Manufacturing = Data Centre or Cloud Distribution = Network

Factories produce things in a reliable, repeatable and scalable fashion We need to be sure that developers use designs and architectures that are ready to be scaled up and down

.NET

XML

File system

Subversion

Manual deploy

SCOM

node.js

JSON

MongoDB & S3

Git

CI / Automated deploy

New Relic

Architecting for the factory - everything needs to be re-evaluated .NET -> JS … .NET relies too heavily on a Monolithic OS XML -> JSON … XML requires too much CPU to parse (and needs to be parsed) Disk -> Mongo … File system dependencies are too brittle (disk full anyone?) Subversion -> Git … Agile workflow Low to no resistance to migrate stacks …same devs

Factories are built on the basis of plentiful supplies of water, energy and workers On premise (difficult, ongoing business case) Off premise (options amongst the cloud vendors) Toyota globally and TME in Europe use a variety clouds so we need to retain choice and flexibility

Heroku - because True PAAS, Ecosystems, Tools, Platform REST APIs Open source build system, Based on AWS with EU deployments Architectural insights (12Factor, esp LXC), Corporate buy-in from Salesforce

We start 2+N apps per country - all the same, or different :) for example… we can deploy rolling versions and be sure that our new code is trialled in one or a handful of countries before all of them We can ask Heroku to manufacture (web or worker) Java, JavaScript or NGINX dynos

Q & A